UTM Parameters
UTM parameters are five optional tags you append to a link's query string — utm_source, utm_medium, utm_campaign, utm_term and utm_content — so your analytics files the visit under a named source instead of inferring one. They are labels you write yourself, not a tracking technology: nothing verifies them, they describe the link you built rather than the journey somebody took, and they exist on exactly one URL before they are gone.
The five tags, and which of them you actually need
A UTM parameter is an ordinary key-value pair in a link's query string. Analytics tools reserve five key names, read them on arrival, and file the visit under that source, medium and campaign instead of leaving it in *Direct* or guessing from the referring page. The name is a fossil: UTM stands for Urchin Tracking Module, after the analytics company Google bought in 2005, and the convention outlived the product by twenty years because every tool since has agreed to read the same five keys.
- utm_source — where the click came from, named specifically: *google*, *newsletter*, *reddit*. This is the field that carries most of the meaning, and the one that is useless the moment two people spell it differently.
- utm_medium — what *kind* of channel it is: *cpc*, *email*, *social*, *referral*. Keep this list short and closed. A medium invented per campaign turns your channel report into a list of one-offs that can never be summed.
- utm_campaign — the thing you are running: a launch, a promotion, one specific send. This is what groups links together later, which is why it deserves a naming convention written down somewhere other than your memory.
- utm_term — originally the paid keyword. On search ads it can carry the exact phrase a person typed, which makes it the most interesting field of the five and by far the least read.
- utm_content — which link, when one page or email holds several: header button versus footer link. Only worth setting when you actually intend to compare the two.
Treat the first three as required and the last two as optional. The discipline that matters is not which fields you fill in but whether you spell them the same way every time — most tools treat *Google* and *google* as two different sources, so a single capital letter quietly splits one channel into two rows that each look too small to matter.
Where the label and the reality come apart
Because you write the tags yourself, they are perfectly accurate about your intent and completely silent about everything else. The most consequential thing about them is that they live on the first URL only. Somebody lands on a tagged link, reads, clicks through two more pages, and from the second page onward the query string is gone. If your signup form reads the URL it happens to be standing on, it reads nothing — so anything you want to know at conversion time has to be lifted out of that first URL and stored the moment it arrives.
The tags also survive being passed on. A tagged link pasted into a group chat carries your *utm_source=newsletter* to everybody who clicks it, so the campaign takes credit for word-of-mouth it did not cause — the exact mirror image of dark social, where real sharing arrives wearing no label at all. Redirect chains, link shorteners and in-app browsers each drop or rewrite query strings in their own way. And tagging your own internal links is worse than not tagging at all: it starts a new session and overwrites the true source with your own site, so the channel that really sent the visitor disappears from the report entirely.
What they are actually good for
Credit assignment is the use everyone reaches for first and the one that disappoints, because a self-declared label cannot settle an argument about which of six touches deserves the sale — that is the harder question marketing attribution exists for, and at small volumes no model answers it convincingly. The use that has actually paid off for us at AgentCeres — the AI Growth Officer, at agentceres.com — is much plainer: reading intent verbatim.
One paid-search visit arrived carrying a utm_term of *preciso de um gestor de tráfego* — Portuguese for "I need a traffic manager". That is not a keyword report, it is a sentence somebody typed about their own problem. Minutes later, inside the product, the same person chose the setup path meant for personal use, which is close to the opposite of what they had just told the search engine. The tag was right and our own onboarding question got a different answer, so the thing we changed was the product, not the campaign. A field most teams never open told us something no conversion count could have.
The second use is unglamorous and load-bearing. The ad click identifier and the campaign labels are copied into a first-party cookie the moment somebody lands, because signup happens several navigations later on a URL that carries none of it. If you only look at the query string at the moment of conversion you will see nothing there, and conclude the channel sent you nobody. The parameters are a message that arrives once; catching it is your job, not theirs.
FAQ
- Are UTM parameters required for analytics to work?
- No. Analytics records every visit either way. Without them a tool falls back to the referring page, which is often missing or misleading — private shares, apps and redirect chains commonly arrive with no referrer and land in *Direct*. UTMs are how you label the traffic you control, such as your own ads, emails and posts. Traffic you do not control cannot be tagged at all.
- Do UTM parameters hurt SEO?
- Not if your pages already declare a preferred URL. Each tagged link is technically a different URL serving the same page, and a canonical tag consolidates those variants back onto one address. The real rule is narrower: never put UTMs on internal links, and never use a tagged URL where you want the clean one indexed or shared.
- What is the difference between utm_term and utm_content?
- utm_term describes what the person was looking for — historically the paid search keyword. utm_content describes which of several links they clicked in the same place, so you can compare a header button against a footer link. One is about them, the other about you.
- Can I track traffic from ChatGPT or Perplexity with UTM parameters?
- Only where you control the link, which for AI answers you usually do not. A citation in a generated answer points at your plain URL, so there is nothing to tag. Those visits have to be identified from the referrer and from patterns in behaviour instead — see how to track traffic from AI search.
- Are UTM parameters case-sensitive?
- In most analytics tools the values are, so *Facebook* and *facebook* become two separate sources and each looks half as important as the channel really is. Pick lowercase, write it down, and let whatever builds your links enforce it rather than trusting anyone to type it correctly under deadline.
- Is there anything wrong with using a link shortener as well?
- No, and it usually helps: a shortener keeps the visible link clean while preserving the tags on the redirect, and it gives you a click count that exists even when the destination never loads. Check that yours forwards query strings rather than dropping them, because a shortener that swallows the parameters looks identical to one that keeps them until you inspect the data.
An AI growth team that runs this for you
AgentCeres is a managed AI marketing team — you approve what ships. 14-day free trial, from $39/month.