A UTM parameter is a label attached to a click. It has to survive a redirect, a return visit, a device switch and several weeks before it reaches the thing you care about, which is a payment. Most schemes are designed for the click and then quietly fail at every step after it.
The tagging conventions in most companies were written once, by one person, and have been eroding since. The erosion is not carelessness. It is what happens when a scheme has no rule for a case that turns up later, so somebody invents one, and then somebody else invents a different one. This piece is about designing for that, and about the three places the tag gets lost between the click and the revenue.
The newsletter
Join our KISS newsletter
One short read a week on what actually moves revenue, in a free email. Read by 10,000+ operators and founders.
No spam. Unsubscribe in one click.
I.Why a UTM scheme degrades, reliably, within two quarters
The failure is not discipline. It is that every scheme meets a case it has no rule for, and the person who meets it has to guess.
A.Free text is the whole problem
Open the source and medium report on almost any account with more than a year of history and you will find facebook, Facebook, fb, facebook.com and FB-Ads, all describing the same channel, all counted separately. Nobody was careless. Five people needed a tag on five different days and the scheme did not tell them which word to use.
Case sensitivity alone will split a channel in two. GA4 treats Email and email as different values, so one campaign distributed by two people appears as two channels, each with half the revenue and neither hitting whatever threshold makes anyone look at it.
The fix is unglamorous. Source and medium come from a written list of permitted values. Campaign, content and term stay free text, because that is where the actual detail lives and constraining them helps nobody.
B.The three mistakes that do real damage
Inconsistent casing is annoying. These three lose data.
Tagging internal links. Somebody adds UTMs to a homepage banner so they can measure it. Every visitor who clicks it now starts a fresh attribution: in GA4 the campaign change ends the session and begins a new one, and the source that actually brought them to the site is overwritten by internal-banner. You have traded a real acquisition source for a click you could have measured as an event.
Hand-tagging Google Ads. Auto-tagging attaches a GCLID that carries keyword, match type, device and network. A manual UTM carries whatever you typed. If both are present, one wins and it may not be the one you expected, and you have thrown away the richer label to keep the poorer one.
Putting a medium where a source goes. Source is where the click came from, medium is what kind of link it was. utm_source=email is the most common single error in the discipline: email is a medium, and the source is the specific list or send.
II.A taxonomy built to survive contact with other people
A scheme is good if a new hire can tag a link correctly on their first day without asking anyone.
A.The five parameters, and what each is for
What goes in each parameter
Campaign tracking view| Parameter | Answers | Rule | Example |
|---|---|---|---|
| utm_source | Which property sent the click | Closed list, lowercase | |
| utm_medium | What kind of link it was | Closed list, lowercase | paid-social |
| utm_campaign | Which initiative it belongs to | Free text, dated prefix | 2026-q3-pricing |
| utm_content | Which creative or placement | Free text | carousel-b |
| utm_term | Which keyword | Paid search only | funnel-analytics |
Keep the medium list short. email, paid-search, paid-social, organic-social, referral, affiliate, display, sponsorship covers almost everything, and if you need a ninth the conversation about adding it is exactly the conversation that keeps the list working.
Date-prefix the campaign. 2026-q3-pricing sorts chronologically, survives being reused next year, and makes a stale campaign obvious in a report. A campaign called pricing will be running for three years and nobody will notice.
B.Write it down where the links get built
A taxonomy that lives in a document nobody opens is a taxonomy that lasts one quarter. It has to live at the point of use, which in practice means a link builder: a small form with source and medium as dropdowns, campaign and content as text fields, that emits the finished URL.
The point is not convenience. It is that a dropdown cannot be typed into wrongly, and every governance problem in this discipline reduces to somebody typing.
III.Getting the tag to last until the money arrives
A perfect tag is worthless if the attribution it created expires before the purchase does.
A.The three places attribution disappears
Assume the tag is correct. It still has to survive to be useful, and there are three standard points of loss.
The session ends. This is the big one. If your analytics stores acquisition source on the session, then a person who arrives from a LinkedIn ad and purchases eleven days later has a purchase attributed to whatever brought them back, which is usually direct or brand search. Every long consideration cycle systematically credits the last touch and starves the first. See first-touch versus last-touch attribution for what that does to a budget.
The redirect strips it. Link shorteners, consent walls, login flows and payment providers all forward users, and not all of them preserve query strings. If your checkout starts with a redirect, test whether the parameters survive it. Many do not.
Nothing was tagged in the first place. Which brings us to the fastest growing untagged channel in the dataset.
Where an untagged arrival ends up
Acquisition viewB.The channel nobody has a convention for yet
A measurable share of referral traffic now arrives from answer engines. Someone asks ChatGPT or Perplexity a question, the model cites you, they click. You cannot put a UTM on that link because you did not create it.
Some of those arrivals carry a referrer that identifies the assistant and some do not, depending on the surface and the client. Where the referrer is absent, the visit lands in direct alongside genuinely direct traffic, and the channel becomes invisible at exactly the moment it is growing. The practical response is a referrer rule rather than a tagging rule: recognise the assistant domains explicitly and split them out before they reach the default grouping. We covered the measurement side in how to track ChatGPT traffic and the strategic question in LLM visibility versus LLM acquisition.
C.Storing the tag on the person
Every loss above except the stripped redirect comes from the same design choice: the tag is stored against a session, and sessions expire.
Kissmetrics stores acquisition source as a property on the person the first time it sees it, and keeps it for as long as the data is retained, which is currently not capped. It is still there three weeks later, on a different device, when the order lands, so first touch and last touch are both available from one record rather than being a modelling decision made in advance. That is the difference between knowing which campaign produced revenue and knowing which campaign produced the last click before revenue.
It does not fix a tag that was wrong, and nothing will. A closed list and a link builder fix that. What it fixes is the part where a correct tag stops mattering because too much time passed.
Verdict
UTM parameters are a labelling problem and an expiry problem, and most teams solve only the first. A closed list for source and medium, a dated campaign convention, no internal tagging, no hand-tagging of Google Ads, and a builder so nobody has to type: that is the labelling half, and it is a morning's work.
The expiry half is architectural. If attribution lives on a session, every purchase that takes longer than a session to happen will be credited to the wrong place, and no tagging discipline can recover it. Store the source on the person, and the tag you wrote in March is still doing its job in June.
Continue Reading
Campaign Tracking Best Practices: From UTM Parameters to Revenue Attribution
Consistent campaign tracking is the foundation of marketing analytics. Without proper UTM parameters and tracking, every attribution model is built on unreliable data. Here is how to get it right.
Read articleFirst-Touch vs Last-Touch Attribution: What Your Analytics Is Missing
Last-touch attribution gives all credit to the final click. First-touch gives all credit to the first. Both are wrong. Understanding their blind spots is the first step to better attribution.
Read articleGA4 (not set) in Source/Medium: Causes and Fixes
Diagnosis takes an hour. Three of the six causes are configuration bugs that close permanently; the other three are browser policy, consent law and intermediaries rewriting your links, and no GA4 setting touches them.
Read article