aUTMate: Streamline Email UTMs with Marketo Program Tokens

If you were to ask a crowd of MOps pros, ”What’s one of those tedious, time-consuming things you wish you could strike from your day-to-day?” it’s likely that UTM management would be mentioned several times. Whether it’s creating and maintaining an internal UTM URL builder–“Ok.. who messed with the named ranges?”–or using a third-party UTM management tool, marketers often find themselves manually copy/pasting UTM-laden URLS into CTA buttons or fields. Not only is it tedious, but it also increases the probability that errors will arise in this manual process, distorting web analytics downstream. 

If you know Marketo, you know that tokens are your friends. Friends can help with lots of things, but they can’t do everything for you. So, while Marketo tokens provide a way to help “automate” UTM creation for outgoing emails, it’s not a panacea for the UTM creation and management process across all your marketing channels. But Marketo is your friend, so let’s take its help where we can.

Rationale & Reward for Automating Your UTM Setup

The solution proposed below will, at minimum, require updating your email templates and likely calls for re-architecting your folder tree in Marketing Activities, so it’s important to understand the reason for these changes before you start.

The end goal of automation is productivity should be to free up our time for more and better human connections. If a Marketo user can rescue hours per month from email UTM management, that time could be diverted to designing, building, QA, and training for a new lead capture mechanism that helps a regional sales team seamlessly run their in-person seminars (and gather the necessary data to process attendees!). Unshackled time spent on an onboarding email sequence that surfaces vital information to help customers gain early success could contribute to your company’s reputation as a listening, responsive partner in business. What could you do with several extra hours a month?

Email UTMs matter. But supporting thoughtful, design-minded prospect and customer experiences–parts of which are supported by good UTM management!–matter more.  

The practical result for Marketo users? For the majority of emails, you’ll be able to clone your email program template to the appropriate folder, build your email in said program, and have the UTM parameter values already baked into the email’s links. Cheers to all the saved clicks in the email editor. 

Benefits: 

  • Eliminate manual, error-prone work copying/pasting UTM-laden URLs
  • Time savings (medium to significant depending on campaign volume and email types)  
  • Enrich web traffic analytics 

Now, let’s get into the main components of this solution: the Marketing Activities folder structure, and the setup for each UTM parameter.

Recommended Folder Structure for Inheritable Tokens

The structure of your folders impacts the way global tokens will be inherited. Consider adding a top-level folder (right) to house your global {{my.tokens}}.

While the top-level folders under the workspace (left) are fairly typical, having a single top-level folder (right), within which to contain the major subfolders and store all global {{my.tokens}}, will keep management of global tokens confined to one place, removing any need to recreate (and maintain values for) the same token in two or more places in the folder tree.

Additionally, if there are any operational emails (opt-in confirmation, software update, etc.) sent via programs within the “Operational” folder, they can take advantage of the top-level tokens. Think of any global information or elements that require an operational email footer. The same goes for programs that get accidentally moved to the “ιArchive” folder but are still actively processing leads and sending emails. With one parent folder (“All Programs”), you can simultaneously streamline and reduce risk when it comes to tokens.

UTM Tokens

With the supporting folder structure updated, we’ll address each token for each UTM parameter: its type, structure, content, and how it behaves in the hierarchy of folders and programs.  

One side note: when it comes to this solution for UTMs, variables aren’t viable. As you may know, variables do not transfer over to the text version of emails. So, while including “Download Now” in the variable ${bannera-cta-text} and “https://example.com/” in ${bannera-cta-url} may render fine in the HTML version, you’ll get ${bannera-cta-text} <[[${bannera-cta-url}]]> in the text version, requiring you to manually replace this text with “Download Now <[[https://example.com/]]>”. Dollars to donuts, tokens are the way to go. 

UTM Medium 

As emails are typically the most numerous and used asset in a Marketo instance, {{my.utm_medium}} is the one token that should, for the most part, remain unchanged (un-overwritten) across all subfolders and programs. The one exception may be for local Marketo landing pages, depending on how you use them. If your landing pages are self-contained, that is, if they are built solely for content and lead capture, and do not have links out to your main company site, then the landing page template can remain as is. However, if landing pages do contain links to your site, as many do, in the footer, then you will want to consider hard-coding utm_medium=landing-page or similar into the URL structure of your landing page template and let the token values for UTM Source and UTM Campaign inherit from the folder and program respectively. For global landing pages, you’ll need to decide on sensible default values for all the UTM parameters and ideally develop a mechanism to grab UTM parameter values from the emails driving people to that global landing page to replace default values. 

