Table Of Contents
- Origins of UTM, what does it stand for?
- Helper definitions for UTM fields
- Considerations regarding UTM link structure
- General ways UTMs are used in marketing
- Capturing UTMs into Pardot prospect records
- NATIVE: Pardot native UTM functionality
- Understand how Pardotās native UTMs are meant to work and any limitations
- Field Definitions for Pardot UTM Fields in Salesforce
- Considerations regarding Pardotās native UTMs and how they work
- Why Pardotās native UTMs may not be working for you
- CUSTOM: Extend UTM functionality in Pardot using a custom set up
- Benefits of using a custom UTM set up in Pardot
- Methods for capturing custom UTM data for a new or existing prospect into Pardot
- General considerations when using a custom set up to extend UTM functionality in Pardot
- Considerations for custom Pardot UTM set up using tracking links (custom redirects)
- Considerations for custom Pardot UTM set up using forms
- UTMs and Pardot form handlers
- Setting up custom UTM functionality in Pardot
- Create custom UTM fieldsStructured data recommended for certain UTMs
- First or last touch, or both?
- Extend UTMs into Salesforce Campaigns for Multi-Touch Attribution
- Use Salesforce Flows for detailed Salesforce Campaign reports
- Using Flows to update Last Touch UTM data
- Using Flows to enhance Salesforce Campaigns with UTM data
- NATIVE: Pardot native UTM functionality
- You have UTM data, now what?
- Go beyond UTM capture and assign UTM data using a custom setup
- Link and form completion actions
- Use UTMs in Automation Rules and Engagement Studio
- Typical use case examples of using custom UTM fields (we use all of these with clients!)
- Summary
- Resources
Origins of UTM, what does it stand for?
All great marketers use UTM parameters in links to monitor and understand where traffic is coming from, and to easily identify popular content, be it web pages, resources or other content. UTM stands for Urchin Tracking Module and harkens back to the early 2000s, when a company called Urchin Software was arguably the leader in web analytics (try bringing that one up at a Trivia party).
Urchin offered a relatively easy and affordable tool for measuring web traffic. In 2005 Google acquired Urchin Software but the TLA (three letter acronym) from Urchin lives on in the UTM.
The original use of UTMs comes from Urchin Software dating back to the early 2000’s. And YES, I was using UTMs way back then!
Helper definitions for UTM fields
-
- Website URL* the full source website URL, e.g.:
- Source* (utm_source) is the referrer/provider/platform (e.g. googleads, google, newsletter, twitter) (required)
- Medium (utm_medium) is marketing medium/channel: (e.g. cpc, banner, email, social)
- Campaign Name (utm_campaign) is product, promo code, or slogan (e.g. spring_sale)
- Campaign Term (utm_term) identify the paid keywords, used for paid search; use utm_term to note the keywords for this ad (e.g. running+shoes)
- Campaign Content (utm_content) use to differentiate ads, used for A/B testing and content-targeted ads; use utm_content to differentiate ads or links that point to the same URL (e.g. logolink or textlink)
- Resulting LINK (Destination URL) including UTM parameters for publishing might look something like this: http://www.yourdomain.com/campaigns/2020-12-spec-campaign/&utm_source=adwords&utm_campaign=2020_spec_campaign&utm_medium=ppc&utm_term=s1000d&utm_content=2020-02-09
Considerations regarding UTM link structure
- UTMs come in “value pairs”, meaning you’ll use a UTM parameter like utm_medium and assign it a value within the URL “string”, i.e. utm_medium=email.
- Google Analytics is case-sensitive, so use all lower case in UTM data so your reporting will be consistent and work across platforms.
- It’s a good idea to use lower case field names for any custom UTM fields, i.e. utm_source and utm_medium.
- Use hyphens in UTM data instead of spaces between words, i.e. &utm_campaign=2024-q3-auto-dealer-trade-show.
- In Google Analytics, the utm_source URL parameter is mandatory when youāre trying to capture campaign parameters. Even if your URL has utm_campaign and utm_medium on it, GA will not capture the Campaign and Medium data if you are missing utm_source. If your Google Analytics tagged campaigns are not capturing Campaign / utm_campaign data, then it might be because of a missing utm_source parameter (this can also occur because of a malformed utm_source, i.e. āMy%20Favorite%20Marketā).
- Here is an example of a UTM structure within a link, known as a link with UTM parameters, where source equals news, the medium is email and the campaign is spring-summer: https://example.com?utm_source=news4&utm_medium=email&utm_campaign=spring-summer
General ways UTMs are used in marketing
To get valuable insights, add UTM tracking to any inbound links pointing to your website, or even within your website to other resources. Use UTM parameters on:
- Links to your landing pages. Find out which channels send traffic with the highest conversion rates by using unique UTM parameters on all inbound links to your landing pages.
- Links to your articles/blog posts. When you start external promotions of articles or blog posts, add UTM parameters to your links so that you can see which posts send the most traffic back to your site.
- Links to your content that you share on social media. See what channels and content in your social media marketing strategy drive the most traffic to your site by tracking shared URLs.
- Links in your email newsletters. Discover what content attracts the most clicks in your emails by tracking each CTA link with its own UTM parameter.
- Links for display ads. If you run pay-per-click marketing campaigns, set parameters that identify banner size and type to see which display ad performs best.
- Links in guest posts. When you publish posts on guest blogging sites with links to your site, add unique UTM parameters to track the traffic coming from each unique guest post.
Capturing UTMs into Pardot prospect records
There are two types of UTMs available in Pardot: native and custom.
NATIVE: Pardot native UTM functionality
Pardot has native functionality built-in that captures first touch only, and only for new prospects.
Take advantage of Pardot’s native UTM functionality for prospects who don’t yet have UTM data populated by simply enabling the Google AnalyticsĀ (GA) connector in Pardot.Ā
With the Google Analytics connector enabled Pardot can attribute UTM data to a new Pardot prospect record without any additional set up required.
This can be based on a prospect clicking a link containing UTM parameters from your campaigns, or even from another source like a vendor referral link; in other words it doesn’t need to be a Pardot tracking link (custom redirect).
This also works well by using a Pardot tracking link with assigned UTM parameters so long as it’s the prospect’s first touch point.
Understand how Pardot’s native UTMs are meant to work and any limitations
Before you start investigating why Pardot’s native UTMs aren’t working, be sure to understand how Pardot’s native UTMs are meant to work so you’ll know if something is wrong or not.
When enabling the Pardot Google Analytics connector Pardot will create five system-based UTM fields.
Field Definitions for Pardot UTM Fields in Salesforce
Considerations regarding Pardot’s native UTMs and how they work
- Pardot’s native UTM functionality only works for new prospects.
- Pardot’s native UTM functionality only captures UTMs from a prospect coming to your Pardot tracked website from a link with UTM parameters for the very first time.
- Pardot’s native UTM functionality requires the Google Analytics connector to be set up and active in Pardot.
- When enabling the Google Analytics connector Pardot will create five system-based UTM custom fields (i.e. Google Analytics Medium, utm_medium).
- If you are using UTM parameters to populate Google Analytics’ source field, this will also populate the default Source field in Pardot. Pardot looks for the parameter “utm_source” to find the appropriate value. The “utm_source” value captured by Google Analytics parameters populates the Source field in the Google Analytics section of a prospect record. It can also be set for the default Source field.
- If Google Analytics Source (utm_source) exists it will override Pardot’s default “Source” field (derived from Referral source) data capture.
- When an existing prospect clicks a tagged link, their campaign does not update, and the Google Analytics section of their record doesnāt populate.
- The “utm_campaign” value captured by the Google Analytics parameters populates the Campaign field in the Google Analytics section of a prospect record. It is not set for the Pardot Campaign field unless āAutomatically create Pardot campaigns and associate prospects to Pardot campaigns from Google Analytics campaignsā is enabled.
- Sync behavior for Pardot’s Google Analytics fields is set to use Pardot’s value, and can’t be changed.
- Pardot’s native UTMs do not work for prospects using incognito mode.
- Reporting relies on Google Analytics or Pardot dynamic lists filtered on UTM values since there is no link tracking reporting available except for a very basic Pardot Custom Redirect report.
- Native UTMs are not directly supported within journeys (Engagement Programs) as conditions. However, see the next bullet point…
- Lists support native UTMs. You can use lists as conditions within journeys for paths based on native UTMs. UTMs are not accessible directly in journeys, UTMs are only accessible via lists or automation rules using ‘Visitor Google Analytics Parameter’ condition. This means that to react to certain UTMs values within a journey you would need to create a list and use that list as condition within a journey.
- There are a few nuances involved if you enable the optional setting to allow the connector to automatically create Pardot campaigns for the values being grabbed by the utm_campaign field.
- The GA campaign will trump the Pardot campaign that would have otherwise been captured for a prospect.
- If your’e using Pardot Salesforce Connected Campaigns this setting results in many extra campaigns getting created for utm_campaign that may require extra manual handling to bring those campaigns into conformity with the rest of your campaigns (no Parent Campaign, Start Date, Cost, etc. unless you go back and update the campaigns in Salesforce later).
Workflow of Pardot’s native UTM capture functionality
Note: On capturing data int the utm_source field, it will populate the Pardot Source field if it is empty.
Why Pardot’s native UTMs may not be working for you
Some of our customers have been known to reach out thinking their connector isnāt working because the Google Analytics fields arenāt populated on all prospects, but this doesnāt mean the Google Analytics connector is not working. The main issue here is that the Pardot Google Analytics connector only grabs UTM values for the first prospect interaction. Existing prospects will NOT have these values retroactively populated.
Here are some explanations for why sometimes your Pardot UTM data may be empty:
- If the prospect triggers the Pardot tracking code in any capacity beforehand (before clicking a link to your website with UTM parameters), the UTM info wonāt populate. For example, prospects that already existed in Pardot.
- Visitors who had viewed other Pardot-tracked pages before clicking on your link with UTM parameters won’t collect first touch UTM data in Pardot.
- Be sure to always at least capture utm_source, if that doesn’t exist as a UTM parameter in your link no other UTM values will be captured even if they exist in your link (at least this is how Google Analytics work, not sure if it is the same for Pardot).
- Ensure that your Account Engagement tracker domain is SSL-enabled.
- If you are using the Google Analytics connector, make sure auto-tagging is disabled in Google Analytics. If auto-tagging is enabled, Google compiles information into a gclid parameter (Google Click ID related to Google Ads) that Account Engagement can’t read.
- It is possible for the tracking code on the page to load before the link with UTM parameters, causing the first touch rule not to capture link UTMs (if this becomes a problem move your Pardot tracking code to before the end body tag in your website rather than in the page header).
- Be sure you have the Google Analytics connector enabled in Pardot.
- We recommend using a different browser when testing so you don’t confuse Pardot cookies, but do not test using incognito mode since Pardot cookies (which are required for prospect tracking) will not be recognized.
Pro Tip: Using lists as conditions within journeys for paths based on native UTMs can be a great way to normalize your custom UTM data (i.e. if utm_source = “google organic” then set utm_source_custom to “search-engine”).
CUSTOM: Extend UTM functionality in Pardot using a custom set up
You can extend Pardot’s limited native UTM data and functionality by using a custom set up that can attribute UTM data to a new or existing prospect record.
Note the big difference here compared to Pardot’s native functionality is that our recommended custom set up also works for existing prospects!
A custom UTM tracking set up works for new prospects but can also work for existing prospects, making it a far more flexible option. It’s not necessary to use the Google Analytics connector when using custom UTM tracking (but it is recommended to keep that enabled so you can also take advantage of Pardot’s native UTM capture functionality).
Benefits of using a custom UTM set up in Pardot
- Extends Pardotās native UTM data and functionality.
- DoesĀ notĀ need to be the prospectās first touchpoint, so more flexible and generally more reliable than Pardotās native solution.
- Works for existing prospects.
- Using a custom UTM tracking method enables Pardot to be more consistent in capturing the first touch point (since Pardot’s native UTM data capture is quite inconsistent due to many factors), and using a custom UTM tracker method can also enable capturing beyond the first touch point with multi-touch attribution.
- Capture more than just the first touch point, i.e. the beginnings of multi-touch attribution.
- Custom field UTMs are directly supported within journeys, lists, and automations.
- Can set up pre-defined UTM structures and workflows for use within automations and journeys, i.e. UTM assignment.
- Reporting via Salesforce campaigns, Pardot lists, Tableau, and Google Analytics.
- Does not require the Google Analytics connector set up in Pardot.
Methods for capturing custom UTM data for a new or existing prospect into Pardot
- LINKS: When a prospect clicks a Pardot tracking link (custom redirect) with assigned UTM parameters from your campaigns.
- FORMS: When a prospect submits a Pardot form (requires additional set up).
Workflow of custom UTM setup in Pardot
General considerations when using a custom set up to extend UTM functionality in Pardot
- You can extend Pardot’s native UTM data and functionality by attributing UTM data to a new or existing Pardot prospect record based on a prospect clicking a Pardot tracking link (custom redirect) with assigned UTM parameters from your campaigns or via form submission (this does not need to be the prospectās first touchpoint).
- Requires setting up custom fields in Pardot.
- Fields and prospects must be synced from Pardot to Salesforce for UTM reporting to be available from Salesforce.Ā
- Use lower case field names utm_source and utm_medium for more consistent reporting and alignment with Google Analytics.
- Option to have additional Completion Actions for each tracking link or form (i.e. add prospect to Salesforce Campaign), and even option to use conditions for your Completion Actions, i.e. assign utm_first_touch_source only if empty.
- Option to set up specific UTM structures and use them within lists, automations, and journeys to better track Lead Source using custom Lead Source field in tandem with utm_source field, mapped via automations.
Considerations for custom Pardot UTM set up using tracking links (custom redirects)
- A unique tracking link is needed for every needed UTM combination that you want to track (ask about the UTM Link Creator we built that helps a lot with this and keeps your UTM links standardized).
- The Pardot tracking link can be with or without UTM parameters depending on how you use it, i.e. you can can assign UTMs via completion actions rather than using UTMs in the link itself.
- Completion actions need to be set for each tracking link.
Considerations for custom Pardot UTM set up using forms
- Capturing UTMs via Pardot forms requires scripts be added to your forms and to your web pages that are hosting any Pardot forms (script provided below in this article).
- Custom UTM functionality requires Javascript code be added to all web pages containing Pardot forms, including Pardot landing pages, to pass UTM data from the parent web page to the embedded iframed Pardot form containing the hidden form fields.
- Add Javascript code to the Pardot Layout Templates used for Pardot forms (recommend adding your script to Pardot Layout Templates being applied to forms rather than adding scripts to every form).
- You will need to create custom UTM fields, and hide them on Pardot forms. Five hidden UTM fields will need to be added to every Pardot form.
- Requires prospectās browser to support Javascript for this to work.
- Recommend testing after implemented.
Pro Tip: There is a way to pass UTM data (or any kind of data) to a Pardot form or form handler for existing prospects who click on an email link sent from Pardot.Ā This works even for prospects who have not yet ‘converted’ by submitting a Pardot form; perfect for following up on lead lists like trade show attendees! You can even use this process to pre-populate data into a Pardot form (ask us for more info).
UTMs and Pardot form handlers
Another use case for the hidden UTM form fields may be to capture first touch UTMs from a form on an external website, and send the data to Pardot using a Pardot form handler to capture the data into the prospect record.
This set up is nearly the same as any normal Pardot form handler. Like with Pardot forms, native UTM parameters only track new prospects and need the five UTM hidden fields on the form handler, and a custom UTM set up can track new or existing prospects, and would also need the five UTM custom fields and hidden UTM form fields added to the form handler. In addition, the form on the external website needs to pass UTM parameters properly to the form handler in the URL string on form submit.
Setting up custom UTM functionality in Pardot
For the most part, set up for tracking custom UTMs in Pardot is a one time process.
Create custom UTM fields
For your custom UTM tracking set up in Pardot you’ll need to create several custom fields to capture the UTM data; you can keep it simple with just the five standard UTM fields (i.e. utm_source), or take it a step further by also adding utm_first_touch_source and utm_last_touch_source, etc.
Decide if you also want to sync certain UTM fields to Salesforce leads/contacts.
Structured data recommended for certain UTMs
With custom UTM tracking it’s a good idea to optionally set up structured data for what values you’ll allow within your UTM fields so that they conform to your desired data structure, not letting just any open text value be assigned (based on pre-defined values that you’ll apply as UTM parameters to your links).
We recommend setting up structured values using dropdown fields for Source and Medium only, and leave the remaining UTM fields as open text.
There are various free UTM link builders available, including one from Google: Google Campaign URL Builder (UTM code generator), and we even built our own “UTM Link Builder by Optimal Business Consulting” using Airtable that works extremely well for us and that we customize for our clients (contact us for more info).
First or last touch, or both?
Do you want to capture first touch AND last touch? If you have also created the custom UTM fields in Salesforce and mapped them in Pardot, the sync behavior setting of your custom UTM fields can be used to determine if new data captured into the fields in Pardot will overwrite any existing data in Salesforce. That way you can use field level sync behavior to effectively control whether the UTM fields are based on:
- First Touch: Make Salesforce the master in the field sync behavior setting so Pardot will not write over existing data, thus preserving first touch data.
- If you want to capture first touch set UTM field level sync behavior to Salesforce controls the field. That way once Pardot collects the UTM data and syncs it to Salesforce, Pardot will overwrite a blank value in Salesforce with the UTM data. Then if Pardot collects additional UTM data and tries to sync it to Salesforce, and if the Salesforce field already contains data, then Salesforce controls the field and will not allow Pardot to overwrite it on sync, thus preserving the first touch UTM data in Salesforce for reporting purposes (Pardot will however still contain the latest or last touch data).
- Last Touch: Make Pardot the master in the field sync behavior setting so Pardot can write over existing data with the latest last touch data.
- If you want to capture last touch set UTM field level sync behavior to Pardot controls the field. That way EVERY TIME Pardot collects new UTM data it will sync the latest data to Salesforce and Pardot will overwrite any existing value existing in Salesforce, thus always capturing the latest or last touch UTM data.
Extend UTMs into Salesforce Campaigns for Multi-Touch Attribution
Integrate your UTM tracking process from Pardot with Salesforce campaigns
- Prospects can belong to more than one Salesforce campaign, which provisions for going beyond first touch, last touch.
- For accurate reporting make sure that prospects associated with Salesforce campaigns are syncing properly between Pardot and Salesforce.
- Use custom campaign member status for tracking engagement, i.e. UTM Source Campaign > Status: Home & Garden Trade Show.
- Can be extended to the account level.
- Built-in Salesforce reports, including hierarchical and role up campaign reporting.
- Campaign Status.
- Start and end dates.
- Cost and ROI analysis.
- UTM fields can even be added directly to Salesforce campaigns (actually to the Salesforce Campaign Member object) for tracking UTMs directly to each campaign. This requires a Salesforce Flow to stamp the UTM data from the contact/lead in Salesforce to the Salesforce Campaign Member object for reporting from Salesforce (more on this below).
Use Salesforce Flows for detailed Salesforce Campaign reports
You can also manage first or last touch points with additional control using automations via Salesforce Flows.
Incorporating these extra steps, going beyond just field sync rules by using Salesforce Flows to manage UTM data, ensures the last touch UTM fields are properly populated with the latest data and also enables you to greatly enhance your campaign reporting with UTM detail.
Using Flows to update Last Touch UTM data
Since Pardot will always capture UTM data to the standard UTM fields (i.e. “utm_source”) and other similar fields, it is generally best practice to also have a Salesforce Flow to copy the standard UTM field data to the last touch UTM fields by copying the latest lead/contact UTM data every time it changes.
Using Flows to enhance Salesforce Campaigns with UTM data
If you have access to create a new Salesforce Flow, create a Salesforce Flow to capture utm_source data on a Salesforce Campaign Member Record to allow for detailed Salesforce Campaign reports by utm_source at the campaign level (see Resource links below for an excellent article on how to set that up).
Pro Tip: Take things to another level by using a Salesforce Flow to assign UTMs that were captured onto the contact record to be stamped onto UTM custom fields on the campaign member object of your Salesforce campaigns (your attribution reporting can reach an amazing place if you do this).
You can even extend your Salesforce Flow to capture utm_source_first_touch and utm_source_last_touch (provided you created those fields on the Salesforce Campaign Member Record in advance).
You have UTM data, now what?
Ways to use UTM data in Pardot
Source, medium, and campaign are valuable data points for reporting and analyzing what lead generation methods are working or not working.
Go beyond UTM capture and assign UTM data using a custom setup
Link and form completion actions
You’ll probably want to assign a source or campaign or other UTMs conditionally, based on link click or form submit using completion actions at the asset level (i.e. links and forms).
Use UTMs in Automation Rules and Engagement Studio
Use UTM fields and values as criteria within lists, automations and journeys. Using automation rules and journeys you could add prospects to targeted nurture campaigns that send content related to their initial interest based on first touch and also their continued interest based on last touch UTM values.
You can also apply lead routing/assignment rules based on UTM source, campaign, etc.
With automations and journeys you can create conditional logic and actions based on existing UTM data, or capture UTMs based on conditions like which form was submitted, which CTA was clicked, which campaign was involved, etc.
Typical use case examples of using custom UTM fields (we use all of these with clients!)
- Create First Touch and Last Touch UTM fields to track first and last touches as one time only UTM information.
- Use custom scripts on forms and landing pages to capture UTM information into Pardot forms and form handlers within hidden form fields (works for new or existing prospects). (Link to script provided below in this article).
- Pass UTM information from a link to a Pardot form or form handler for adding UTM data onto a prospect record.
- Pass UTM information from third party forms to a Pardot form handler for processing.
- Use completion actions on forms, tracking links, and within automations and journeys to assign UTM information based on triggers like specific web pages visited, links clicked, or campaigns responded to.
- Set up automations to capture First Touch, Last Touch, and even ongoing UTM engagement by keeping a running log of all UTM engagement via a UTM Engagement Log custom field in Pardot. By creating UTM log fields in Pardot that allow multiple responses, you are effectively removing the restriction of one time only UTM information by keeping a running log of each UTM data point based on conditions met or activity triggered (UTM log fields can be queried on later within lists, automations, and journeys and made actionable, but arenāt great for Salesforce reports since not structured data).
Ā
Summary
There are multiple ways to capture UTM data with Pardot including Pardot’s native solution, and custom solutions involving tracking links, forms, Salesforce campaigns using Member Status, Salesforce campaigns using custom fields, and Salesforce campaigns using custom fields on the Member object.
We recommend starting with a basic First Touch solution, then decide which process might work best for you as you grow.
Using Pardot tracking links is an easy way to start custom UTM data capture and can get you a lot of what you need. Moving into Pardot forms for UTM capture requires more setup but is very useful for new and existing prospects. And using Salesforce campaigns takes more plannning and more access to Salesforce, but will yield better reporting in the long run.
Resources
- Passing URL parameters from browser to iframe in Pardot (Salesforce help file)
- Tracking Lead Source in Account Engagement (Salesforce help file)
- How to Pass UTM Variables to a Pardot iframe (Marcloud)
- How (and Why) to Stamp UTMs on Campaign Member Records in Salesforce (Align.ly)
- How to Pass UTM Values from Cookies to Hidden Fields in a Form (Align.ly)
- HandL UTM Grabber / Tracker (WordPress plugin)
0 Comments