The Definitive Link Tagging Guide

How to use UTM tags like a pro

--

This post provides an in-depth guide to link tagging for marketers relatively new to link tagging. If you’re familiar with the basics of UTM tags, skip to the details further down, or refer to the UTM Parameter Quick Reference and Examples.

The basics: what is link tagging, and why do we need it?

One of the key requirements for sophisticated marketing and growth efforts is to be able to accurately identify where all our website visitors are coming from.

At the top we have our different channels: organic, paid, social, email, referral etc. Drilling down we should be able to point to the results of specific campaigns, identifying unique visitor numbers — and in turn costs — at a granular level, for everything from individual ad creatives to specific email newsletters.

Tools such as Google Analytics give a reasonable high level view of which channels our visitors are coming from, utilising technical clues from the traffic such as the HTTP Referrer header and URL query parameters set by ad networks such as Adwords:

A typical Google Analytics traffic acquisition sources chart — but is all that direct traffic really direct?

However, without additional work the data is usually not fully accurate. In particular, a common pitfall is that:

Many visitors tagged as “direct” actually came from another source, but have been misclassified.

Our aim is therefore simple: to expose the true source of traffic in as many cases as possible. In turn we increase the accuracy of our traffic attributed to direct visitors, by excluding as much of the not-actually-direct traffic as we can.

UTM tags to the rescue!

To do this, we utilise UTM tags — query parameters in the URL — for each link that first brings each visitor to our website. If you’re not familiar with UTM tags, you may likely recognise UTM parameters from URLs you’ve seen that resemble the following:

https://www.awesomesite.com/?utm_source=facebook&utm_medium=cpc &utm_campaign=winterpromo&utm_content=ad1

Tip for rookies: If you’re new to UTM tags, I recommend this introductory post from the lovely folks at Buffer, which walks gently through all the basics: https://blog.bufferapp.com/utm-guide. Go take a read of that first, then come back to join us here.

Note for mobile apps: the same principles apply for apps downloaded via app stores — we still need to identify and track where all our downloads and users come from as best we can. For native apps we should use deep-linking platforms focused on install attribution such as Branch, Adjust or AppsFlyer, which each use their own dark-art magic to join the dots between when visitors follow appropriately tagged links to the app store, and then subsequently open the app having downloaded it to their device.

Tag all the things! How to go about tagging

Ideally, our goal should be for every inbound link directing traffic to our site to be tagged with UTM parameters appended to the URL so we can fully identify the source.

All of them.

Start by assuming you should tag everything — including unpaid traffic and visitors from social platforms, links in email newsletters, and notifications from our own product.

Whenever we’re using a marketing tool, look for the option to tag links — it’s typically there to be made use of!

In reality, we can’t control every URL — others may link to our site of their own accord (and let’s hope they do!). But the aim should be to tag all the links that drive traffic to our site that we have control over. And as it turns out, we can control far more URLs than we might initially think to cover when first implementing link tagging.

Most people start with tagging their paid ad campaigns, but are you currently tagging all of the following?

  • Links within emails we send: newsletters, marketing emails/lead nurturing, product notifications & automated reporting emails to our users.
  • Organic links from our own social media pages and profiles.
  • Links from our native mobile apps to open your website.

Start by creating a list of all the places people may find a link to your site, and go through ensuring each location has been tagged appropriately.

A smart approach is to use Google Analytics to drill down and identify where we’re actually receiving traffic with incomplete or missing tracking — this way we can prioritise our time appropriately to get the best value, observing the 80–20 Pareto principle.

1. Start by looking for traffic that’s partially identified:

  • Referral traffic where you know the domain but not which page/post/piece of content. This includes social networks — by default Google Analytics will recognise from the referrer most of your social traffic and classify it as such, but to get really sophisticated we should be able to analyse and learn from which specific posts/content drive traffic.
  • Ad campaigns — do we know which specific creative/ad messaging drives the most visitors?
  • Traffic from emails — but which campaigns/links work the best?

2. Next, look for signs that traffic has been misclassified as direct:

  • Examine landing page URLs for traffic tagged as direct — the landing page URL can drop a lot of clues as to where the traffic is actually coming from.
  • If our site is not served over HTTPS, browsers will not send the referrer for links from other sites that are served securely. Simple fix: ensure we’re using SSL for all pages! AWS and the like now make this super easy and cheap in most cases, so there’s no excuse.
  • Other attributes: is a lot of direct traffic coming from mobile devices, attributed to browser names we can recognise as in-app browser windows such as those from social apps?

3. Tag the traffic you know, to understand the traffic you don’t.

There’s always a baseline amount of traffic we can’t identify — direct traffic that seems to come from nowhere and follow a life of it’s own. As/when we come to scale offline advertising, direct may be a significant part or even majority of our traffic.

Ensuring we have appropriate tagging on every last pice of traffic we control leaves us in the best shape to interpret and model our un-trackable traffic. When we can no longer tag any more of our traffic directly, the next step involves segmenting our direct traffic by dimensions such as geographic location and device to better understand where our users are coming from — another topic in itself!

