Using and extending Google UTM parameters in Pardot

by | Last Updated: Mar 7, 2024 | Blog, Data management, Featured, Pardot | MC Account Engagement, Quick tips, Solutions

What is UTM and what does it stand for?

All great marketers use UTM parameters 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. 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. Below is an example of a UTM within a link, known as a link with UTM parameters, where source equals news, the medium is email and the campaign is spring-summer.

Urchin Software

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!

Capturing UTMs into Pardot prospect records

There are 2 types of UTMs available in Pardot: Native and custom

Pardot native UTM functionality

Pardot has native functionality that captures first touch only, for new prospects only. With the Google Analytics (GA) connector enabled Pardot can attribute UTM data to a new Pardot prospect record. This can be based on a prospect clicking a link containing UTM parameters from your campaigns. Or, if it’s the prospect’s first touch point, via a Pardot tracking link (custom redirect) with assigned UTM parameters. If the prospect triggers the Pardot tracking code in any capacity beforehand, the UTM info won’t populate. For example, prospects that already existed in Pardot. Or, visitors who had viewed other Pardot-tracked pages before clicking on your link with UTM parameters.

Google Analytics connector


  • 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 system-based UTM fields (i.e. Google Analytics Medium).
  • Does not work for prospects using incognito mode.
  • Native UTMs are not directly supported within journeys (Engagement Programs) as conditions.
  • Lists support native UTMs. You can use lists as conditions within journeys for paths based on native UTMs.
  • 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.
Definitions for Pardot UTM fields in Salesforce as created by the Google Analytics connector

Field Label:         Google Analytics Source

Object Name:    Lead

Field Name:        utm_source

Data Type:          Text

Namespace Prefix:          pi

API Name:           pi__utm_source__c

This Custom field definition is managed, meaning that you may only edit certain attributes in Salesforce.

Custom field definition Salesforce

Custom UTM functionality extended to Pardot

Extend native UTM data and functionality by attributing UTM data to a new or existing prospect record when a prospect clicks a Pardot tracking link with assigned UTM parameters from your campaigns. Or, collect UTM data for a new or existing prospect record when a prospect submits a Pardot form (requires additional set up). Using a custom UTM tracker method ensures it captures more than just the first touch point. It also works for existing prospects, making it a more flexible option. It’s not necessary to use the Google Analytics connector when using custom UTM tracking. With custom UTM tracking you can set up pre-defined UTM structures and use them within lists, automations and journeys. This allows you to assign a source or campaign conditionally, based on link click.


  • Capture more than just the first touch point
  • Works for existing prospects
  • Can set up pre-defined UTM structures for use within lists, automations and journeys
  • Does not rely on Google Analytics connector


  • A unique tracking link is needed for every needed UTM combination that you want to track
  • Completion actions need to be set for each tracking link
  • Custom fields need to be set up in Pardot (one time)
  • Custom field UTMs are directly supported within journeys, lists, and automations

Pardot UTM custom fields

First or last touch? If you have also created the custom UTM fields in Salesforce and mapped them in Pardot, the sync attributes of your custom UTM fields can 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 to effectively control whether the UTM fields are based on first or last touch, or you can manage first or last touch points with additional control using automations.

Typical use case examples of using custom UTM fields (We use all of these!)

  • Set up automations to capture First Touch, Last Touch, and even ongoing UTM Engagement which could keep a running log of all UTM engagement via UTM Engagement Log field.
  • Use custom scripts on forms and landing pages to capture UTM information into Pardot forms within hidden form fields (works for new or existing prospects).
  • Pass UTM information from third party forms to a Pardot form handler for processing.
  • Use completion actions to assign UTM information based on triggers like specific web pages visited, links clicked, or campaigns responded to.

Integrate your UTM tracking process from Pardot with Salesforce campaigns to extend UTMs even further with the benefits provided by Salesforce campaigns:

  • Prospects can belong to more than one campaign, which provisions for going beyond first touch, last touch
  • Custom campaign member status for tracking engagement levels
  • Can be extended to the account level
  • Built-in Salesforce reports, including hierarchical and role up reporting
  • Campaign Status
  • Start and end dates
  • Cost and ROI analysis
  • UTM fields can even be added to Salesforce campaigns for tracking UTMs directly to each campaign

How 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.

Automation rules and engagement studio

Using automation rules and journeys you could add prospects to targeted nurture campaigns that send content related to their initial interest based on UTM values. You can also apply lead routing/assignment rules based on UTM source, campaign, etc.

Pardot tracking link that use Pardot custom UTM functionality
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 with assigned UTM parameters from your campaigns (this does not need to be the prospect’s first touchpoint).
    • Extends Pardot’s native UTM data and functionality.
    • Does not need to be the prospect’s first touchpoint, so more flexible and perhaps more reliable than native solution.
    • Does not require the Google Analytics connector set up in Pardot.
    • Requires unique Tracking Link for every needed UTM combination that you want to track.
    • Requires setting Completion Actions in each Tracking Link.
    • Requires setting up custom fields in Pardot (recommend setting up structured values using dropdown fields for Source and Medium only; use lower case field names utm_source and utm_medium).
    • Custom field UTMs are directly supported within journeys, lists, and automations.
    • Option to have additional Completion Actions for each Tracking Link (i.e. add prospect to Salesforce Campaign).
    • Option to set up specific UTM structures and use them within lists, automations, and journeys (i.e. better track Lead Source using custom Lead Source field in tandem with utm_source field, mapped via automations).
