How to make the most of your data using UTM tracking
One of the trickiest tasks for a busy charity is working out exactly which campaigns are leading to donations or volunteer registrations. Your analytics might show you some basic info (e.g., 40% of visits to your donation page came from email, 20% from Facebook) but were those donations triggered by this month’s newsletter, your persuasive welcome emails, those Facebook ads you paid for last quarter or a charity event you organised last summer?
If you don’t know which of your activities are generating results, how can you put your collective effort – and campaign funds – in the right places in future?
If you want to run smarter campaigns, you need to get more granular. This is where Urchin Tracking Module (UTM) parameters come in. This has nothing to do with spiky sea creatures! Urchin was just an old product name for Google Analytics. But since UTMs have become a standard tracking protocol, the name has stuck.
So what exactly is a UTM parameter? It’s simply a string of extra info that’s added onto the end of your URL. Think of it like a tag or label that helps Google Analytics (or your chosen alternative) provide more refined data, such as which specific campaign, newsletter, platform, ad version, search term, etc. is sending traffic to that URL.
What does a UTM parameter look like?
A UTM parameter is a dimension/value pair that is formatted as follows: ?dimension=value
The dimension part is restricted to a standard string of characters (see the next section), but the value can be anything you like.
For example, to label a link as coming from Facebook, you would use ‘utm_source’ as the dimension and ‘facebook’ as the value: yourwebsite.com?utm_source=facebook
UTM parameters can also be added together using the ‘&’ character, for example:
yourwebsite.com?utm_source=facebook&utm_medium=social
The 9 standard UTM dimensions
There are 5 commonly used UTM dimensions, at least one of which is always required to be included. You can choose from any of the following and add more than one using the ‘&’ character, as above.
- utm_source
This is required for all UTM parameters and identifies the specific platform the visitor came from (e.g., Facebook, Mailchimp, newsletter, campaign_monitor).
- utm_medium
The type of platform the source is (e.g., email, PPC, social, paid). Google Analytics also uses this parameter to decide which ‘primary channel group’ your traffic is coming from, so it is recommended that you always include it. - utm_campaign
The name of the specific campaign you are running (e.g., 2025-summer-appeal or world-earth-day-fundraiser, etc.) Most marketers who use UTMs include this one as well.
- utm_term
This parameter is mostly used in PPC campaigns where you are targeting specific search terms (e.g., myanmar-earthquake, donate-to-myanmar, myanmar-appeal, etc)
- utm_content
This parameter enables you to differentiate between different ad formats (skyscraper-1, landscape-2, etc.)
There are also an additional 4 parameters that are either optional or only used in specific cases. They are:
- utm_id
A numeric identifier code, sometimes used to identify campaigns. - utm_source_platform
Referring ad platform (e.g., SA360, DV360, Google_Ads). - utm_creative_format
Even more granular information about creative assets (video, banner, image_flower, etc.) - utm_marketing_tactic
This might include ‘remarketing’ or ‘prospecting’.
How to add UTMs to your links
Depending on the platform, you will either need to add your UTM parameters manually or enter them via the platform’s native UTM builder. For example, Google Ads and Search Ads 360 offer UTM builders (found in ‘Tracking’ and ‘URL Management’ respectively). Some of these builders will include dynamic values, recognised by curly brackets (e.g., utm_campaign={campaign}) These values are pulled from your campaign settings, so you don’t need to change them.
Where platforms do not offer a native UTM builder (e.g., Display & Video 360), you would need to manually add the parameters when creating your landing page URL.
When manually add UTM parameters, we recommend you use an online URL/UTM builder or app. Google, Terminus and UTM.io are a few examples. This reduces the risk of introducing typos and inconsistencies into your UTMs.
Whatever tools you use, make sure your UTM values follow the correct syntax and are consistent. You should also test them before launching your campaign.
When deciding on values, make sure:
- Letters are lower case only.
- Spaces are replaced by hyphens (e.g., summer-sale).
- No symbols are used apart from hyphens or underscores.
- No personally identifiable information (PII) is included (your URLs will be visible in browsers).
We suggest keeping your UTMs organised in a spreadsheet with the code itself and where it’s been used (e.g., Google Sheets, Microsoft Excel, etc.) with protected editing permissions. This will help you to be consistent with your UTM values across platforms.
How many parameters should you add to your campaigns?
Decide, with your team, how granular you need your tracking to be. If you’re not sure, think about it in terms of return on investment (ROI). If you’re spending hours of admin time setting up UTMs to measure negligible differences between conversion rates, you’re probably wasting resources
For example, if you are simply interested in finding out which campaigns are converting, adding ‘utm_source’, ‘utm_medium’ and ‘utm_campaign’ will probably be sufficient.
However, if you are experimenting with a new ad format on a long-running campaign, you might want to add ‘utm_content’ to compare relative conversion rates, using the values ‘old-ad’ and ‘new-ad’ or similar.
If you find a significant difference in conversion rate, you can then tweak your campaign accordingly. UTMs can also enable you to carry out your own A/B testing without using a third party platform.
For super advanced tracking, you can even create custom UTM parameters, but this is beyond the scope of this article.
How to track your campaigns using UTMs with Google Analytics
So how do you view the granular data you are now collecting?
We will only cover Google Analytics 4 (GA4) here. If you use a different analytics package, check your user documentation to find out how it handles UTM tracking.
If you haven’t set GA4 up yet, that’s your first priority (and it will take a few hours before you start receiving data).
To be blunt, GA4 is not the most user friendly tool, and the documentation is often inconsistent and jargon-heavy. However, the following step-by-step guide should provide you with a quick way to access the most useful data.
- Sign into GA and go to Reports in the side menu (the icon is a chart). Click Acquisition > Traffic acquisition.
- You should see a chart with a table underneath. The rows of the table will, by default, show the primary channel group that Google assigned to your traffic (direct, referral, organic social, paid social, etc.)
- Somewhere near the top of that table, there is a dropdown menu offering a selection of ‘primary dimensions’. For example, you’ll see ‘session source/medium’ and ‘session campaign’. These correspond to the UTM dimensions you set. Select one you’re interested in.
- To the right of the dropdown box, the ‘+’ button enables you to then filter the table using ‘secondary dimensions’. Here is where you will find dimensions such as ‘utm_term’ or ‘utm_content’. These are grouped together under the ‘Traffic source’ tab, although you can use the search box to find them faster.
The updated table will then list your primary dimension, secondary dimension and various values including the number of sessions, engagement rate and event count.
Once you’re familiar with pulling up these standard reports, we recommend using the ‘Explorations’ tool to begin creating customised reports.
Good luck! And please let us know if there’s anything else technical we can shed some light on.