Contributors Dropdown icon
  • Dan McGaw
    Written by Dan McGaw

    Dan McGaw is an award-winning entrepreneur and speaker. He is the founder and CEO of UTM.io, a UTM spreadsheet killer, and data governance tool used by Shopify, Unilever, Taxjar.com, and more. Named one of the godfathers of marketing technology and one of the original growth hackers, Dan has decades of experience. Before founding UTM.io, Dan succeeded Neil Patel as the head of marketing at Kissmetrics and since then has gone on to start multiple successful ventures in the marketing analytics industry.

UTM Tagging: How the Tracking Works

UTMs are brief snippets of tracking code that are appended to the end of URLs. They divulge a range of key data points that, when aggregated, provide endlessly valuable insights about how users interact down the funnel and across your channels.

The appended parameters don’t change the website visitor’s experience, but they’re hugely valuable to marketers and nearly universally compatible with marketing technology services. Almost all analytics tools understand UTMs out of the box.

UTMs assign traffic data across five dimensions, providing the digital marketing equivalent of "who, what, when, where, why" for every click.

UTM is an acronym for "Urchin Tracking Module." Urchin derives from an early web analytics platform that Google acquired in 2005 and became Google Analytics.

 

What does a UTM tag look like in the wild?

Here's an example:

https://web.utm.io/utm-builder-code-generator/?utm_source=funnel.io

In this case, embedding the UTM at the end of this URL lets me track clicks from funnel.io, telling me how well this article performed when the readers came from that particular website, and what actions users took once they were on our website. When connected to Google Analytics or other analytics tools, I can also track the revenue or leads generated.

How does this tiny slice of code do all that?

Let’s isolate the UTM in that URL, and break it down:

?utm-source=funnel.io

  • ?: The question mark signals the beginning of the UTM code. It must always be included and inserted directly at the end of each URL.

  • utm_source: This is the UTM parameter, one of the three required ones and five standard ones. Source denotes the location the link was embedded in.

  • =funnel.io: Referred to as the tracking variable and always preceded by an equal sign, this provides more context to the UTM parameter. In this instance, funnel.io functioned as the source where the link was placed.

And remember, you aren't limited to tracking sources alone. Five standard parameters make up UTM tag structure, which can be included back-to-back, separated each time by an ampersand (&). You can build links with UTMs quickly and correctly by using our UTM tracking code builder that we featured in the example links. The five standard parameters are as follows:

  • Campaign source: The visitor’s original location before clicking and visiting your site. In other words, where the link was placed. Usually shortened to just "source." You’ll usually put in the website or platform the visitor comes from. You can also get advanced and put in the newsletter name or a similar more detailed piece of information.

  • Campaign Medium: Think of it as short for marketing medium. It's the outreach method used—for instance, email, social, or ppc.

  • Campaign name: The name of the marketing campaign connected to the link. For instance, an advertisement for a summer fashion sale might be entered into UTMs as summer-fashion-sale-2021. A good campaign parameter is made in a way that allows it to be used across mediums, meaning this UTM should also be used in the newsletter issue devoted to that sale, the social media posts, or affiliate links.

  • Campaign Content: An optional parameter, this field indicates the type of content that delivered the link. This can be used for ad types or post types.

  • Campaign Term: Our second optional parameter, term, is gaining popularity among CPC marketers. It's typically used with search advertising, indicating the keyword the ad is triggered for. It could also be used for ad headlines on social, subject lines in newsletters, or to delineate different versions of A/B tests.

Once you start playing around with UTM parameters, you’ll realize that when you structure them right, you can use them for just about any link on any platform. They’re universal. Yet, we recommend firmly against using them on internal links within the same website—that makes clicks between your website’s one pages look like sessions from external traffic sources.

For even more golden rules, feel free to review this UTM best practice guide Funnel made earlier.

The Critical Importance of Consistency in UTMs

While they’re extremely capable of measuring your channel and overall performance, they're nevertheless easy to get wrong and far less accurate when done incorrectly and inconsistently.

