UTM parameters: a system that still works after two years
UTM parameters are quick to add and therefore rarely thought through. After two years the report shows “newsletter”, “Newsletter”, “news_letter” and “nl” — four rows for the same thing. The problem is not the technology but the absence of a rule.
In short
- Three parameters are mandatory:
utm_source,utm_medium,utm_campaign. The other two only if they actually get analysed. - Two rules solve 90 per cent of the problems: everything lowercase, hyphens instead of spaces or underscores.
utm_mediumneeds a fixed, short list of values — at most eight. Free text there makes the analysis useless within a year.- Internal links on your own site must never carry UTM parameters — they overwrite the original source.
UTM parameters are additions to an address telling analytics where a visitor came from. They work well — as long as everyone involved uses the same words in the same spelling. That is exactly where it breaks down.
The five parameters
| Parameter | Answers | Example values | Mandatory? |
|---|---|---|---|
utm_source | which platform? | linkedin, newsletter, partner-site | yes |
utm_medium | what kind of channel? | social, email, cpc, referral | yes |
utm_campaign | which activity? | 2026-q3-lead-magnet | yes |
utm_content | which variant? | image-a, text-link-bottom | only for tests |
utm_term | which search term? | marketing-automation | only for search ads |
source and medium is the most commonly confused. source is the specific sender ("linkedin"), medium is the kind ("social"). Fill both the same and you lose the ability to compare channel types — which is exactly what the monthly report needs.
The four spelling rules
- Everything lowercase. Analytics tools distinguish upper and lower case. "Newsletter" and "newsletter" are two different sources.
- Hyphens, not spaces or underscores. Spaces become
%20and look terrible in the report; underscores are handled differently by some tools. - No accented characters, no special characters. They get encoded and become unreadable later.
- Campaign names start with a date.
2026-q3-lead-magnetrather thanlead-magnet. That makes sorting chronological automatically and keeps recurring campaigns distinguishable.
Worth knowing
The single most effective decision is a fixed list of values for utm_medium — at most eight values, written down, binding for everyone.
The reason: medium is the parameter the report groups by. As long as it has only eight possible values, the analysis stays legible however many campaigns get added. Once free text appears there, you have thirty rows after a year, half of which mean the same thing. A short list is worth more here than any later cleanup.
The eight values for utm_medium
| Value | For |
|---|---|
email | all email: newsletters, sequences, individual sends |
social | unpaid posts on networks |
social-paid | paid posts on networks |
cpc | paid search ads |
referral | links from partner sites, directories, trade media |
print | QR codes from printed material |
event | trade fairs, talks, events |
partner | sales partners and resellers |
Three mistakes that make reports useless
1. UTM on internal links. The most serious mistake. If a link from your home page to your blog carries UTM parameters, the original source gets overwritten — a visitor who arrived via a search engine becomes one from your own campaign. Rule: UTM only on links leading to your site from outside.
2. Personal data in parameters. Names, email addresses or identifiers never belong in an address. They end up in logs, in referrer headers and in bookmarks — and cannot be retrieved from there.
3. Campaign names without a time reference. Use lead-magnet twice a year and the two runs can no longer be separated afterwards.
The only way to keep a UTM system clean over years is one central register — a simple table where every address created is recorded with its date, purpose and owner. Anyone needing an address enters it there and copies it from there.
That sounds bureaucratic and is the difference between an analysis that still tells you something after two years and one with thirty variants of the same value. The effort is two minutes per address — cleaning up afterwards takes several days, and is never complete.
Examples following the system
- Newsletter in the third quarter:
?utm_source=newsletter&utm_medium=email&utm_campaign=2026-q3-lead-magnet - Unpaid post on LinkedIn:
?utm_source=linkedin&utm_medium=social&utm_campaign=2026-q3-blog-aeo - QR code on a trade fair flyer:
?utm_source=fair-flyer&utm_medium=print&utm_campaign=2026-09-trade-fair - Link from a trade portal:
?utm_source=trade-portal-name&utm_medium=referral&utm_campaign=2026-q3-guest-piece
medium, the naming pattern for campaign, and the sentence "no UTM on internal links". That is all it takes — and any less is not enough.
Help me define a UTM system for our company. Our situation: - Channels visitors come to us through: [list] - Who creates links at our company: [roles] - Analytics tool: [name] - Existing UTM values, as far as known: [paste list] Tasks: 1. If existing values are listed: name all the variants that mean the same thing, and propose one unified value per group. 2. Define a list of values for utm_medium – at most eight, matching our channels. Justify each grouping. 3. Define a naming pattern for utm_campaign containing date and purpose, and show it on three of our channels. 4. Write the rules as a one-page reference so someone with no prior knowledge could apply it. 5. Name the places where we must never set UTM parameters, and why. Do not invent channels I have not listed.
In closing
A UTM system consists of four spelling rules, a short list of values for medium, and one central register. That is all — and it decides whether the analysis is a foundation or a graveyard after two years.
The single most important rule remains: no UTM parameters on internal links. They overwrite the original source and turn outside visitors into your own — a fault that makes the analysis not imprecise but wrong.
Common questions
Which UTM parameters do you actually need?
Three are mandatory: utm_source for the specific platform, utm_medium for the kind of channel, and utm_campaign for the activity. utm_content only pays off for variant tests, utm_term only for paid search ads — setting them with no intention to analyse just creates noise.
What is the difference between source and medium?
source is the specific sender, such as "linkedin" or "newsletter". medium is the kind of channel, such as "social" or "email". Fill both identically and channel types can no longer be compared — and that grouping is exactly what the monthly report needs.
Why must you not set UTM parameters on internal links?
Because they overwrite the original source. A visitor who arrived via a search engine and then clicks an internal UTM link appears afterwards as a visitor from your own campaign. That does not make the analysis imprecise — it makes it wrong.
How do you keep a UTM system clean over years?
With four spelling rules — everything lowercase, hyphens, no accented characters, campaign names starting with a date — a fixed list of at most eight values for medium, and one central register recording every address created with its date, purpose and owner.
May personal data go into UTM parameters?
No. Names, email addresses and personal identifiers end up in server logs, referrer headers and bookmarks and cannot be retrieved from there. For attributing individual recipients there are purpose-built mechanisms inside the sending system.
Marketing that sets itself up
The Studio Engine beta is live. Claim your spot and help shape it from the start.
Join the beta →