What is a UTM?
UTM stands for Urchin Tracking Module. From here on in, we’ll refer to them as UTMs.
UTM Tags are small chunks of information appended onto a URL which helps Google Analytics and other measurement platforms gather more information about how a user arrives on a website. Here’s an example URL from our weekly newsletter with UTM tags attached.
|UTM Tag||Description||Usage Examples|
|utm_source*||The origin of the user||google, facebook, linkedin|
|utm_medium*||The marketing medium||email, organic, referral, ppc|
|utm_campaign||The marketing campaign||shoe-sale-aug-2018|
|utm_content||The content that drove interaction||mo+farah+track+run+video|
|utm_term||Used mainly for paid ads to identify the keyword which triggered an ad to display||running+shoes|
Each of these UTM parameters can contain information to help better understand how and why a user entered a website. Most of the time, they are used to track campaigns which can help attribute sales to specific campaigns.
UTM tags should be considered for any URLs shared outside of your own website. It’s important to track as much data as possible from incoming visitors.
Keep a record
Campaign data in Analytics can turn into a mess if UTM usage isn’t regulated and formalised. We recommend keeping a spreadsheet of all UTM information and the URLs they have been used on. It’s good to ensure everybody in your organisation is singing from the same spreadsheet.
To make life easier, we’ve put together a spreadsheet which automatically builds your new UTM tagged URLs for you. Make a copy or download it for use in Excel.
UTM Record Sheet Template
Grab a copy of our UTM Generator spreadsheet and start keeping URL records within Google Sheets.
Google UTM Parameter Builder
Alternatively, Google has built a UTM generator which is easy to use and free. The downside is that these UTM URLs then need to be stored elsewhere for record.
Utilising your new UTM Tags
We send out a weekly newsletter with a few stories from within the PPC, SEO and Analytics industry which we think are important. It would be useful to see how users are interacting with these emails. If we have an idea of what’s popular and what’s not, we can rearrange the design. We can use utm_content to track which elements are clicked on the most.
|UTM Content||Usage Examples||Sessions|
The data gathered from these clicks would be recorded by Google Analytics, providing us with the information we need to assess the effectiveness of the design and content of the email. In this case, we can tell that the most popular element in our email campaign is the initial post image. We can also see that not many people interact with our logo - we could make an adjustment to make it smaller and increase the size of the post preview image instead.
UTM Best Practices
Let’s look at some best practices to help you nail your UTM usage.
Set UTM Rules
It’s good to design a UTM format which allows for future iterations of campaigns. If you are planning to run a sponsored Facebook campaign for car rentals during August 2018, make sure it’s explicitly about that. Generic tagging causes problems for reporting.
Bad UTM Tagging
Why is this bad? It’s too generic. There could be more detail around when it's taking place and what’s in the advert.
Good UTM Tagging
Adding more info into the campaign tag prevents retroactively searching for which campaign this was based on the date it became active in the report. We also know that this was a geolocated add for South West England featuring a specific type of vehicle and scene and even where it was located on Facebook.
UTM information is case-sensitive. The effects of using a mixture of upper and lowercase will show up as different campaigns in Analytics. We don’t want this as it requires extra work to merge data. The below URLs both clearly reference the same campaign but use different casing:
Google Analytics would process two different rows for the above UTM tags causing issues with reporting:
3WH Tip: If you’re seeing data like this in your reports, you can stop it happening any further by setting up lowercase filters in GA. This won’t fix historical data, but it will rectify any incoming UTM tags with incorrect tagging moving forwards.
Use ‘+’ to make spaces
Most of the time, dashes and underscores are used in UTM tagging. This isn’t a bad approach but it could be better. By using the + symbol, this will instruct Google Analytics to convert it to a space in reports. This makes it a lot easier to read and understand. 3WH tip: If you use Google’s UTM generator, it’ll convert any space to the encoded version: %20 - This is isn’t converted to an actual space in Google Analytics.
Does it make sense?
A URL with UTM tags should make sense without any extra assistance from a reference manual or from the marketing team. Don’t aggressively shorten each word to save space. If we refer back to our original example, it’s clear where this link originates from:
It’s from the MailChimp email automation platform, its the 3WhiteHats Hattrick blog post for July 2018. Extra info: The user clicked on the blockchain image preview to get to the post.
Don’t re-use UTM data for different campaigns
Record each UTM used so you have a list of which ones have been used. It’s good practice to not re-use the same values as this can create messy reporting.
Be consistent with UTM structure
Build a format for you and your team to follow. Don’t pick random words for campaign or content names. Refer back to your UTM record list to ensure consistency is being upheld.
Don’t use UTMs on internal links
Never use UTMs for internal links on your website. Google Analytics is capable of tracking internal link clicks. By adding UTMs internally, you’ll lose where the user initially clicked from. This could impact the analysis of user behaviour on the website. This is also hugely time consuming to do. If you are looking to monitor internal promotions, Google Analytics has a system in place for this as part of their Enhanced eCommerce setup.
More information on this is available here: https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#measuring-promos
Keep your sources simple
It is common for data meant for the Medium tag to fall into Source tag. It’s good practice to ensure that all data sits in the correct UTM tags. Here are some examples:
Source and Medium are Required
To use UTMs, you must use utm_source and utm_medum as a bare minimum. It is not possible to use, for example, utm_content on its’ own:
If either of these are missing, Google will ignore all UTM data for the given URL. As a result, the above example wouldn’t work.
Test your UTMs
It’s a good idea to give your new UTM appended URLs a test drive. Head over to your real-time report in Google Analytics (make sure it’s an unfiltered view ) and then try running the link in your browser. Here we have tested the example link at the start of this document.
As you can see, the real-time report is showing the correct parameters with + symbols converted to spaces.
Adding UTM tags in Facebook Ads
Facebook has a designated area which allows for UTM tagging for sponsored content. Do not add the UTM tags to the Website URL field as they will be ignored. There is a purpose built section for UTM parameter tracking below the Website URL fields:
Adding UTM tags in Google Ads
Google Adwords uses a useful automation tool called Auto Tagging which will pass all information about the advert, the campaign and the keywords used to invoke the ad into Google Analytics.
Enable auto-tagging in Google Adwords
To enable auto-tagging:
- Sign in to your AdWords account.
- Click the gear icon, and select Account settings.
- Make sure you're on the Preferences tab, and click Edit in the Tracking section.
- Select (enable) or clear (disable) the Auto-tagging checkbox.
- Click Save changes.
Once this feature is enabled, there is no need to use custom UTM parameters.
Our recommendation is to use auto-tagging over UTM tagging as this provides more granular data around campaigns, ad groups, individual ads and the keywords which triggered user interaction. All of this data is then married up against Google Analytics user data such as Sessions, Bounce Rate, Exit Rate, Pages / Session etc.
Note: If you have connected Google Analytics and Adwords together, this feature will already be enabled.
If for some reason you have to override Google Ads campaign data, it can be done by enabling an option within Google Analytics.
To enable manual UTM tagging override, head to:
- Property Settings
- Advanced Settings
- Tick “Allow manual tagging (UTM values)...”
Using UTMs can help us understand where and how users arrive on a website - but there are some caveats to be aware of.
People often share links with friends and family through direct messaging services like Facebook Messenger and Whatsapp. While this is great for business, this causes misleading results in reporting. Here’s an example:
A user sees a sponsored ad on Facebook which contains a URL with UTM Tags. They click on the ad which takes them to a website to view a product. They copy the URL from their browser and send it to a friend. Their friend clicks on this link and views the same product.
Both users will be recorded as visiting the website via the Facebook sponsored ad. This is because the UTM tags were copied from the browser prior to sharing the link. While in most cases, this isn’t a bad thing, it can lead to inflated campaign statistics which may not match up with native reporting from ad platforms like Facebook Ads. Something to bear in mind.
Using a shortening service like bit.ly or goo.gle is useful if you want to tidy up URLs in your content. However, if used incorrectly, UTM data can be lost. Always ensure that UTM tags are added before shortening the URL. If they are added afterwards, anybody who uses the link will first visit the website which will unshorten the link and then be forwarded onto the destination URL without UTM tags. This is because URL shortening services ignore query parameters appended onto a shortened URL. Here are some examples:
URL + UTM Tags > URL Shortener > Shortened URL
URL > URL Shortener > Shortened URL + UTM Tags
Here's a recap of the tools I've talked about and a couple of others:
Google UTM Generator: (No option to save):
3WH UTM Spreadsheet:
Terminus - Enterprise Level UTM Management:
Auditing your Google Analytics account for query parameters can be tedious but helps keep page reports clear of unwanted row duplication. We talk about the effects of collecting unwanted queries on your reporting and how to fix it. We’ve also built a free tool to make the process easier.
When a form has been successfully submitted to HubSpot, HubSpot propagates an event that we can listen to and use to trigger marketing tags within Google Tag Manager. Below we create a Custom HTML Tag that listens for a form success, trigger a dataLayer event which can then be used to trigger a marketing tag to push this data into Google Analytics.
Service Provider and Network Domain dimensions are no more. Let’s get Service Provider data back online. We’ll show you how to re-enable ISP data using Google Tag Manager and an IP Lookup Service.
Track when users leave your site to visit your social media pages. Understand when your content is driving positive move to your social assets.
The use of social sharing widgets is commonplace. But who’s actually tracking interactions with these? Let’s make a count of how many people are clicking these buttons and record a social share rate to see how many readers amplify content on social media.
Anybody who uses DoubleClick Floodlight knows the slow process of implementing a new tag for each activity for a campaign interaction or conversion. If you’re using Google Tag Manager to add a tag, trigger and maybe some new variables for every new Floodlight – it won’t take long for your container to overfill with almost identical tags. While there’s nothing wrong with this style of implementation, there is another way.