How to track UTM parameters in Marketo

How to track UTM parameters in Marketo

You may be using UTM parameters to track your marketing campaigns, however, you aren’t capturing UTM values in Marketo. Let’s take a look at how to pass data to Marketo once a lead clicks a URL with defined UTM parameters.

How to track UTM parameters in Marketo to capture lead source

Step 1
The first thing you will need to do is create at least the three required UTM parameter fields in your Marketo database as custom (string) fields. You can find this under Admin ⇒ Field Management ⇒ New Custom Field.

Field Name Examples:

  1. UTM Campaign
  2. UTM Medium
  3. UTM Source

If you have a CRM, such as Salesforce, you will need to connect your tracking data to it in order to automate reporting. This way you can tell how much revenue is being generated from your various marketing campaigns. It’s best practice to create the new custom fields in SFDC first so they will automatically be created in Marketo and kept in sync with your CRM. You will want to make these fields visible to the Marketo Integration user by allowing read/edit access and review in Marketo to ensure they were properly synchronized.

Quick note: Remember to map these fields for lead to contact.

Your new fields are ready!


marketo utm builder


Step 2
Add the new fields to any Marketo lead capture form (2.0) where applicable and make sure to mark them as hidden fields.

Tip: Ensure you have the form pre-fill disabled at the field-level. When enabled, it pre-populates the current stored value in the lead’s record if they are cookied and previously filled out a lead capture form with UTM parameter tracking. This is incorrect and needs to be overwritten each time for accurate tracking to take place for your marketing campaigns. So the easy solution, is to disable.

track utm parameters

Step 3
In the form 2.0 editor there is an option to set the field value based on URL Parameter. The “Get Value From” section is a critical part in selecting how you will pull parameters, so here you need to select URL Parameter from the drop down menu. For “Parameter Name,” enter your URL parameter from your link (ex. utm_campaign).

marketo utm cookie

You will need to repeat this step for each hidden parameter field.


Step 4
Finally, create URLs with your URL builder tool and test your form. Fill out the form and validate your test lead record to see if the UTM parameter values pass to the fields as expected.

Once you’re able to track the UTM parameters in Marketo, you can begin analyzing your web traffic sources. This is a simple way to see what is driving site traffic and converting that traffic into leads, and in turn customers, so you can optimize and grow.


marketo utm builder


About Melody Holcomb
Melody is a Revenue Engineer at the Pedowitz Group. She has over 7 years of professional experience in sales/marketing operational support. Her specialties include: campaign development, execution, and management, marketing engagement strategies, revenue marketing/demand generation, marketing automation, and Salesforce business processes. She is a Marketo Certified Expert, Marketo Certified Consultant, and Marketo Certified Instructor.

Related Resources

  • Posted by Melody Holcomb
  • On 06/01/2018
Tags: utm parameters, track utm parameters, marketo utm parameters, utm, salesforce utm parameters


Christina Z
How do I track these campaigns in the long run? If the UTM_Campaign field gets overwritten every time the lead interacts with my campaign, won't I lose the information the minute it gets overwritten??
    Yes, they could get overwritten. That is a great question and you certainly aren't the first to ask! UTM tracking fields are something that many people think about locking down by blocking field updates (as well as creating history fields) so they only accept the first value and can't be overwritten. If you decide to do this you can prevent overwrites by blocking field updates in the Admin section found under Field Management. Hope this helps!
Hi there, What about for visitors that don't convert on the original landing page? What if they navigate from whitepaper A to whitepaper B? In these instances we've found that Marketo doesn't carry over the UTM parameters, which is hugely vexing.
    Hi Sarah! Right, if someone navigates away and the parameters disappear, then the UTM values will not be captured. To help solve for this, tracking script would need to be implemented on your pages that will store any UTM parameters it finds into a cookie. This means if it comes from a URL and it's the first time seeing it, the script creates the cookie. So when the person fills out the form, we read the values from the cookies instead of the URL parameters. There are different ways to approaching this, all of which will require JavaScript development (hello dev team). Hope this helps!
What is the best report to use / implement once we have all these fields in?
    Hi Amy, After you've set hidden fields up to capture UTM parameters, you can run a report in Marketo or Salesforce against the field. For standard MLM reports, have you tried using the Leads by Source report by cloning then modifying? You can pull in custom columns (smart lists) and then group leads by a column. It might not give you everything you're looking for, but it's a start since Marketo standard reports may be limited based on the scenario. There's more comprehensive solutions, but of course depends on your needs / environment. Hope this helps.
Great article, but what does it work with 'known visitor' feature enabled?
    That's a great question, Jasmin! Unfortunately, when you use this feature to give them a direct download button instead of filling out the form again, your hidden fields don't get captured when you use this functionality. Consider the use case and choose not to use this feature when you need to leverage hidden fields on your forms. Maybe we'll see a magic unicorn sometime in the future.
One challenge we are having is with organic responders that PREVIOUSLY responded to a cta that included a utm value. Even though forms are set to disable pre-population of fields, we are not able to capture a subsequent organic response due to the pre-existing values on the lead record. If you have any thoughts on tackling that would be glad to hear them. Thanks!

Leave Reply

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