Pardot forms

Take advantage of Pardot’s native UTM functionality for prospects who don’t yet have UTM data populated, or a custom UTM setup with more flexibility by using hidden UTM form fields to capture UTMs from a Pardot form into a new or existing prospect record. Remember that native UTM functionality only tracks new prospects. Five hidden UTM fields will need to be added to every Pardot form.

Pardot forms with hidden UTM fields

Hidden UTM fields on Pardot form

Custom UTM functionality can be used with new or existing prospects and you will need to create custom UTM fields, and hide them, on Pardot forms. 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.

Considerations when using UTM in Pardot forms
  • Native:
    • New prospects only.
    • Need to add 5 hidden UTM form fields to every Pardot form.
  • Custom:
    • Extends Pardot’s native UTM data and functionality.
    • New or existing prospects.
    • Need to create custom UTM fields in Pardot.
    • Need to add hidden custom UTM form fields to every Pardot form.
    • Requires Javascript code be added to all web pages containing Pardot forms to pass UTM data from the parent web page to the embedded iframed Pardot form containing the hidden form fields.
    • Requires Javascript code be added 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).
    • Requires prospect’s browser to support Javascript.
    • Recommend testing after implemented.
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. Like forms, native UTM parameters only track new prospects and need the five hidden fields on the form handler. Custom UTM can track new or existing prospects, also need the five UTM custom fields and hidden UTM form fields. In addition, the form on the external website needs to pass UTM parameters to the form handler.

Considerations for using UTM in Pardot form handlers
  • Native:
    • New prospects only.
    • Need to add 5 hidden UTM form fields to every Pardot form handler.
  • Custom:
    • New or existing prospects.
    • Need to create 5 UTM custom fields in Pardot.
    • Need to add 5 hidden UTM form fields to every Pardot form handler.
    • Requires the form on the external website to pass UTM data to the Pardot Form Handler.
    • Requires testing.
UTM tips and resources
  • Use hyphens in UTM data instead of spaces between words
  • Google Analytics is case-sensitive. Use all lower case in UTM data.
  • The utm_source field will populate the Pardot source field if it is empty.
  • The GA campaign will trump the Pardot campaign that would have otherwise been captured for a prospect.
  • 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.
  • 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. 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).
  • Create UTM log fields in Pardot that allow multiple responses, 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).
  • Create campaign hierarchy for each type of touch source (Clicks > PPC > GoogleAds > 2022 > Spring Campaign).
  • Align campaign types with marketing automation channels (PPC, webinar).
  • Consider using Salesforce Campaigns with custom Member Status to align UTMs (i.e. Campaign Member Status) provided you knew ahead of time what values you would be using in UTMs, such as structured like a picklist, with finite choices; each Salesforce Campaign could capture one field, i.e. Source with maybe your top 10 sources.
Helpful definitions for UTM fields

For reference

Passing URL parameters from browser to iframe in Pardot (Salesforce help file)

How to Pass UTM Variables to a Pardot iframe

About the Pardot rename

In April 2022, Salesforce announced the rebrand of Pardot to Marketing Cloud Account Engagement. While the rebrand unfolds and the world adapts to the new nomenclature, we'll typically keep the Pardot name in our blog posts.

There are several permutations of the new name being thrown about, so you may see us use any one of them as things evolve:

  • Pardot
  • Marketing Cloud Account Engagement
  • Marketing Cloud Account Engagement (Pardot)
  • MCAE
  • MC Account Engagement
  • Account Engagement by Pardot

Content Satisfaction Survey

We value your feedback. You may remain anonymous if you like.


Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe to our Blog

Follow Us

Latest Posts

Does migrating marketing automation or CRM platforms actually pay off?

Are you thinking about migrating Marketing Automation or CRM platforms and wondering if it’s worth it? Will your company/organization be better off in the long run if you migrate MAP and/or CRM platforms? Download our ‘Marketing Automation & CRM Platform Migration Checklist‘ Google Sheet as a valuable resource to give you some things to consider before making the jump.

Quick Tip: Syncing HubSpot with Salesforce Do Not Email

If you are connecting HubSpot with Salesforce and setting up HubSpot to sync with Salesforce, you don’t want to map the ‘Marketing contact status’ field directly to Salesforce’s ‘Do Not Email’ (DNE) field; those fields will not sync the proper values based on how they are intended to work.

Trending Posts

Subscribe to our articles

Like this article? Comment with your feedback below, and subscribe for all the latest helpful information.

Apply to be a Guest Poster if you are interested in writing one or more articles for our blog. To qualify you must be a subject matter expert that aligns with one of our current blog categories.

Related articles…