URL structure so far: https://yourdomain.com/?utm_medium={{my.utm_medium:default=email}}

Token TypeToken Name ValueToken NameDefault ValueExample Updated Value
Textutm_medium{{my.utm_medium}}emailNA

UTM Source 

The token value for {{my.utm_source}} should be updated at each child folder (under the parent folder “Marketing Programs”) representing a discrete tactic. For example: for the folder “Newsletter” under “Email,” you would change the value {{my.utm_source}} from “default” to “newsletter”; for the “Webinars” folder, update the value to “webinar”, and so forth.

While an outgoing link that has “email” for UTM Medium and “webinar” for UTM Source may seem incongruous, an invite email within a webinar program qualifies for this description. Remember that many programs will contain operational emails that have links to your site. Removing operational emails from the UTM equation means less data that can be used (and filtered on) by your web analytics team. Explaining to your web analytics team that traffic filtered on utm_medium=email&utm_source=webinar is either an invite, reminder, or follow-up email from your webinar program can help them interpret spikes in traffic among the various campaigns your marketing team runs.  

URL structure so far: https://yourdomain.com/?utm_medium={{my.utm_medium:default=email}}&utm_source={{my.utm_source:default=default}}

Token TypeToken Name ValueToken NameDefault ValueExample Updated Value
Textutm_source{{my.utm_source}}defaultnewsletter

UTM Campaign

With the UTM Campaign parameter, there are a few different token options to consider for your email template’s URL structure.  

Option 1: Program Token

Use the program token {{program.Name}}. The advantage here is that this allows you to pull the Marketo program name directly into utm_campaign hands-free–no need to update even a token value!

As this value is wholly dependent on your program naming, it may present friction with your current naming convention. However, if you can make some concessionary updates to your program naming (for example: no spaces, only dashes) and can tolerate uppercase letters and capitalization in the UTM Campaign parameter, then you’ve saved that additional step among dozens for each email build.

If additional detail is needed in the program name for reporting or last touch management, you can include additional detail or a more descriptive program name version in the program’s description and push {{program.Description}} into a lead field to key off that data. 

URL structure so far (UTM Campaign Option 1): https://yourdomain.com/?utm_medium={{my.utm_medium:default=email}}&utm_source={{my.utm_source:default=default}}&utm_campaign={{program.Name}}

Option 2: My Token

Create the text type my.token {{my.utm_campaign}}. This will need to be updated on the program level to replace the default value of “default”.

If you plan to use the Marketo program name (or SFDC campaign name) for this value and your naming convention allows for spaces, you’ll want to convert it to a UTM-friendlier string (all lowercase, dashes replacing spaces). You can find a conversion formula in this worksheet for just that! Otherwise, if you don’t plan to use the Marketo program name, include whatever appropriate value fits with your current convention.

While this method does require a modicum of manual work, it may keep your UTM-laden URLs better aligned with your marketing team’s broader UTM strategy and standards.

URL structure so far (UTM Campaign Option 2): https://yourdomain.com/?utm_medium={{my.utm_medium:default=email}}&utm_source={{my.utm_source:default=default}}&utm_campaign={{my.utm_campaign:default=default}}

Option 3: Campaign Folders

Your third option is to consider an alternative folder hierarchy where tactic-related folders (Email, Paid Ads, Social Ads, etc.) are contained within campaign-specific folders. This may make more sense if you tend to build larger numbers of programs tied to lengthier campaigns, on a consistent basis.

The advantage here is that you can set the value for {{my.utm_campaign}} once at the parent campaign folder (“Q1 Campaign Name” in example image below) so that all folders below inherit that value. The trick is working out whether this foldering strategy lines up with your company’s campaign volume, and provides material benefits in organizing your instance. 

Token TypeToken Name ValueToken NameDefault ValueExample Updated Value
Textutm_medium{{my.utm_medium}}emailNA

