It’s easy. When you understand how to set up Google Analytics UTM tags in the right way, you’ll be able to accurately measure your digital marketing performance. UTM tags offer the greatest accuracy for measurement in digital analytics today. They help you to measure any traffic across the whole spectrum of digital advertising, both organic and paid. The goal of this guide is to provide you with the information you need to set up UTM tags in the best possible approach.
Here’s what we’re going to cover:
- What is a Google Analytics UTM Code?
- How does a UTM Parameter look?
- Where are UTM Codes used?
- How to structure UTM Parameters?
- How to use your data for analysis?
- See also
Let’s start here with some general history of advertising measurement. Before the advent of the internet impact of advertising was measured with panels. This means a test group of people had a device at home tracking what they were watching on TV or listening on the radio. This sample data was then taken and used for marketing optimisation.
With digital marketing analytics arriving in the early 2000s, it was possible to analyse each customers click behaviour instead of a sample. A few technologies emerged and UTM, which stands for Urchin Tracking Module was one of the most widely adopted. As of this writing, UTM codes are the standard for most advertisers.
Google Analytics UTM (Urchin Tracking Module) parameters are five different variants of parameters which are used by marketers to measure the effectiveness of their digital marketing activities. They are strings of text which are appended to a URL. A marketer can then understand how many clicks have been sent to a website with these parameters. This information is then made available in Google Analytics or other platforms utilizing the UTM data.
There are alternatives like Adobe Analytics Dynamic Tag Management, but given the hefty price involved in buying the Adobe Analytics suite, it is not used as often as Google Analytics, which is free. It’s hard to beat free.
There are five different variants of Google Analytics UTM tags. Campaign Source, Campaign Medium, Campaign Name, Campaign Term, Campaign Content. It is important to keep them in a defined format. Please take note that they are case sensitive.
utm_source= helps to identify where the traffic is coming from. Sample sources can be
utm_medium= identifies the medium of traffic. The most commonly used ones are
cpc (auto-tagged for Google Ads),
display. Google, for example, could send you traffic from a paid-search campaign, which would be tagged as
cpc, as well as display network, which would be tagged as
display. Here you have great freedom of tracking many different mediums. Depending on your setup you might have
meta-search and many more.
Important: We often see non-medium related campaign information being stored in medium, which is not advisable as you want to keep the tracking clean.
utm_campaign= identifies the campaign. In this UTM parameter, you want to store the information about the campaign name, which will differ greatly from campaign to campaign. The campaign names could be
SEM-Brand-Campaign-English. But there is more to it if you want to have a truly standardised approach across all channels. Scroll down or click here.
utm_content= is used to track the ad or the link where the traffic is sent to. This helps you to test different variations of the same ad and their efficiency. In the context of display advertising, it could contain the audience information (for example:
25-35year_postgrad). You can use this dimension to track specific links in an email to see what works best (for example:
middle-text). For paid-social activities like Facebook, it is often used to store the ad set name. More information on how to do this is below in the campaign term section.
utm_term= is used specifically for paid search activities and for Google Ads is auto-populated if auto-tagging on Google Ads and Google Analytics is turned on. Sample content of utm term could be:
+running +shoes +black or
luxury resort bali. In some cases we see advertisers using the
utm_term= parameter for storing the Facebook Ad name or Facebook Ad ID, which can provide an additional dimension for optimisations on paid-social. Facebook provides a nice tool for this and we wrote an article on it here.
Google Ads is by default auto-tagged and you will get all your activities automatically tagged. If you want to export paid-search UTM reporting into third-party reporting applications you might need to use auto-tagging (more on this here: UTM tagging vs. Google Ads auto-tagging: What should I choose?). Other paid search providers like Bing, Naver, Yahoo! Japan or Baidu also support UTM tagging.
We recommend tracking all links within your emails. You can get insights on what links within emails work best on what audience on which campaign by using all the dimensions mentioned above. Especially when measured correctly (e.g. Non-last-click attribution models), the insights you can gain from tracked E-Mails are well worth the effort to tag them.
You should tag all your social media activity, be it paid or organic. For paid traffic, the easiest is to use the auto-tagging tool which Facebook offers.
Tagging all your display and native advertising activities is necessary if you want to get transparency.
As long as you are sending traffic to your Google Analytics tagged site, you can track it using UTMs. Examples for UTM tagging used could be Billboards with UTM codes, WhatsApp links, affiliate websites, industry-specific meta-search engines etc.
Important: The one thing you should not do is tag your own assets on your web-site with UTM-codes as this will override the original referral source and identify the existing visitor as a new visitor. We have seen many many hours of work going into fixing this issue.
Depending on the complexity of your setup, we recommend using an overall standardised approach for all channels. This will become handy when in a second step you want to slice and dice the data using other tools (it may be Excel or it could be your marketing data integration tool). Especially for larger, more complex setups we recommend a sample campaign naming like this:
You should use several different columns of information and store them into one string, delimited by an underscore
A1 Agency: Identifies if this is managed by an agency (a1 = agency 1) or whether it is managed in house.
PM Campaign Type: This could be
PM = paid media,
NP non-paid media or
CRM which are CRM related campaigns
Local Budget: This identifies the budget. This could be
SEM Campaign Type: This could be
AU Country (website): This identifies the website the traffic is driven to. This could be e.g.
US = United States,
AU = Australia, …
GSEM Channel: This identifies the channel of the advertising.
GSEM stands for Google SEM. This could also be
YOUT = Youtube, …
EN Language: This identifies the language. This could be
JP (Japanese), … It’s important to keep this separate as some countries have multiple languages and multiple countries share the same language.
BRAND Search category: This applies only for search campaigns. This could be
COMPETITOR. In a case where the campaign is not search-related, it will be set to NA (not applicable)
Ongoing Campaign name: This identifies the campaign name. Examples here are:
Ongoing (Always on campaigns)
Here is a Google Sheet containing all this information. You can use it as a base to create your campaign namings.
Now comes the fun stuff. After all this work of doing the tagging, you now have a data set which is ready for analysis. Now you have all the UTM dimensions available in Google Analytics. This means you have conversions tracked and for Google Ads, you will also have the costs directly available in Google Analytics.
Step 1: Connect the rest of the spending data from the other places where you have a media buy. This will require you to subscribe to a marketing data integration tool.
Step 2: Visualise all your data in a BI tool like Google Data Studio, Microsoft Power BI, Tableau or Qlik.
Step 3: Optimise your campaigns and work with advanced attribution models. Here I would like to quickly mention what we at Windsor.ai focus on: multi-touch attribution. Keep in mind that all the information you get from Google Analytics is all based on a last-click model. As a consequence, all credit for the conversion is given to the last interaction before the conversion. Now by default, this makes paid-search look very good in terms of contribution, which misleads marketers when they make budget allocation decisions. A better way is to look at multi-touch attribution models before jumping into last-click based optimisations. We’re explaining this topic in depth here.
Google Analytics UTM tags, if set up correct allow you to get the best possible granularity when looking at your analytics data. Having so many possibilities for the tagging allows you to gain invaluable insights but may also lead you to a messy structure. The most important here is that you work with a standardised approach across all channels. Once you complete this exercise it’s time to start visualising your data.