Check if your UTM link works correctly

The most common mistakes with UTM links

To track the interaction of users with marketing assets (banners, videos, links, ...), we use URLs enriched with special parameters called UTM parameters.
These specially formatted URLs are what we call UTM links.

Unfortunately, UTM parameters are often misunderstood by marketers and this generates all sorts of issues with tracking.

In the following you'll find useful information to straighten your understanding of UTM parameters, so you can use them correctly 100% of the time and get your tracking sharp as a razor!

These are the 5 UTM parameters most commonly used for tracking:

  • utm_source (required);
  • utm_medium (required);
  • utm_campaign (required);
  • utm_content (optional);
  • utm_term (optional).

At the moment of writing GA4 supports reporting only for the 3 required parameters. This means that adding utm_content and utm_terms won't result in better tracking (since you cannot make those reports yet).
This is no excuse to avoid using utm_content and utm_term.
In fact, as soon as reporting for those parameters will be available in GA4, you'll want to be using all 5 UTM parameters in your UTM links.

To each of the 5 UTM parameters we can assign any arbitrary value.
However, it is necessary to choose those values using some logic and some naming convention... otherwise we'll end up with meaningless (and possibly redundant) values that will make tracking impossible.

Understanding the 5 UTM parameters

Before we dive into the most common mistakes that render tracking useless, we need to get a better understanding how each parameter is supposed to be used...

#1: utm_source

If this were a road trip, utm_source would be the city you start from.

Ideally, utm_source contains the name of the website where the marketing asset was published.

#2: utm_medium

If this were a road trip, utm_source would be the vehicle you travel by.

utm_medium must contain the type of medium used to distribute the content... and you must pay special attention to what you choose, because this value cannot be arbitrary!!! (more on this below).

#3: utm_campaign

If this were a road trip, utm_source would be the occasion you travel for.

Marketing operations are organized in campaigns.
For tracking purposes, campaigns are very important since a campaign can serve as the umbrella for the distribution of marketing assets on different sources and mediums.

Marketers should be fully aware of which marketing campaign they are working on and they should follow the naming conventions associated to that campaign (more on this below).

#4: utm_content

If this were a road trip, utm_source would be the make and model of your vehicle.

The parameter utm_content tracks the specific marketing asset used in the distribution effort.
This means that this parameter has to describe the marketing asset.

Of all the UTM parameters, utm_content is the one that can get quite complex if used to its full power.
To be able to make the most of utm_content, you'll need to do some serious planning and define clear rules for the distribution of your marketing assets.

