Tempio

What is UTM parameters?

UTM parameters are tags appended to a destination URL so that analytics can record where a visit came from. They are the advertiser's own attribution, independent of any platform, and their usefulness depends entirely on naming discipline.

Tags on a link

UTM parameters are name-value pairs appended to a destination URL so that analytics on the receiving site can record where the visit came from.

There are five, and the first three carry almost all of the value.

Source names the origin: the platform, the publisher, the newsletter.

Medium names the kind of traffic: paid search, paid social, email, affiliate, referral.

Campaign names the activity: the promotion, the launch, the always-on programme.

Term carries a keyword, where per-keyword detail is wanted on the analytics side.

Content carries a creative or placement variant, for distinguishing two versions of the same campaign.

They are read by the analytics tool on the destination, not by the advertising platform, which is exactly what makes them useful: they are the advertiser's own attribution, computed under rules the advertiser sets, in one place across every channel.

Why they still matter

Every advertising platform reports its own performance under its own conventions. Those reports cannot be added together, cannot be reconciled against each other, and are produced by parties with an interest in the answer.

Analytics tagged consistently gives a single view across every channel — paid, organic, email, affiliate, referral — on one set of rules, joined to the business's own data about what happened afterwards.

It will not match any platform's figures, and it is not supposed to. It is a second opinion, computed differently, and the gap between it and a platform's claim is itself informative.

Naming discipline is the whole thing

The parameters are trivially easy to add and the value depends entirely on adding them the same way every time.

Fix a vocabulary. A short, written list of permitted sources and mediums. Not a convention people remember — a document people copy from.

Lower case everything. Analytics tools generally treat differing capitalisation as different values, so one campaign tagged three ways becomes three rows that have to be summed by hand forever.

No spaces. Use hyphens or underscores, consistently, and pick one.

Medium describes the kind, not the platform. Putting a platform name in medium collapses the distinction between the two fields and makes channel-level reporting impossible.

Campaign names that sort. A date prefix, a market, a short descriptor. Names that group sensibly when sorted alphabetically save more time than any other single choice.

One place to generate them. A spreadsheet, a builder, a shared tool — anywhere that produces the string rather than several people typing it.

The failure this prevents is not dramatic. It is a report with eleven variants of one campaign name, which nobody trusts, which somebody spends a day a month reconciling, and which eventually stops being used.

Where they break

Redirects. A link that passes through a shortener, a click tracker or a server-side redirect can lose the query string. The parameters arrive at the first hop and not at the destination.

Onward sharing. Somebody copies a tagged URL and posts it, and every visit through it is attributed to the original campaign indefinitely.

Platform rewriting. Some platforms append, strip or modify parameters, and some auto-tagging schemes conflict with manual tagging.

Internal links. Tagging a link inside your own site restarts session attribution and erases the real source. This is common, avoidable and quietly destroys the data it was meant to improve.

Fragmentation. The naming failure above, which is the most common of all.

The relationship to platform auto-tagging

Some platforms offer to tag links automatically with their own identifier, which analytics can then resolve into rich campaign detail.

Auto-tagging is generally more reliable than manual tagging for the platform that offers it, because the identifier is generated and read by the same system. It also only covers that platform.

The workable arrangement is auto-tagging where it exists, manual parameters everywhere else, and a check that the two do not conflict on the same link — a manually tagged URL arriving at a platform that also auto-tags can produce either a clash or a silently ignored parameter, depending on the combination.

What to check

That the parameters survive to the destination. Click a live ad, look at the address bar, confirm the string is intact after every redirect.

That the analytics rows are clean. Sort the campaign report alphabetically and look for near-duplicates. They will be there, and they are the naming problem made visible.

That nothing internal is tagged. A search of the site's own links for these parameters usually finds one.

That the medium values map to the channels the business actually reports. If the analytics channel grouping is putting paid social into "other", the medium values are not what the tool expects.

Term and content, and when to use them

The two optional parameters are worth a note because they are either neglected or overused.

Term was designed for a keyword and is largely redundant where a platform auto-tags, since the platform supplies the keyword itself. It earns its place where an advertiser wants keyword-level detail in their own analytics on a platform that does not auto-tag.

Content distinguishes variants within one campaign — two creatives, two placements, two audiences. This is the more useful of the two and the more commonly wasted, because it is either left empty or filled with a value so specific that every ad produces its own row and nothing aggregates.

The discipline for both is the same as for the first three: a fixed vocabulary, applied identically, with values chosen at the level the reporting needs rather than at the finest level available.

The relationship to the platform's own view

The two views will not agree and the disagreement is structural rather than a fault.

A platform counts a conversion when its own rules credit it, under its own window and model. Analytics counts a session when its script runs and attributes it by its own rules, typically last non-direct click within its own lookback.

So the same campaign shows different numbers in the two places, sometimes by a wide margin, and neither is wrong. What matters is knowing which view is being quoted, using one consistently for a given decision, and treating a sudden change in the gap between them as a signal that something in the measurement moved.

Related terms

Questions

Put frontier AI to work on every ad account you run.

Tempio connects your ad accounts into one workspace and hands your own AI the numbers and the tools. Every change it writes is a draft until you approve it, or until a rule you wrote does.

Request early access
  • Read and draft by default. Approve is a separate permission you grant.