Skip to content

Insight

UTM Campaign Tagging in Google Analytics and GA4

In brief

Answer summary

UTM parameters add campaign information to destination URLs so GA4 and other tools can classify acquisition traffic. A reliable system uses documented lowercase naming, the core source/medium/campaign fields, controlled optional parameters, tested final URLs and ownership rules that prevent each team from inventing new labels.

  • Define a naming convention before campaign links are distributed.
  • Use source, medium and campaign consistently and in lowercase.
  • Avoid tagging internal links because this can overwrite acquisition context.
  • Test redirects, URL encoding and landing-page behaviour.
  • Maintain a campaign register that reconciles media, CRM and analytics data.

Author’s update — August 2026

Campaign tagging remains simple enough to implement and easy to damage through inconsistent naming. I have revisited this guide for GA4 terminology, while keeping governance at the centre. Source, medium and campaign values should follow an agreed lowercase convention before links are distributed, with ownership and documentation that allow reports to remain comparable over time.

Introduction

If used correctly you will be able to calculate CPA (Cost-per-Acquisition) and ROMI (Return-on-Marketing-Investment) and put some very powerful insights in the effectiveness of the channels you are using…

If used correctly you will be able to calculate CPA (Cost-per-Acquisition) and ROMI (Return-on-Marketing-Investment) and put some very powerful insights in the effectiveness of the channels you are using…

Why use Custom Campaign Tags?

Purpose of tagging is to standardise the data coming into Google Analytics so that we can view data by channel and source/medium. It is important that we follow this process as it means our analytics is kept clean and accurate.

What is a custom campaign tag?

It’s a link/URL with data added to the end after a /? that passes additional information into Google Analytics so we can track campaigns, e.g. https://www.targeturl.com/?utm_source=source_name&utm_medium=medium_name&utm_campaign=campaign_name The green part is the custom campaign code (and does not change) and the blue parts are the data that’s sent to Google Analytics (we change this for each link).

Example

I am running a set of display ads on rte.ie which is part of a campaign for widgets. The banners will send customers to the www.mywebsite/widgets/ page. I want to create a custom campaign tag which tells Google Analytics where this data is coming from (as it is not automatically labelled this way). In this example, the labels we need are as follows:

source: rte.ie medium: display_affiliate campaign: widget_campaign_apr2022

Remember to keep everything lowercase as Google Analytics is case sensitive. The custom campaign tag will look like this:

https://www.mywebsite.ie/widgets/?utm_source=rte.ie&utm_medium=display_affiliate&utm_campaign=widget_campaign_apr2022

There is also a handy tool for creating custom campaign tags.

How do I create custom campaign tags?

  1. Identify the source. The source is typically the website where the banner / link is placed e.g. youtube.com, independent.ie, daft.ie, rte.com, facebook.com, twitter.com etc. For email campaigns, the source can be the company that manages the newsletter e.g constantcontact.com or internal_edm if you are managing internally.
  1. Identify the medium. The medium is the channel that the traffic comes from. Use a standard set of channels. The most common medium’s are as follows (you can use your own naming convention alternatively):
  • display_network – network display such as GDN, AMNET etc. Ads on a display network
  • display_affiliate – affiliate display ads such as placements on websites we use as affiliates e.g. rte.ie, entertainment.ie, independent.ie, pigsback.com, eumom.com etc.
  • social_paid – Paid placements on social networks, e.g. promoted tweets, sponsored posts on facebook
  • social – non-paid posts / links on social networks
  • email – links in email campaigns / newsletters
  • referral – links within non-paid articles on websites or links from our own content e.g. wider groups, associations
  • referral_paid – referrals from paid sources, such as a link in an advertorial piece, a paid article or directory.
  • organic, cpc and (none) are the other standard channels and these are automatically tagged, so no need to worry about them.
  1. Identify the campaign. The campaign is the data we use to distinguish between different campaigns. Generally this is just the name of your campaign, e.g. widget_campaign_mar2015. Replace spaces with underscores as URLs are easier to QA.

Sources and references

  1. Custom campaign data

Need a clearer view of digital performance?