UTM parameters are tags you add to the end of a web address, such as ?utm_source=newsletter&utm_medium=email&utm_campaign=black-friday-2026, so Google Analytics can tell which campaign, channel and placement sent each visit. You can build them by hand or with a free UTM builder, then share the tagged link or put it behind a short link.
Open Google Analytics for a small UK shop and a big source of traffic is often "direct", which in practice can mean "no idea". Most of it is the newsletter, the Instagram bio, the leaflet and the text message, none of which told GA4 where the visitor came from. UTM parameters are the fix. Below are the parameters, the naming rules that stop GA4 reports splitting, and a worked Black Friday example. Details checked on 19 October 2026.
The five parameters
| Parameter | Question it answers | Example |
|---|---|---|
| utm_source | Where did the visitor come from? | newsletter, instagram, leaflet |
| utm_medium | What kind of channel was it? | email, social, cpc, sms, qr |
| utm_campaign | Which campaign? | black-friday-2026 |
| utm_content | Which version or placement? | bio, story, hero-button |
| utm_term | Which keyword? (paid search only) | winter-coats |
Source, medium and campaign are the three that matter, and content and term are optional. A tagged address looks like example.co.uk/black-friday?utm_source=newsletter&utm_medium=email&utm_campaign=black-friday-2026. The UTM link generator builds it from a form so nothing is misspelt.
Rules that keep GA4 reports tidy
- Use lower case only. GA4 reports Email and email as two different values, so mixed capitals split your reports, even though its default channel rules ignore case.
- Stick to one separator. Hyphens or underscores, never spaces. Pick one and keep it. If a value must contain a space, run it through the URL encoder, but a better answer is to remove the space.
- Use mediums GA4 already understands, such as email, social, sms, affiliate, referral and display. GA4's default channel groups look at the source as well as the medium, so cpc can land in Paid Search or Paid Social depending on the source, and invented mediums such as insta or flyer often end up as Unassigned.
- Never tag links inside your own site. GA4 doesn't start a new session when it meets new campaign tags mid-visit, but the tags can still muddle how later events are attributed.
- Write the convention down. One shared document with the allowed sources and mediums, and one person who owns it.
A worked example, Black Friday for a UK shop
The destination is example.co.uk/black-friday. The campaign name is black-friday-2026 everywhere, and each placement gets its own source, medium and content.
| Placement | utm_source | utm_medium | utm_content |
|---|---|---|---|
| Newsletter, main button | newsletter | hero-button | |
| Newsletter, footer link | newsletter | footer | |
| Instagram bio page button | social | bio | |
| Instagram story link | social | story | |
| Text message to customers | sms | sms | launch |
| Leaflet QR code | leaflet | qr | front |
| Google Ads | Leave auto-tagging on and do not add UTMs by hand | ||
The qr medium will appear under Unassigned unless you create a custom channel group in GA4, but the source and medium are still there to filter on, and that is what you need on the Monday after.
Keep the tagged address out of sight
A tagged address is long and ugly, and nobody types one from a leaflet. Put each tagged destination behind its own short link. digily.uk/bf-leaflet on the leaflet, digily.uk/bf-sms in the text, and the tags travel invisibly with the redirect. Digily Link can also add the source, medium and campaign for you in the link's UTM Parameters settings, on every plan including free, so the destination you paste stays clean and the tags are added when the link redirects. Either way the visitor sees a short address and GA4 sees the full tags.
The link's own statistics count the clicks either way. Their UTM report is a separate thing. It shows UTM values only when the short link itself is shared with tags on the end, such as digily.uk/bf-leaflet?utm_source=leaflet, because it reads the address people actually open.
The QR code for the leaflet is generated from the short link, not from the tagged address. That keeps the code simple to scan and lets you change the destination after printing. The guide to branded short links on a .uk domain covers choosing the domain and slug.
Reading the results in GA4
- Open Reports, then Acquisition, then Traffic acquisition.
- Change the primary dimension to Session source / medium to compare channels. Placements that share a source and medium, such as the newsletter's main button and footer link, appear on one row.
- Add a secondary dimension of Session campaign, or filter to black-friday-2026, to see the campaign on its own. To split individual placements, build an Exploration with Session manual ad content, which holds the utm_content value.
- Compare conversions, not only sessions. A placement that sends fewer visitors who buy more is the one to repeat.
Give the campaign a week before drawing conclusions, and keep the short links live afterwards. A leaflet is scanned for months.
Mistakes that quietly ruin the data
- Mixed capitalisation across the team, so the same source appears three times.
- Sharing a tagged page address by copy and paste, so a WhatsApp forward reports itself as the newsletter.
- Adding manual UTMs to Google Ads links without a reason. Keep auto-tagging on, which GA4 gives priority over manual tags.
- Using utm_source for the campaign name and utm_campaign for the source. Source is where, medium is how, campaign is what.
- Tagging links that point at someone else's site. Their analytics gets the tags; yours sees nothing.
When a tagged link misbehaves, paste it into the URL parser to see each parameter on its own line, and into the URL redirect checker to confirm the tags survive the redirect.
Tagging the buttons on a bio link page
A bio link page is a set of placements too. Give each button that leads to your site its own utm_content, for example bio-shop, bio-booking and bio-newsletter, with utm_source set to the platform the profile is on and utm_medium=social. Because the same page is linked from Instagram and TikTok, the tags alone cannot tell the two apart; the page's own referrer report does that, and a separate short link per platform in each profile does it more precisely. Keep the campaign name fixed for the page's evergreen buttons and change it only for the top button when it points at a live promotion.
For the short link side of this, how to shorten a link for free and track the clicks walks through creating the links and reading their statistics.
Frequently asked questions
Do UTM parameters affect search rankings?
They don't help rankings, and they're unlikely to hurt them if your pages declare a canonical address, which most shop platforms add by default. Keep tags off your own internal links so search engines mostly see the clean address.
Can I use them on a bio link page?
Yes. Tag the destination of each button that leads to your own site. Each button on a Digily Link page also counts its own clicks, so you get both views.
Is there a free UTM builder?
Yes. Our UTM link generator works without an account. Paste your page address, fill in source, medium and campaign, and copy the tagged link.
Do they work without a consent banner?
UTM parameters are part of the address and don't set cookies themselves. GA4 does store information on visitors' devices, so whether you need consent depends on how you use it. The ICO's guidance on storage and access technologies includes a limited exception for some statistical analytics, with conditions such as telling visitors and letting them opt out, so check whether your setup qualifies rather than assuming it does.
What is utm_id?
An optional campaign ID that lets GA4 match the visit to a campaign you have defined in its own settings or imported cost data for. Most small businesses never need it.
Should the campaign name include the year?
Yes, if the campaign repeats. black-friday-2026 and black-friday-2027 can be compared; black-friday cannot.
Final checks
- Every placement has its own source, medium and content, all in lower case.
- Mediums are ones GA4 recognises.
- Tagged addresses sit behind short links, and the QR code points at the short link.
- No internal link on your site carries UTM tags.
- The convention is written down where the whole team can see it.