Best practice for capturing UTM data (traffic lands on corporate site first) | Community
Skip to main content
Level 2
February 24, 2026
Question

Best practice for capturing UTM data (traffic lands on corporate site first)

  • February 24, 2026
  • 1 reply
  • 29 views

Hi everyone, 

I’m looking for best practice guidance on setting up UTM capture properly in Marketo. Our current flow looks like:

  1. Paid ads → corporate website (UTMs present in query string)
  2. Corporate website has Munchkin and GA installed.
  3. Users then click through to a Marketo landing page that contains the inquiry form. 
  4. We do not currently use a CRM. 

We can see that UTMs sometimes appear in the Marketo landing page URL as query parameters, but we do not currently have hidden fields or structured UTM capture set up in the form. I’m trying to determine the cleanest and most scalable way to implement this.

Our primary objective is to accurately attribute form submissions to paid campaigns and distinguish paid vs organic traffic for reporting.

Some questions that I have:

  • In a multi-domain setup, what is considered best practice for ensuring UTMs are reliably captured on form submission?
  • How are others handling first/last touch attribution in this scenario?
  • Should GA/GTM play a role in this or is it better to handle UTM capture within Marketo/Munchkin.

I’d appreciate any guidance and support on this situation. Thank you so much for your time!

1 reply

SanfordWhiteman
Level 10
February 24, 2026

I assume you don’t mean only that single navigation from website page w/UTMs ⮕ Marketo page w/form, correct? That simple case can be very easily covered by mapping referrer params (i.e. query params on the previous page) to autofill hidden fields on the Marketo form.

 

The sole prerequisite is that your corporate site must be configured to pass the full referrer in links to Marketo LPs. (Browser default is to pass only the referrer’s origin, e.g. https://www.example.com, which will not suffice as you need the full referrer URL. Your web team can easily configure links to https://pages.example.com so Marketo LPs can see the full value. If you tell me the real domain(s) in question I can quickly test your current setup.)

 

But I assume you don’t really mean just that simple case.

 

If you actually mean multiple pageviews can occur in-between the page w/URLs and the page w/form, referrer params will not suffice. There are then 3 remaining options:

  1. On the corp site, your web team appends the original UTM params to every trusted internal & external link. Essentially, the UTM params “follow” the end user as they move through the corp site and eventually to a Marketo page. Because the UTMs have been copied to each URL in their journey, the Marketo LP sees them as well and you can use standard hidden field autofill.
  2. You use a cookie-based, 3rd-party UTM persistence library. GTM can technically fill this role, but I don’t like it as it’s not built for it. Instead, search previous posts for ConversionPath and other examples.
  3. You use Munchkin itself plus the Marketo API. No additional browser JS. This has become our go-to (despite the fact that I wrote ConversionPath and several other persistence libraries!) over the past year.

    Munchkin is, after all, already tracking the visitor wherever the same cookie is used. So on any form submission, call a webhook that uses the API to look back in the person’s Activity Log. Then create a Marketo Custom Object for each conversion. You can do super-complex multitouch attribution this way. Sky’s the limit.

Bear in mind 2. and 3. above require the corp site and Marketo LP domains to share a common domain suffix, like example.com. If they’re on totally different private domains, like www.example.com and pages.example.net, cookies cannot work for obvious security reasons and you’re required to use 1.

AmeliaDaAuthor
Level 2
February 24, 2026

To be candid, we’re essentially starting from scratch on structured UTM capture. We haven’t implemented any hidden fields or query string mapping yet.

Munchkin was not installed on our corporate site until August 2025, but the Marketo landing page and inquiry form has been live since November 2024. We’ve been sending paid traffic to the corporate page, which links to the Marketo LP. We use a shared root domain.

These pages link to the Marketo-hosted LP and form:
Small Business Banking | Checking, Credit Cards, Loans
Small Business Loans | Washington Trust Bank

While reviewing activity logs, I noticed that the query parameters occasionally capture UTM values from paid ads. Our data analyst flagged that the # of form submissions attributed to paid traffic appears much lower than expected based on ad volume. This leads us to believe that UTMs are not consistently being captured in the query parameter, possibly due to multiple page views occurring between the initial landing page and the Marketo LP.

My initial thought was that I could add hidden fields in our forms and pass the UTM values into those fields. Is it that simple? Am I overcomplicating this? Before implementing this across our other forms, I wanted to understand this process better and get an idea of what would be considered best practice in this scenario. 

We have multiple Marketo LP and inquiry forms that follow the same architecture, so we’re looking for a scalable solution we can apply consistently.

Additionally, we’re trying to think through attribution more broadly (first touch vs last touch). At this stage, we haven’t implemented any structured first-touch or last-touch logic in Marketo. Our data analyst has asked whether we should be capturing both, and if so, what the recommended configuration would be. 

I haven’t worked with webhooks, APIs, or custom objects (yet) though I’m very open to exploring this. We do have access to Fusion within our team and could leverage that.

This is a newer focus area for our team and I’m the main Marketo admin trying to wrap my head around the best long-term approach before implementing anything. I appreciate the guidance.

SanfordWhiteman
Level 10
February 24, 2026

My initial thought was that I could add hidden fields in our forms and pass the UTM values into those fields. Is it that simple?

 

Certainly not. How would you “pass” the UTM values into the fields if they’re neither in the current URL, the referrer URL, or in a cookie/localstorage?

 

Looking at the path between your www.example.com and pages.example.com, the full referrer URL is not passed, only the origin (which lacks the path/file/query parts of the URL). As mentioned in the first section above, your web team would at least have to ensure the full referrer gets passed across the sites so you could start by using the Marketo Forms referrer URL feature.