In the case of UTMs, even just using parameters that are different can cause a mess. Both “paid-social” and “social-cpc” could be correct, but if a part of your team uses the former and the rest of your team the latter, your data will be splintered.

Mistakes like that are frequent. We're also talking about typos, even slight differences in how various staff members spell and stylize parameters, like writing “google-ads” instead of “search-ads”—or any number of accidental alterations.

Thankfully, improper UTM code usage won’t affect your site or customer experience, but the consequences can be significant to your analytics and optimization.

Moreover, UTM mistakes are permanent.

You can’t alter Google Analytics parameters after the fact, nor can you do so on other analytics suites like Amplitude or MixPanel.

This leads to inaccurate data, which means more work in Excel using lookup tables—it just sucks. It hurts your ability to evaluate the value of various marketing channels, how they act and interact to pull customers into your funnel, and a range of vital intelligence to help you market better and more efficiently.

The two best ways to prevent this common mistake are:

  • Create a taxonomy of UTM parameter naming conventions
  • Use automated UTM tools that support UTM conventions

You'll need a universal resource available to everyone in your content production and promotion. Don't build UTMs manually. Remove the influence of human error’s dirty, sticky hands; use a UTM tool such as UTM.io.

Funnel.io is a great tool for cleaning up data from a variety of sources, and we find it to be a great solution for cleaning up UTM data after the fact. But you’ll always be better off if you both use UTMs correctly, and use a quality tool such as Funnel.

What is a UTM Convention?

A convention is a way in which something is usually done, especially within a particular area of activity.

In UTMs, the convention is how you build your tagging. The hard part is that in every company, the convention will be different. There is no one-size-fits-all way to do UTMs. Each marketing team has to establish its own UTM convention and then be consistent about using it.

You want the entire team to be on the same exact page about every detail of your UTM naming, all the way through the five parameters. You want to establish what you use in your UTMs for paid social, e.g. social-cpc or paid-social, for your email, e.g. just the platform name or an advanced and structured description of your email campaign, and for all other parameters, too.

I think the best way to explain UTM conventions is to compare a good one and a bad one. So let’s do just that.

Example #1: Good UTM Convention

good-utm-convention-1

