Please Wait...

All Blog

The Complete Guide to UTM Tracking

Understand UTM tracking (codes, formatting, and more) in less than 10 minutes.

Posted On October 31, 2022


Marketing and measurement go very well together. You know your marketing is driving traffic, but do you have the hard data to prove it? On a client call or meeting with your boss, can you show the exact content and channels that are driving conversions?

Unless you can measure the impact of your marketing, you can neither improve it or use it to show your expertise. This makes scaling your business, getting new customers, and winning over clients a challenge.

This is where UTM tracking comes into play. These special codes at the end of URLs track clicks and performance of marketing activities.

This post will give you all the foundational data for UTMs: what UTM codes are, how UTM tracking works, and how it helps you accurately measure your marketing. But first...

1.‍What does UTM stand for?

UTM stands for Urchin Tracking Module . which comes from the company Urchin. They were acquired by Google in 2007 and essentially became Google Analytics. The deal was estimated to be only $30 million!

People say Facebook buying Instagram for $1 billion is the acquisition of the century. This one might be number 2


Urchin's first logo!

Why is UTM tracking important?

Most people assume that once they’ve set up Google Analytics, the work is done. I hate to say it, but that’s not quite how it works.

There’re a few things you need to do to ensure Google gets all the data it needs so it can give you the information you need to run and grow your business.

Think about it like a baseball game.

Google Analytics is your first baseman (any baseball fans out there? ⚾️) – there to catch the data that comes its way. Setting up Google Analytics and then assuming everything will be tracked automatically is like telling your first baseman never to move his feet off the base.

Sure, he might catch some of the data from your website, but chances are he’s going to miss a whole lot of opportunities that would have been easy if he took just a couple steps.

Even though you’ve got Google Analytics (GA) set up on your site, there’s still some valuable data you’re missing out on by not taking those small steps to truly maximize your results.

It's important to understand how UTMs help your marketing (and to also avoid mistakes as you set them up).

Brand Mission

Benefits of UTM Tracking
  1. Universal: UTMs are a universal method in tracking your marketing activity. They are used in Google Analytics and other popular marketing software
  2. Precise: UTMs go with the exact URL that is driving traffic and conversion. You won't have to question whether the data you see is accurate or not!
  3. Easy testing: By simply changing the UTM Content parameter, you can A/B test landing pages, social posts, and more.
  4. Flexible: YYou can use UTM codes for anything that is driving traffic. Use them across your campaigns, different channels, and content types

‍Insights you can get from UTM links

