Using and extending Google UTM parameters in Pardot

by | Last Updated: Jul 17, 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 two 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 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.

Why Pardot UTMs may not be working for you

There are some basic 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.
  • 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 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 tracking code to before the end body tag rather than in the page header).
  • Be sure you have the Google Analytics connector enabled.
  • We recommend using a different browser so you don’t confuse Pardot cookies, but do not test using incognito mode.

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).
  • If Google Analytics Source (utm_source) exists it will override Pardot’s default “Source” field (derived from Referral source) data capture.
  • Does not work for prospects using incognito mode.
  • Reporting relies on Google Analytics or Pardot lists.
  • 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.

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 UTM functionality extended to Pardot

Extend Pardot 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).

Note the big difference here is this also works for existing prospects!

Using a custom UTM tracker method enables Pardot to be more consistent in capturing the first touch point, and can also enable capturing beyond the first touch point with multi-touch attribution.

A custom UTM tracking set up can also work for existing prospects, making it a 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).

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, i.e. the beginnings of multi-touch attribution.
  • 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.
  • Custom field UTMs are directly supported within journeys, lists, and automations.
  • Reporting via Salesforce campaigns or Google Analytics or Pardot lists.


  • 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
  • Custom fields need to be set up in Pardot (one time).
  • Fields & prospects must be synced to Salesforce for reporting from Salesforce.
  • Capturing UTMs via Pardot forms requires scripts be added to your forms and web pages (more on this method below).

Pardot UTM custom fields

First or last touch?

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 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 Touch: Make Salesforce the master in the field sync behavior setting so Pardot will not write over existing data, thus preserving first 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.

Or you can also manage first or last touch points with additional control using automations.

Using Pardot tracking links to extend 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 generally more reliable than Pardot’s 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), 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 (i.e. better track Lead Source using custom Lead Source field in tandem with utm_source field, mapped via automations).

Capturing UTMs into 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 forms

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. (Script provided below in this article).
    • 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.

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

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
  • 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 (Salesforce campaign object) for tracking UTMs directly to each campaign

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

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

  • 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.
  • 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). (Link to script provided below in this article).
  • Pass UTM information from a link to a Pardot form or form handler for processing.
  • 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.

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.

Use UTMs in 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 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.


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.

Additional UTM Tips and Resources

  • Use hyphens in UTM data instead of spaces between words (i.e. &utm_campaign=2024-q3-auto-dealer-trade-show)
  • Google Analytics is case-sensitive, so use all lower case in UTM data so your reporting will be consistent and work across platforms.
  • 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 (this can also occur because of a malformed utm_source, i.e. “My%20Favorite%20Market”).
  • 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, but aren’t great for Salesforce reports since not structured data).
  • Create a useful campaign hierarchy in Salesforce campaigns for each type of touch source (Clicks > PPC > GoogleAds > 2022 > Spring Campaign). Salesforce campaigns have a max of five levels within the campaign hierarchy, so think through in advance how to best utilize your campaign structure for accurate reporting.
  • Align campaign types with marketing automation channels (i.e. 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.


  • 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

Helpful definitions for UTM fields

For reference

Sorry if this post seems like a bit of a brain dump. I hope to come back and clarify some things with examples and screen shots when I get the chance.

Certified Consultant/Owner | Jeff Kemp

Marketing Automation & CRM Consultant

hire Jeff Kemp | Marketing Automation & CRM Consultant

I help select your tech stack and optimize your processes for improved marketing & sales effectiveness, operations, and ROI.

My superpowers are Operational Efficiency, Knowledge, Experience, Business Acumen, Versatility, and Perseverance. I enjoy the intersection of working with people, processes, and technology where I can provide leadership and add value.

With over 30 years of marketing and sales experience I've been laser targeted on Marketing Automation for over 10 years, seven of those as a Salesforce Certified Marketing Cloud Account Engagement (Pardot) Consultant, and also as a Certified Salesforce Administrator and HubSpot Expert. Prior to that I have over 15 years of WordPress development experience and additional high profile roles in sales and marketing management.

Since I've led over 50 client consulting engagements in various industries I've seen several of the same struggles that are common to almost all organizations (as outlined in this article). With each organization and project that I'm involved with I work hard to solve many of those typical problems, plus identifying and solving sometimes unique and complex issues which often involve cleaning up technical debt from legacy systems, and architecting processes and solutions to help organizations set up effective lead management systems and operational efficiencies using best practices and proven methodologies.

I also love dogs :0)

Optimal Business Consulting (OBC) is proud to be a Salesforce Partner since 2018 and also became a HubSpot Solution Partner in 2023. -->More about Jeff & OBC

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.

How to avoid form spam using marketing automation

Best methods to defeat form spam from bots and human spammers. Whether it’s spam bots or human spammers, we’ll discuss how to identify spammers and provide a best methods on how to defeat form spam.

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…