(source: https://cxl.com/blog/utm-parameters/)

The convention pictured in the diagram above is good because it will enable the various team members to stay consistent about the naming they use.

The campaign is at the top level, which enables the team to use the same campaign name across different channels, and the channels’ respective mediums and sources.

Think about the Black Friday campaign name. The team probably promotes Black Friday content and sales across the full variety of channel types—Organic, CPC, Email, Social, and Referral. In all of the channel types, the campaign parameter can be the same, so Black Friday. And even for the full variety of specific sources, the campaign name can still be Black Friday.

As a result, you’ll be able to compare channels easier. That’s because you’ll be able to dissect the performance of your campaign, compare channel types in how they convert, compare traffic cost and ROI per source. All within the data for that one Black Friday campaign effort.

Example #2: Bad UTM Convention

bad-utm-convention

(source: https://cxl.com/blog/utm-parameters/)

UTM conventions per the diagram above would hold you up. The focus here is on having the source as a parent. The campaign is at the bottom. This makes it hard to compare data within a campaign.

A big part of the problem is that none of the campaigns look the same. Some of the campaigns use a number. Some use coding and acronyms. Some use the region “US”, and some don’t. “Branding” as used in YouTube doesn’t match up with “Brand Awareness” as used in Facebook, and that will make it hard to compare the two.

There’s too much going on. Things don’t line up. The main point of UTM conventions is not being met. Namely so, things can’t be easily identified and bucketed. The insights will suffer, optimization and growth opportunities will lack.

The Value of Using UTM Conventions

"UTM conventions are valuable because they bring speed and efficiency to your reporting."

Tracking marketing campaigns gets tricky. UTM conventions allow your team to worry less about how exactly to track links and campaigns. Then the team can build better campaigns and work faster. While still having reliable reporting, too.

You achieve efficiency because a UTM convention sets the tracking standard for the whole team at once, and helps the team stay consistent. If you then use a tool such as Funnel.io, you can use it to customize your reporting and extract more insight from the data—instead of spending hours to fix the inconsistent data.

Advanced UTM Conventions in the Campaign Parameter

When you’re doing a lot of advertising, and you’re running a lot of campaigns, a common problem you have is being able to find the right ad campaign in your ad platform or your analytics platform. You can get lost in where to find the campaign with this goal (e.g. shopping or lead gen), this region, this you-name-it.

So what you do is you shove structured campaign descriptions and context into your UTM parameter for the campaign name. The campaign is at the top level per our example of the good UTM convention above. The campaign is what we see first in the reports. Shoving more context into the campaign name makes it easy for you to find all the different campaigns.

The resulting UTM parameter for the campaign name will have the following structure:

?utm_campaign=us-shopping-nikeshoes-lm

Check out the diagram about where the different parts of the convention come from:

convention

(source: https://blog.funnel.io/how-to-name-your-digital-advertising-campaign-like-a-pro)

As you can see, we use a convention to expand the campaign name and include the following four variables:

  • Geography: United States. Other campaigns by the same team may be run in South America or Europe.
  • Margin: LM (Low Margin). Various margin groups may have different ROAS goals.
  • Product: Nike Shoes. The team may also run campaigns for a plethora of other products.
  • Ad Type: Shopping. Ads may also run on text search or display.

Smaller advertisers, and quite frankly, most advertisers, won’t need to go this far in UTM campaign name conventions. But this is super valuable for marketing departments that run a high volume of advertising. It will speed up finding data, which tends to enable better optimization.

Example-of-how-to-name-your-advertising-campaign

(source: https://blog.funnel.io/how-to-name-your-digital-advertising-campaign-like-a-pro)

Adding the advanced stuff into the campaign name made it easy to filter campaigns for the US region in our advertising account.

how-to-name-your-advertising-campaigns---example-

The same thing goes for the product that’s advertised. Adding it into the campaign name makes it possible to quickly see what the budgets and other metrics are for the particular product.

You could keep going like this, and, for instance, have a convention for adding product variants into the UTM campaign name. Then your multi-variant testing would be quicker to parse out as well.

Correct but Simple UTM Naming vs. Advanced UTM Conventions

The first comparison is from B2C email marketing. It’s for TaskRabbit, a company that helps you find people to do tasks for you. The campaign is for “summer savings”. Check out how the naming was taken from basic to advanced in order to make insight much easier to surface.

utm-naming-1

VS

utm-naming-2

The latter image shows the advanced UTM convention for email campaigns. It replaces the simple “sendgrid” in the source with information about the actual list the email was sent to. It also expands the campaign name with a convention that adds region, month, and promotion type (percentage sale).

This convention will add a ton more data to top-level campaign reporting. This was made possible by pre-planning for a clear and usable convention.

The second example is from eCommerce affiliate marketing. Let’s say your gnc.com. This case uses dynamic variables typical to Google Ad campaigns, and we call it intermediate.

utm-naming-3

VS

utm-naming-4

If you’ve been reading the whole article section by section, you can tell what we did here. We rolled up the parameters, including the custom ones and the dynamic ones, into the campaign name. Now the affiliate ID, source, as well as the month of the ad are culminated in the campaign name parameter and can be easily filtered for in campaign-level reporting.

Performance insights will now be easier to find. Easier to find = easier to optimize for.

Tips for Avoiding Mistakes in UTM Naming & Conventions

1. Stick to Simplicity

UTMs are tricky enough to read as is, so you want to think simple when you generate names and rules for conventions. That means brief, clear, and descriptive parameters.

In terms of content, each parameter should contain a clear answer to the question posed by the tracking variable.

For instance, take this UTM:

www.utm.io/content/how-to-interpret-your-analytics/?utm_source=funnel.io&utm_medium=referral&utm_campaign=guest-content

Q: Where was this link clicked on?
A: Funnel.o.

Q: What was the type of post that brought the link?
A: Referral from another website.

Q: What broader campaign or purpose did the link serve?
A: Promoting own content via articles on partner sites.

It's as simple as that. I bet you can now answer the same questions for parameters such as:

/?utm_source=twitter&utm_medium=paid-social&utm_campaign=april-feature-release-promo

2. Use the Default Channel Groupings from Google Analytics

Google’s default channel groupings are super helpful and well-rounded (and automatically place UTM traffic in the right buckets).

Customize groupings only if you’re committed to diving in and keeping track of your own grouping long term.

3. Always Use Lowercase and Dashes for Consistent UTM Grammar

It’s far easier to understand and remember than English, I promise. All you have to remember is to stick with lowercase. Analytics tools typically consider uppercase and lowercase as two completely separate things. To give an example, “paid-social” and “Paid-Social” would not be recognized as the same thing. So do force lowercase in your UTM tool, or the UTM spreadsheet if you still use one.’

Also, only use dashes to separate words in UTM parameters to avoid spaces at all costs. Spaces will be replaced with gibberish that makes reports harder to read.

4. Avoid Redundancy

Don’t make UTMs even harder to read or scour for. As such, avoid repeating UTM parameters within the same URL. We see this most often when the source and medium parameters are one and the same.

Say you rely on Mailchimp for email marketing. A common mistake would be to label “mailchimp” as both the source and medium when you'd only need to include it as the source. Then you would put “email” as medium, and you’ll still be able to see that the email campaign came from Mailchimp. But you’ll also be able to group the Mailchimp traffic with other email traffic.

To avoid redundancy, you could also alter the source or medium parameter by putting more information behind more dashes. You can, for instance, put “mailchimp-blog-subscribers” to identify both the email platform and the email list.

The Tool for Making UTM Conventions Easy to Use

UTM conventions need to be easy to use for the team members, otherwise, they won’t be consistent. They also need to be easy to establish for the team leaders, otherwise, they won’t get started.

UTM.io is the tool that makes the daunting task of establishing and using advanced UTM conventions easy.

As an admin of an account in the tool, you can:

  • Improve accuracy with prebuilt UTM conventions and templates
  • Speed up adoption of UTMs with preset parameters and dropdowns
  • Get cleaner analytics by reducing errors and mistakes with UTM rules
  • Enhance your analytics reporting with customer parameters, like ?product= or ?affiliate=
  • Make advanced campaign links with custom attributes and dynamic parameters

The workflow is one you’ll love. The team members pick from fields for all parameters, including the custom and dynamic ones. All parameters show on drop-downs, even when your convention is designed so that it culminates taxonomy into the campaign name as we did with the eCommerce affiliate example above.

The team member puts in a link, selects a template with all the conventions included, is forced to fill out the necessary fields, creates and automatically saves the link. Campaign data is on its way to being easy to report on.

Your Turn

Long gone are the days that doing something manually meant you’d do it better. We’re not artisan sculptors, after all, we’re growth marketers who love scale. Methodology and tools are key to us. Having UTM.io in your stack allows you to use advanced UTM conventions consistently. Funnel.io in your stack allows you to extract and clean up data from a huge variety of data sources, so you can get impactful reporting.

"Reach out to me or Funnel about the UTM conventions you create. I love talking about this stuff." - Dan 

Contributors Dropdown icon
  • Dan McGaw
    Written by Dan McGaw

    Dan McGaw is an award-winning entrepreneur and speaker. He is the founder and CEO of UTM.io, a UTM spreadsheet killer, and data governance tool used by Shopify, Unilever, Taxjar.com, and more. Named one of the godfathers of marketing technology and one of the original growth hackers, Dan has decades of experience. Before founding UTM.io, Dan succeeded Neil Patel as the head of marketing at Kissmetrics and since then has gone on to start multiple successful ventures in the marketing analytics industry.