All articles
UTM Governance

UTM parameters explained: source, medium, campaign, term and content

Five parameters, and most guides explain all five as if they carry equal weight. They don't. Two of them are load-bearing, and getting those two wrong is the difference between a report you can act on and one you have to guess at.

Kiran Kumar HCTO, ClickTrail4 min read

A UTM parameter is a query string tag appended to a URL that tells your analytics tool where a visit came from. There are five of them, all beginning utm_, and Google Analytics (along with essentially every other analytics platform) reads them off the landing URL the first time a visitor arrives.

None of this requires anything installed on the destination page. The parameters are just query string keys — the destination doesn't need to know they exist, and the analytics tag on that page reads them out of location.search on the first hit and stores them against the session.

The five parameters, what each one is for

ParameterAnswersExample value
utm_sourceWhich platform or publisher sent this?google, facebook, newsletter
utm_mediumThrough what kind of channel?cpc, email, social, referral
utm_campaignWhich specific campaign or push?spring_sale_2026
utm_termWhich paid keyword (search ads only)?running_shoes
utm_contentWhich variant, when two links point to the same place?hero_banner vs text_link
utm_source and utm_medium are required. The rest are optional.

The first two are doing the actual classification. utm_source and utm_medium together are what Google Analytics groups a session's default channel by — get these two right and everything downstream, from the acquisition report to attribution modelling, groups correctly. Get them wrong and the same real-world channel splits into rows that don't obviously belong together.

Source is not medium

The mistake that's easiest to make: putting the channel type in utm_source and leaving utm_medium generic, or vice versa. utm_source is the specific publisher (facebook, google, the-newsletter-name). utm_medium is the category of channel it belongs to (social, cpc, email). "facebook / social" and "google / cpc" read correctly. "social / facebook" is backwards, and it's a common enough mistake that it's worth checking on your own links right now.

utm_campaign: group by push, not by page

utm_campaign is the one people either skip or over-fill. Its job is to let you group everything that belongs to one push — one product launch, one seasonal sale, one content series — regardless of which source or medium drove any individual click.

That means the same utm_campaign value should appear on the Google Ads link, the Facebook link, and the newsletter link for the same push, each with a different utm_source/utm_medium. Naming it after the page it points to (utm_campaign=homepage) throws that away — you already know the destination from the URL itself, that's not what this field is for.

utm_term and utm_content: the two nobody needs until they do

utm_term exists almost exclusively for paid search, to record which keyword triggered the ad. If you don't run search ads, you will probably never fill this one in, and that's correct — an empty field beats a fabricated value.

utm_content earns its place the moment you have two links that would otherwise be indistinguishable: the same campaign, same source, same medium, but one link sits in a hero banner and the other in a text footer. Without utm_content those two are the same row, and you can't tell which placement actually earned the click.

The two rules that prevent most of the damage

  • Lowercase, always. UTM values are case-sensitive strings — "Facebook" and "facebook" are two different rows in every report, not one row with inconsistent capitalization.
  • No spaces. A raw space in a query string works in a browser address bar, but a plain-text email client or SMS auto-linker will terminate the link at the first space, handing the recipient a truncated URL and a stray word of visible text next to it.

Both of those sound like a formatting nitpick until the naming actually goes wrong across a team, at which point it's a quarter of split, unmergeable rows. That failure mode — and why a written naming convention doesn't prevent it — is covered in full in how broken links and bad UTMs waste paid media spend.

The fix is a dropdown, not a document

A naming convention in a wiki gets read once, at onboarding, and then everyone goes back to copying last month's URL and editing it by hand. The thing that actually holds — because it removes the chance to type it wrong at all — is picking source and medium from a fixed list rather than a free-text field. Below is exactly that, free to use.

Build one now

The free UTM builder below fills in utm_source/utm_medium from a set of common platform templates, validates that the two required fields are set before it lets you copy anything, and runs entirely in your browser — nothing you type is sent anywhere unless you choose to shorten the result into a workspace.

Before you ship the link

  • utm_source and utm_medium are both set, and match the source/medium pairing convention above.
  • utm_campaign matches every other link in the same push, across every channel.
  • No uppercase letters, no spaces, in any value.
  • You've opened the finished URL once and confirmed it lands where you expect — a redirect that strips the query string is invisible until you check.

That last item is the one a UTM builder can't verify for you: the tagged URL can be perfectly correct and still lose its parameters at a redirect hop between the link and the destination. Checking that the parameters survive the actual trip is what the free link readiness check does, and it's worth thirty seconds before a campaign with real budget behind it goes live.

Already have a tagged URL someone else built, or one you're not sure is clean? The free UTM & link parameter checker runs through this exact list — missing source/medium, uppercase, stray spaces — against a URL you paste in.

Check a link before you ship it.

Paste any URL and get a readiness score, the full redirect chain, UTM detection and a social preview. No signup.

Get the next one by email

Roughly monthly. No filler.

Campaign tracking and link governance, roughly monthly. Unsubscribe anytime.

UTM parameters explained: source, medium, campaign, term and content | ClickTrail