Here's a breakdown of just some of the insights you can get from using UTM links:

  • Where your customers are coming from (which tweet generated that traffic spike)
  • Who those customers are (like gender, age, and location)
  • How many customers came from a marketing strategy (e.g. guest posting)
  • How many customers came from each implementation of that marketing strategy (e.g. each guest post)
  • The ROI of each marketing strategy – is it worth the time and money?
  • Where your most profitable customers come from
  • Where your problematic customers come from (you know, the ones who ask loads of questions and barely spend any money)
  • What happened to the non-buyers so you can fix the things that turned them off (like your mobile site's font being too small to read easily)
  • Who's creating the winning marketing strategies in your team
  • and many many more...

A great example of using UTM links (aka UTM codes)

Did you know that email is still the highest ROI marketing strategy in the world? (and they say email is dead. Ha!)

If you’re not using UTM Links in your email marketing campaigns, it’s entirely possible you have no idea whether all the time you’re putting into them is even paying off..

UTM Links let you capture information about your traffic that would otherwise be missed.

Emails in particular, really need the help of UTM Links because Google Analytics doesn’t do a great job of identifying ’email’ visitors on its own. That’s because people read emails in so many different tools and all of them provide different data to GA when you’re not using UTM Links.

Just a few of the ways people can read your emails:

  • On their desktop using Apple Mail or Microsoft Outlook: these aren’t web pages, so they show up in GA as ‘Direct’ traffic
  • In their browser using Gmail or Hotmail: these sites are encrypted, so they don’t send any information by default and then show up as ‘not set’ or similar
  • On their phone using Mail, Outlook, or another mobile email app: these apps aren’t web pages either, so they usually show up as ‘Direct’ traffic too

Plus, companies like Apple are limiting the data 3rd party tools can access - making it even harder to measure what is working.

Each of these options is picked up by Google as something other than ‘email’ and that means, even though all the traffic came from the same email, you wouldn’t be able to tell by looking at your Google Analytics

Even worse, it probably looks like email isn’t getting results for your business.

But, by using UTM links you can tell Google ““hey, all this traffic is coming from *this* email I sent to my customer list on Thursday”.And that means when you look at your analytics reports, you’ll know exactly what results came from that email.

How does a UTM link work?

A UTM link starts with a '?' which signals the start of a query. You can type this at the end of any URL and put in whatever text you like. Go ahead and try it in the URL bar above!

See? This post loads exactly the same!

This is basically how UTM links work. You can create and send users to a unique URL ,but it won’t affect how they see the content! Google Analytics tracks those unique URLs at the individual level. This allows you to get even deeper insights into your marketing campaigns.

You may be asking yourself: doesn’t Google Analytics already break traffic sources? In short, yes. But the information they provide is very general and often inaccurate. For example, most traffic that comes from an email will be tagged as 'direct'. This isn't helpful if you're trying to see which emails are driving the most conversions.

You can bring together multiple UTMs (or UTM parameters) to create the query and define the exact purpose of your link to Google Analytics.

Once you have a chain of UTMs tracking various parameters, you will have supercharged your Google Analytics! Let's cover the basics of a UTM code next.

2.What is a UTM code?

A UTM code is a simple string of characters that can be added to a URL to track its performance for digital marketing campaigns

This is what a URL with a UTM code can look like:


Yes, that is a real link if you'd like to check it out!

Here’s another example:



TThe link above is a link we would use for a Twitter ad promoting an eBook launch

Let’s start from the left and build the link up piece by piece. First off, we have the webpage we want to send traffic to:


This should look familiar because it’s just a regular link — but now we want to add on our tracking tags, so Google knows how to categorize our traffic. To do that, we tell Google (and our web server) that our link is finished and that we’re starting our tags by adding a question mark:


From there, we add each of the UTM Tags that are used to categorize our traffic. Each tag is made up of a ‘key’ and ‘value’:


Five tags are recognized as UTM tags, and three of them are required. Each tag (key and value) is separated by an ampersand symbol (&) so Google knows when a value ends and a new key starts.


If you don’t make a plan for how to structure your links before you start using UTM links, you’ll spend hours trying to wrangle your data in the future.

3.‍The 5 UTM parameters recognized by Google

‍1. Campaign Source (utm_source)

Use this parameter to identify the source of your traffic. This could be a website name, search engine, newsletter name, or social network. Example: utm_source=google

2. Campaign Medium (utm_medium)

Use this parameter to identify the medium used to share and access your link. This could be email, social, cost per click (cpc), or another method. Example: utm_medium=cpc

3. Campaign Name (utm_campaign)

Use this parameter to identify a campaign or promotion tied to your link. This could be a product name, backlinking for SEO, sales promotion, etc. Example: utm_campaign=free+video+course

4. Campaign Term (utm_term)

Use this parameter for paid search campaigns to track relevant ad-based keywords. This helps you identify which keyword(s) resulted in a site visit. Example: utm_term=marketing-agencies

5. Campaign Content (utm_content)

Use this parameter to determine what someone clicked on to get to your site when there are multiple links pointing to the same URL, such as in an email or on a landing page with multiple CTAs. This parameter is also used to distinguish between ads pointing to the same URL. It is commonly used for A/B testing and content-targeted ads. Example: utm_content=cta-bottom

‍As mentioned above, the string of these parameters is what makes up a UTM code. The only parameters that are required are the first three. Let's do a deep dive into all them.

New UTM Parameters with GA4

‍The launch of GA4 has brought us 3 new UTM parameters!

6. Source Platform (utm_source_platform)

Identify the platform where the marketing activity was undertaken. By default this parameter, present both in Explore and as a secondary dimension, collects Google Ads or Manual (screenshot below)

7. Creative Format (utm_creative_format)

Identify the creative used (ex. skyscraper, carousel). It is currently not available in either the reports or in Explore (as of April 2022)

8. Marketing Tactic (utm_marketing_tactic)

Identify the tactic used (e.g. onboarding vs retention). It is not currently available in reports or in Explore. This is our personal favorite of the new parameters! This allows for more robust campaign structures for scaling agencies.

Campaign Source

Your Campaign Source should answer the question: “Where did they come from?”

Campaign Source is used to describe where your visitors are coming from


This is going to make sense, I promise.

Let’s imagine someone getting on a subway in New York City. It’s hot and balmy, and they want to get from downtown to go shopping uptown (on Madison Ave), but the city is gridlocked so there’s no point getting a cab. Let’s break down how that might look if it were a UTM Link (which would be kind of weird, but it makes things easier to understand).

The base of the link (e.g. //google.com) describes where you want to go – so for our example, we should be using ‘uptown’.

Then, you want to use the Campaign Source to add where the user is coming from. It might be tempting to say ‘subway’, but it’s important to use a place for the Campaign Source (the subway would be used for Campaign Medium, which we’ll cover next). So we’ll use ‘downtown’ as our Campaign Source since you will be coming from downtown.

This means the start of our link is going to be:


Now, for a little practice let’s imagine our subway system goes all over America so we need to be more specific with our source by specifying that we mean ‘downtown manhattan’. We have a few choices for representing spaces in our UTMs. My preference is to use a +, so our link becomes:


Formatting Your Campaign Source

When someone links to your site without using a UTM link, Google Analytics tracks this as a ‘referral’ and stores a ‘referring URL’ which has a similar purpose to our Campaign Source.

These referring URLs are in the format of ‘domain.com’ – i.e. Facebook would be ‘facebook.com’ – not ‘facebook’ or ‘https://facebook.com’. Since all our UTM data can be compared and measured against other traffic, we recommend sticking to the same format with your Campaign Source.

Campaign Source Specificity

Another choice you have to make is how specific to be with your source. For example, if you’re creating a post in a Facebook group you’ve got three viable options:

  1. Facebook – ‘facebook.com’
  2. The Facebook Group – ‘facebook.com/groups/groupname
  3. The Post in the Facebook Group – ‘facebook.com/groups/groupname/permalink/123456789’

Let’s start with Option #3 — this one isn’t a good idea for a couple of reasons:

  • you can’t know the source before you create the post so you’ve got to edit your post (not good); and
  • one of our guidelines is to “create meaningful groups of data” and if you’re being this specific in the Campaign Source, the rest of your tags don’t add much value and you’ll struggle to aggregate your data (because you’ll need to use filters to see results for each group).

Option #2 — this goes against the convention of minimizing specificity and matching your source to the referrer that would otherwise be used. I personally choose to use this option because I post a lot of links on various channels and want to be able to split my analysis by group easily.

Option #1 — this is the ideal choice, and instead you would describe the group (by name or link) in the Campaign Contents tag

Campaign Source Examples for UTM Codes
  1. xyz.com – most of the time you’ll just use the base URL for the site you're publishing the link to. If you have a channel you use a lot (like Facebook Groups) it can be worthwhile to specify the extra layer of detail. As a rule, I’d say this is only worth doing if you’ll be posting a link in each of the groups more than two dozen times
  2. internal– use this when you’re sending traffic from your own tools (like your email marketing software). Some people prefer to use the name of the software but if you change tools this can be a pain, so I’d put that information somewhere else (like the Campaign Content)
  3. affiliate+XYZ – use this to track your individual affiliates by replacing XYZ with whatever unique ID you use to track your affiliates. By always starting with ‘affiliate+’ you can easily group or aggregate all your affiliate data using a filter to see your total/overall results

When you create a Tomly.io account these are built in and available as presets.

Campaign Medium

Your Campaign Medium should answer the question: “How did they get here?"

The Campaign Medium basically describes the channel your traffic came through.

As a general guide, this tag will be your broadest category and is perfect for analyzing results at a channel level (like ‘social’, ‘email’, and ‘ppc’).

Let’s go back to our NYC example and think about what our Campaign Medium would be. Since the question we’re trying to answer is “how did they get here” our Campaign Medium will be ‘subway’. Here’s how a ‘link’ will look with that added (remember, we separate our tags with &)


It’s tempting to be more specific, but keep in mind – this tag is meant to be broad

You want to be general with this one, so avoid the temptation of using ‘subway+6’ to specify the line you’re using or ‘subway+6+1012’ (even worse) describing the line and the departure time. If that information is useful or important, you’ll want to keep it for the Campaign Content tag.

Campaign Medium Examples for UTM Codes

Here are some go to Campaign Mediums for you to use:

  1. social – uuse this for anything posted on a social network that isn’t paid for (built into GA)
  2. email – use this for any kind of email including automated & personal (built into GA)
  3. affiliate – use this when you’re paying an affiliate to promote your content (built into GA). Since an affiliate is going to be using multiple mediums, I’d suggest adding that information to the Campaign Content tag
  4. cpc or ppc – – use when running advertising that’s pay-per-click (built into GA). Pick one of these and use that all the time, I personally prefer cost-per-click (CPC) because it matches the format of other options
  5. cpv or cpm – use when running advertising that’s pay-per-impression (but isn’t ‘display advertising’ such as banners). Pick one of these and use that all the time, I personally prefer cost per mille (CPM) as it’s more commonly used in the industry
  6. display or banner – use when running advertising display ads like banners or Google’s Display Network; generally these ads are defined as using an image that contains all the text etc, rather than having the text appear natively (built into GA). Pick one of these and use that all the time, I personally prefer display as it’s more general
  7. guest+blog – use when writing blog posts for other people’s site with the goal of getting people back to your site (our recommendation)
  8. promoted – use when promoting a social media post such as Facebook boosted posts, and Twitter promoted tweets (our recommendation)
  9. sms - use when promoting via SMS campaigns, great way to get really high read rates with your list (our recommendation)
  10. offline – use when promoting through offline channels (our recommendation). If you do a lot of offline promotion, you may want to be more specific by using sub mediums like offline+billboard or offline+flyer. Keep in mind, you’ll want to use a custom/vanity URL that redirects to a tagged link/

I know this is a long session, but it’s the core of the UTM system and once it’s covered the hardest part will be over.

Keep up the great work!

Campaign Name

Your Campaign Name should answer the question: “What was the marketing campaign that brought them in?”

Your Campaign Name describes the overarching campaign that the link is promoting.

This tag is used to group links you create that have the same goal or message. For example, if you're launching an email course, you'll use something like ‘email+course+launch’.

Back to our NYC example, this one is a little harder to translate but let’s say that we’re heading uptown to the strip of stores on Madison Avenue. Let’s imagine those stores have recently done a promotional campaign through various hotels called “Operation: Shop The World” promoting that all the best designers in the world can be shopped in this one beautiful location. That would mean our ‘link’ needs a utm_campaign tag added:


The Campaign Name tag is the most flexible because its value will be based on your own naming conventions. The most important thing here is to keep it simple and keep track of your campaigns in a consolidated place.

This is the first tag where you would consider including detailed information like dates — for example, you could have ‘sale+promo+summer+2016’ or ‘black+friday+2016’.

Campaign Name Tips & Tricks

There is one campaign that we recommend adding to your arsenal though, and it’s one people use all the time – ‘personal+outreach’. Use this campaign to group together all the miscellaneous promotion you may do on social media and blogs that don’t fit into a particular campaign (like a product launch).

If you have multiple people in your marketing team, you may want to create a unique campaign for each person e.g. ‘personal+outreach+cs (which uses my initials).

Try creating a habit that will allow you to easily group together related promotions by starting the campaign with the reusable part e.g. ‘email+course+free+tracking+system+launch’ and ‘email+course+free+tracking+system+ongoing’ and ‘email+course+free+tracking+system+version+2+launch’.

Campaign Content

Your Campaign Content should answer the question: “What else should I know about how they got here?”

This Campaign Content is used to differentiate links that would otherwise be grouped together because the source, medium, and campaign are identical. The information you store in this tag should be meaningful and provide the detail needed to break down your links to a useful level of specificity . This one is optional, so if you don’t need it for a particular link, you can leave it out. The tag also plays the role of a notes section of sorts and for differentiating variants when running split tests.

Generally speaking, your goal is for each link to be uniquely identifiable – and this tag is a great place to distinguish otherwise identical links.

The Campaign Content tag is often used in advertising campaigns to differentiate individual ads within the same campaign. When deciding how to identify your variations, I’d recommend adding a unique code that is then described elsewhere (the last lesson will show you a tool that makes this easy).

It’s also a place to store additional information that otherwise had to be missed.

For our NYC example, this is the perfect place for us to store information about the particular subway line and the time it was caught. This information is much too specific for other tags, but could prove useful in our analysis (maybe people who get the 6 line subway tend to spend more money in our store). Here’s what our ‘link’ might look like:



You might be thinking, what if there’s a lot of information I want to store? What if there’s information I want to store that the user shouldn’t see? In both those cases, you’ll want to use a content tag that is unique butstore the information elsewhere with a reference back to the unique tag.

Keep in mind that the structure of the Campaign Content isn’t as formal as the other tags, so focus your energy on including the important information instead.

Campaign Term

Your Campaign Term could answer the question: “What were they searching for?”

Your Campaign Term is for tracking search terms when running search-based advertising. This one is optional, so if you don’t need it for a particular link you can leave it out.

The Campaign Term is a place to capture the search intent of your traffic, and when using AdWords, it’s actually handled automatically for you (along with your other UTM tags). If you’re using a different paid search tool (like Bing), you’ll need to track your terms manually.

In our NYC example, it’s not an exact representation but let’s say we’re particularly keen on some Prada ® Loafers — so we’ll describe that as what we’re searching for. Let’s add that to our tracking ‘link’:



It’s worth mentioning that nothing is stopping you from using this tag for something else if you want to. I sometimes just use the Campaign Content tag as my catch all, but you could use Campaign Term instead — just be sure to stick to the same tag for consistency.

4.How to properly format UTM codes?

UTM links are simple on the surface, but there are small details that can trip you up — and for some reason, Google does a terrible job of pointing them out. If you don’t follow the guidelines, you could end up with misleading or incomplete data.


Think about how you want to use the data once you’ve got it before deciding on your tags . This should be your guiding principle. Most of the power in analysis comes from combining and comparing multiple pieces of data — so don’t assume every tag has to be stacked full of information. Each tag is designed to make up a single piece of the data puzzle.

It's more art than science (ironically), but you’ll need to ensure each of your tags is ‘pragmatically specific’ – meaning they should each provide value when you come to analyze them later.


Since UTM tags are read by software, they’re not able to interpret and combine variations – even if they’re meant to be the same thing. This means that you need to pick one format and stick to it because Google won’t be able to tell you meant the same thing by ‘facebook’ and ‘fb’.

We recommend using the full name of things so that you don’t have to remember what your abbreviation was. Plus, it’s easy to know exactly what you meant when you or your team are reading reports later (ex. facebook.com).


Many people do not know that UTM Links are case-sensitive. As far as Google is concerned; ‘LinkedIn’, ‘linkedin’, and ‘LinKEd iN’ are all different! So we need to make sure we’re consistent. Always use lowercase (ex. linkedin) for your UTM tags.


Because our UTM tags are sent as part of the URL, spaces don’t work out very well, but we have a few options to work with:

  • leave out the spaces e.g. ebooklaunchcampaign — this works, but makes your tags hard to read in your reports
  • use underscores or dashes e.g. ebook_launch_campaign or ebook-launch-campaign — this works, but it’s not as easy to read
  • use + signs, which Google will convert into spaces in your report.

Ex. ebook+launch+campaign — this isn’t as easy to read in the URL, but Google translates this into spaces in your reports (recommended).


Pulled from our Google Analytics account - originally written in our UTM code as "utm+course+v2"

UTM Formatting Guidelines Summary

  • Group things logically and in meaningful chunks – don’t be too specific or too broad
  • Be consistent – Google can’t tell you mean the same thing by ‘facebook’ and ‘fb’
  • Always use lowercase. UTM links are case-sensitive
  • Don’t use spaces, use + instead. Google converts this to a space in your reports

‍By the way, Tomly.io does all this for you automatically using autocomplete and link formatting (replace spaces and converting to lowercase). Try it for yourself with a 14-day free trial.

5.How to find tagged URL data in Google Analytics

Once you start getting traffic to your UTM links, go to the Acquisition tab, Click 'Campaigns', then 'All Campaigns'. You will now see a breakdown of your campaigns and you can filter and compare across your other UTM parameters. To improve readability, including the '+' symbol in your UTM parameters. Google Analytics will automatically insert a space in the reporting.

blog blog blog blog

Stay in the Loop: Subscribe for Tomly.io
Updates, News, and Exclusive Offers