URL structure so far (same as UTM Campaign Option 2): https://yourdomain.com/?utm_medium={{my.utm_medium:default=email}}&utm_source={{my.utm_source:default=default}}&utm_campaign={{my.utm_campaign:default=default}}

UTM Content

For cases where you need traffic differentiation by content, include the UTM Content parameter. Typically, newsletters and email types with larger amounts of content are good candidates. However, if most emails will not need this level of tracking you may want to consider cloning your master email template and creating a version dedicated to newsletters with utm_content in the URL structure.

One option for differentiating content is to use a my.token for each content item.

In terms of populating the content parameter, one option is to use utm_content=default (tokenless) and manually edit the links (CTA buttons, text links, images, etc) in the email editor. An alternative option is to create 3-5 {{my.utm_content0#}} my.tokens that correspond to an equal number of blocks of content each pointing to a distinct article or topic.

These tokens should be created in the subfolder (e.g. Newsletter). So, relating these tokens to the email design, if you had a banner image module with a headline and CTA, the URLs for this first module/block would use utm_content={{my.utm_content01}}, the next image-and-CTA block would use utm_content={{my.utm_content02}}, and so forth. While this latter option does extend the efficiency advantage claimed by the other UTM parameters described above, it would be best served by coordinating with your design and content partners to align on a consistent email design constrained to a few “stories”.

Final URL structure: https://yourdomain.com/?utm_medium={{my.utm_medium:default=email}}&utm_source={{my.utm_source:default=default}}&utm_campaign={{my.utm_campaign:default=default}}&utm_content={{my.utm_content0#:default=default}}

Token TypeToken Name ValueToken NameDefault ValueExample Updated Value
Textutm_content0#{{my.utm_content0#}}defaultblogpost-01

Overview of UTM Marketo Tokens

UTM parameterToken typeRecommended tokenDefault valueLocal/original token locationWhere token value changesComments
utm_mediummy{{my.utm_medium}}email“All Programs” folderNA / NeverLPs should contain a different value hard-coded in the template. 
utm_sourcemy{{my.utm_source}}default“All Programs” folder






Tactic-related subfolder (e.g. Webinar)
utm_campaignprogram
OR my
{{program.Name}} 
{{my.utm_campaign}}
default“All Programs” folder






Program
Three options across these two token types
utm_contentNA OR myNAOR {{my.utm_content0#}}defaultNAOR “Newsletter” folder (example)ProgramManually edit per link in email editor OR create individual my.tokens for 3-5 topics in the content. 

Do’s and Don’ts of UTM Tracking in Marketo Emails

  • Do leverage this structure for additional URL parameters if needed. Other URL parameters (e.g. utm_region, utm_language, utm_country) can be used to parse traffic to a greater extent and can even assist localization and personalization of content on your site. Make sure to add these to your top-level folder “All Programs” and craft your folder tree accordingly.  
  • Do lean on HTML experts. If you’re inexperienced in editing HTML, don’t do the email template updates yourself. It’s better to lean on your dev team and get it right than risk broken links in outgoing emails. 
  • Don’t omit training from the equation here. Ensure anyone on your MOps team understands the distinction between UTM Medium and UTM Source and walk them through it with examples. Avoid assuming that they’ll see an inherited value for {{my.utm_medium}} on the program level and understand enough to leave it alone. 
  • Don’t decide on a UTM structure in a vacuum. Talk to your analytics and/or web team. Let them know the rationale behind your approach and the potential impacts and benefits on tracking web traffic. Document your design and share with the necessary stakeholders so that 1) your architecture is peer-reviewed and approved, and 2) they’re not surprised by new UTM values coming through in Google Analytics.   
  • Do craft and communicate your migration plan. Pick a switchover date and time period during off-peak hours to implement the changes. 
  • Don’t set it and forget it. Monitor and iterate; maintain dialogue with any parties affected by a new UTM architecture in Marketo for consistent review and occasional reshaping. 

In this ever-expanding arena of marketing automation/martech, the volume and complexity of digital puzzles we encounter will only grow and shape-shift. Let that UTM-wearied clipboard collect some dust. Build your Marketo in such a way that you can focus on the most impactful solutions for your business.   

Need help? Contact us to get your solution started!  

Cookies help us keep the site running smoothly and inform some of our advertising, but if you’d like to make adjustments, you can visit our Cookie Notice page for more information.