Aside — correctly tracking organic search and brand terms:

Separate from the topic of link tagging — but useful nonetheless — the following two tips help ensure we’re interpreting our traffic sources correctly:

  • Collect the maximum data on organic search keywords. These days it’s harder to determine which keywords our visitors searched for in order to find us within organic search than in days gone past — Google and the like have been progressively withholding/masking this information from us in many cases. (We could be forgiven for thinking they want us to pay for more search ads in order to understand our traffic..)
    In order to have the maximum organic search keyword data available, ensure we’re both:

1. Serving our website over HTTPS (Google now runs over HTTPS so we’ll hit the referrer problem)

2. Utilising the Google Webmaster Tools/Search Console keyword report, where we may potentially discover a little more information.

  • Separate out “brand terms” from organic search and paid search traffic. Many users search Google for our brand name and click on the first link rather than typing in our full URL (or type the URL into Google’s search bar because they believe Google is the Internet..). The intent for all these users is the same, however — they’ve started from a blank slate with the intention of bringing up our site, so it follows we should consider them all “direct” traffic and categorise them as such.

UTM Parameter Quick Reference & Examples

So many parameters — how can we make sense of which tags and values to use where?

Refer to my separate post UTM Parameter Quick Reference for a handy reference sheet an examples:
http://bit.ly/utm-reference

Other tips for effective link tagging

  • Get the key source & medium tags correct as described above.
  • Settle on a standardised way of naming your campaigns via utm_campaign and referring to ad content via utm_content.

Keep tag values short, but understandable. Use abbreviations judiciously — values should be easily recognisable without having to refer to your notes. If you find yourself repeating a lot of the content within campaign tags, it’s a good sign you can likely omit much of it.

Avoid starting all your campaign names with an identical prefix — in many places within Google Analytics and other tools, longer campaign names will only display the first part.

Be consistent with capitalisation and formatting — UTM params are case sensitive, so decide how you want to capitalise and then don’t mix things up, or your reports will contain muddy data that’s harder to work with.

  • Use a simple spreadsheet to maintain a reference for values you’ve used, and update each time someone creates a new tagged link — Google Sheets is ideal for this.
  • Use URL shorteners to hide the powerful-but-long-and-ugly UTM-tagged URLs from your users when they’re viewing the links. (Twitter in particular will do this for us automatically, but it can still be worthwhile to use your own shortener in case the platform you’re working with exposes the full URL anywhere.)

But remember — your users will be able to see all the tag values in their browser address bar once they click through. So keep this in mind while naming your campaigns and tagging your ad content variations :)

  • Don’t tag internal links from other pages on your own site! Not only is this unnecessary, but you may corrupt your attribution and lose valuable data about where the traffic originally came from.

Aside — Google Adwords automatic campaign tagging

Consider disabling automatic campaign tagging if you can tag all your campaigns manually in a spreadsheet before uploading. It’s a fair amount of effort to ensure all your different ads and campaigns are tagged appropriately, which is probably partly why Google went ahead and created their automatic tagging feature.

However, automatic tagging simply tags with Google’s internal ID in the gclid parameter — this is useless for our own database, calculating lifetime value and plugging into other tools.

Building on great tagging

Once we have our tagging in place, we can take advantage of it in a number of ways.

Attribution in your own database, CRM and marketing systems.

Oftentimes you’ll be able to find much of this data in other places — e.g. your ad system dashboards from Google, Facebook and the like can tell you which specific ads and creatives are driving how many clicks and unique visitors.

However, the next step beyond being able to tell how many visitors we’re driving and at what cost, is to be able to identify the performance and value of different visitor segments over time — what % from each source proceed to sign up/purchase, and contribute how much lifetime value (LTV).

As we become more sophisticated in our marketing campaigns and messaging, we want to tie together a coherent message across the entire nurturing cycle for a particular visitor. Depending on where they came from and which campaigns they were exposed to, we may wish to display different site content, trigger different email messages from our marketing automation system, and hit them with followup remarketing/retargeting campaigns based on everything we know about them.

In order to do each of these most effectively, we need this vital source data within our analytics and marketing databases — something that can only be done if we have the correct tagging in place.

Summary: Link Tagging Checklist

Use this handy checklist to remember the boxes you need to tick:

  • ✅ Serve your site over HTTPS
  • ✅ Use standard values for source & medium as described here
  • ✅ Use short links to hide those ugly UTM tags
  • ✅ Standardise the way you format campaign names/references for utm_campaign, and likewise for Ad content/creatives with utm_content
  • ✅ Be consistent with capitalisation and formatting
  • ✅ Maintain a spreadsheet reference for the tags you’ve used
  • ✅ Don’t tag internal links(!)
  • ✅ Aim to track everything we can control, but apply the 80–20 Pareto Principle and iterate over time.

Next: refer to the UTM Parameter Quick Reference for a cheat-sheet and examples.

--

--

Startups. Code. Growth, marketing, product & analytics. Previously EIR @500startups, UK @Stripe, founder @GroupSpaces. www.andyyoung.co