As for all tracking things, it is important to define naming conventions so you will describe marketing assets always in the same way (and then you'll be able to track them).

Essentially, clickable content can be distributed in just 4 formats.

  • link;
  • banner (short for "HTML banner");
  • image;
  • video.

Information such as placement or size can be appended to the type of content allowing for very granular tracking of marketing assets and their placement.

Here are a few examples:

  • utm_content=link1-inarticle
    Combined with the placement "inarticle" and with a progressive number, this value allows tracking of all the links that share the same properties (the first link of an article).
  • utm_content=link2-inarticle
    Combined with the placement "inarticle" and with a progressive number, this value allows tracking of all the links that share the same properties (the second link of an article).
  • utm_content=email1-link1
    Combined with the placement "email" and with a progressive number, this value allows tracking of all the links that share the same properties (the first link in the first email of a campaign).
  • utm_content=email5-link3
    Combined with the placement "email" and with a progressive number, this value allows tracking of all the links that share the same properties (the 3rd link in the 5th email of a campaign).
  • utm_content=banner-header
    Combined with the placement "header", this value allows tracking of all the HTML banners that share the same properties (placed in the header of the page).
  • utm_content=banner2-inarticle
    Combined with the placement "inarticle" and with a progressive number, this value allows tracking of all the HTML banners that share the same properties (the 2nd banner in the body of the article).
  • utm_content=image-footer
    Combined with the placement "footer", this value allows tracking of all the images that share the same properties (placed in the footer of the page).

As you can see, the possibilities are endless and the structure you use to build your utm_content parameter ultimately depends on what you want to track.

#5: utm_term

If this were a road trip, utm_source would be the theme of your trip (or the music you play when traveling).

You can use this parameter to track the performance of different marketing messages.
If you make a list of "allowed" marketing messages and you stick to it when you create your marketing assets, you track which one is the most successful by using the utm_term parameter in your UTM links.

Here are a few examples:

  • utm_term=discount10
    All the marketing assets shared with this parameter were proposing a 10% discount.
  • utm_term=dontmissthis
    All the marketing assets shared with this parameter were leveraging fear of missing out.
  • utm_term=lastopportunity
    All the marketing assets shared with this parameter were pitching the last opportunity to take action.

When used properly, utm_term can help uncover great insights on which message works best with our audience!

The Good, the Bad... and the mistakes

The good of UTM parameters is that we can give to them any arbitrary value.
This gives marketers great flexibility for tracking marketing assets and campaigns.

The bad of UTM parameters is that we can give to them any arbitrary value.
This creates innumerable opportunities for screwing things up.

Here is how...

Mistake #1 - Wrong Medium

Of all the mistakes one can make with UTM parameters, choosing a medium that is not recognized by Google Analytics is the worst of all sins.

In fact, utm_medium cannot be chosen arbitrarily but it must be chosen from a list of allowed values.

Here you find the list of allowed values for utm_medium: GA4 Default Channel Grouping

Take your time to understand that list and pick the value that describe correctly the medium you're using to distribute your marketing assets.

Mistake #2 - Inconsistent use of values

If the values passed to the UTM parameters are arbitrary and inconsistent, meaningful tracking becomes impossible.

Inconsistent UTM parameters can be generated under 2 different circumstances:

  • same value but different letter case;
  • slightly different value for the same parameter.

Case sensitivity

UTM parameters are case-sensitive.
This means that Facebook is different from facebook.

Every time you mix up the letter case of the values of your UTM parameters, you create extra entries in your tracking.
While this cam be fixed with filters in Google Analytics, it should be avoided in the first place.

Naming conventions

One thing is to get the letter case wrong, another issue entirely is to use different values for the same thing... and this happens more often than you think!

Here are a few examples:

  • utm_source: facebook vs fb
  • utm_source: instagram vs ig
  • utm_campaign: summer2022 vs summer22 vs summer_2022
  • utm_campaign: xmasholidays22 vs xmas_holidays_22 vs xmasholidays_22

As humans, we know these variations all mean the same thing... but for a tracking system they are all different entries and they are treated as such, generating countless variations that render reporting more laborious and painful.

While different marketers in the same team may have different opinions on which of the naming convention above is the best one, in the end they must come to an agreement and set things in stone by agreeing on which naming rules they are going to use and by writing down the actual values "allowed" for campaigns, sources, contents, and terms.

Mistake #3 - Wrong link structure

This is another very common mistake, a mistake that probably comes from poor understanding of what UTM parameters actually are.

At their core, UTM parameters are just - well - URL parameters.
This means they are a pair of key and value to be appended to a URL.

The syntax for this is simple:
  • utm_source=something
  • utm_medium=something
  • utm_campaign=something
  • utm_content=something
  • utm_term=something

So far so good... no one gets this wrong.
Things start to go sideways when you have to append those parameters to an actual URL.

URL parameters are appended to the original with a ? and they are concatenated with a &.

So if the URL you want to share is https://mysite.com/awesome-page, this will turn into:

https://mysite.com/awesome-page?utm_source=something&utm_medium=something&utm_campaign=something&utm_content=something&utm_term=something

...and even this is something that most people get right.

The problem is when one or more parameters are already appended to the original URL.

Take this for example:

https://mysite.com/awesome-page?contentid=1234&userid=5678

How would you append your UTM parameters here?

Most marketers would do it like this:

https://mysite.com/awesome-page?contentid=1234&userid=5678?utm_source=something&utm_medium=something&utm_campaign=something&utm_content=something&utm_term=something

..and that's WRONG!

Can you say why it's wrong?

Because there can be only ONE question mark in a link, but in the URL above we have two!

The link above is broken and its UTM parameters won't work.

The ? symbol has to be used ONLY to append the first URL parameter, whichever that is. All the subsequent URL parameters must be appended with the & symbol.

This is a very simple rule that even a 5 year old can grasp... but in the era of copy/paste it kills more URLs than you can imagine.

5 best practices to build reliable UTM links

If you are a smart reader you may have already figured out the 3 best practices that guarantee rock-solid UTM links.

Here they are

  • #1: use lowercase letters for all your values
    Using only lowercase letters will make your life easier and avoid ending up with unnecessary variations of your UTM values. This will result in clean reports in Google Analytics and you'll save time and headaches.
  • #2: agree on naming rules
    I can't stress enough how important it is to get all members of the marketing team to use the same naming rules, especially when it comes to utm_content (since the values for that parameter can assume a huge variety of combinations).
  • #3: keep lists of allowed values
    To make your life easier, once you agreed on naming rules, you can just write down the allowed values for utm_source, utm_campaign, utm_term (not that utm_medium already has its list of allowed values).
    Keeping lists of allowed values (and appointing one person to manage the list) will guarantee that marketers don't invent their own parameters.
    You can use a shared spreadsheet to keep track of your sources, campaigns, and terms.
  • #4: use a SOP and a checklist
    Once you fully understand the entire process of creating UTM links, the best thing to do is to write down a "Standard Operating Procedure" (SOP) for your marketing team.
    The SOP will explain every step of the process in plain English. It should also include a checklist that marketers can follow to get their UTM links right.
  • #5: validate your links
    Finally, before you share your UTM links with the world, come on this page to validate it and make sure it is built as it should be.

If you follow these 5 rules, all your UTM links will turn out perfect for tracking and they'll allow Google Analytics to assign the correct attribution to all your visitors.

Happy marketing!