What’s UTM tracking and how does it work?

You might have seen them when you’re trying to share a link. There’s the easy to read URL, something like www.ecowebhosting.co.uk/web-hosting, and then there’s a ? and then there’s just a pile of…something after it, so that the entire link looks like this:


What is all that, why is it important, and how can you make your own?

Welcome to the wonderful world of UTM tracking.

What is UTM tracking?

UTM stands for Urchin Traffic Monitor. Urchin was an analytics programme that was bought out by Google and turned into Google Analytics.

By adding UTM parameters to your URL, you can track how your visitors use that URL, and from that, see where they’re going, what they’re doing, and where you can optimise your site and your marketing campaigns even more.

How does it work?

There are five parameters you can add to each URL:

  • utm_source — identifies where the visit came from
  • utm_medium — identifies what type of link this is
  • utm_campaign — identifies what campaign this is a part of
  • utm_term — identifies what search this came from
  • utm_content — identifies exactly what was clicked in order to get here

utm_source is required, but you can use the rest only as needed. Start with a question mark, add in your utm_source, and then attach each additional parameter with an ampersand, so it looks something like this:


Because these parameters are logged in Google Analytics, they make it easy to track people coming to your site.

For example, these are some of the utm_source parameters we have that show up in our Google Analytics (under Acquisition > All Traffic > Source/Medium):

Screenshot of our Google Analytics Source/Medium report, showing utm_source details.

You can see the details I’ve put into utm_medium in this list, making it easy for me to see which emails result in the most traffic to the site.

If I go into Behavior > Site Content > All Pages, choose a particular page to look at, and add in Source / Medium as a Secondary Dimension, I can then see which emails point people to a certain page:

Screenshot of a Google Analytics report for the Web Hosting page, showing the utm_source results as a Secondary Dimension.

Which comes in very handy if, say, we had just done a campaign letting people know about domain names. Or something like that.

Screenshot of a Google Analytics report for the Domain Names page, showing the utm_source results as a Secondary Dimension.

How do I make my own UTMs?

The beauty of UTMs is that you can put in anything you want into them, provided it fits the general idea of what it’s supposed to be. Want to name every button that takes people to the home page homebutton? That goes into utm_content and it’s good. Want to name your campaign facebookmillionaires? You might want to lower your expectations, but you can name your utm_campaign whatever you want.

Just work out what you want them to say, make sure you’d recognise them when they show up in your Analytics, and add them into your links.

Ours, we put in a bit more detail, just because it makes it easier to track for me. So, for example, in utm_source, I have:

[type of link]-[date]-[campaign]

Which means that when it’s something like:

Screenshot of the Google Analytics report for the Domain Names page, with Source/Medium as a Secondary Dimension, showing the utm_source of p-111120-newdomainsearch

I can instantly see that it’s a promotional email (p) sent on November 11th, 2020 (111120), and it was the campaign promoting the new Domain Names page (newdomainsearch).

I also add more to the utm_content as well, especially with emails:

[location]-[link type]-[where it’s going]

So when there are two links in an email to the same page, I can see which one was more effective by adding in Ad Content as a Secondary Dimension (Advertising > Ad Content):

Screenshot of the Google Analytics report showing the Domain Names page with a Secondary Dimension of Ad Content, which shows the utm_content for both b-t-domainnames and b-b-domainnames.

And the winner is the link in the body of the email (b) that was a text link (t) to the Domain Names page (domainnames).

Do I have to write them out by hand?

Thankfully, no. Google has a Campaign URL Builder that will generate all the UTM data for you. You still need to figure out what each field will say, but at least they’ll build it for you.

Or, if you know your way around a spreadsheet, you can create one that’ll build the URLs for you just as you want it. I have one that ties into a Google Form, so all I need to do is select certain attributes, enter in some information, and it spits it out for me in a spreadsheet.

Screenshot of the some of the fields in a UTM Tracking form, including what email/link the link will be in, and what date it is going out.

If you want to see where people are coming from, UTM data is a fantastic way to track them. It takes a little bit of work to set up, but once it’s rolling, it really brings in the data.

Good luck!

(Featured image by Stephen Phillips on Unsplash.)