tracking

UTM Parameters Explained: What Each One Tells GA4 to Do

August 27, 2026 13 min read
/ on this page

We checked all nine utm_ parameters against Google’s own help pages, and only three of them can actually move your traffic.

One of the three is the campaign name, which is a strange thing to say about a free text box. It happens because none of these parameters are labels. They’re instructions, and Analytics follows every one without ever asking whether you meant it.

So when you get one wrong, nothing breaks. You get a report that answers a slightly different question than the one you asked, and it looks completely normal while it does it.

Test your knowledge

True or false: what UTM parameters do

Claim 1 of 5

When you write utm_source on a link, you’re filling in a GA4 field rather than writing a note to yourself.

  • Claim 1 of 5When you write utm_source on a link, you’re filling in a GA4 field rather than writing a note to yourself.True. Google’s reference says utm_source fills a field called Manual source, and the same value feeds the rules that pick the channel.
  • Claim 2 of 5All nine UTM parameters show up in a GA4 report you can open.False. Google documents utm_creative_format and utm_marketing_tactic, then notes that neither one is currently reported.
  • Claim 3 of 5The campaign name you write can change which channel a visit gets filed under.True. Google’s Organic Shopping rule reads the campaign name, so a name with shop inside it can match that rule.
  • Claim 4 of 5When you get a UTM parameter wrong, GA4 shows you an error.False. Nothing visible happens. The report still renders and the totals add up, but the answer is wrong.
  • Claim 5 of 5Adding utm_content to a link can change which channel the visit is filed under.False. Only source, medium and campaign can move a visit. utm_content just describes it.

What a UTM parameter actually is

It’s a piece of text bolted onto the end of a link, after a question mark, doing one job: telling Analytics where the click came from.

Like this:

https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale

The page loads normally and the visitor sees nothing. Analytics reads the parameters off the address and files the visit under source newsletter, medium email, campaign spring_sale.

What does UTM stand for?

Urchin Tracking Module. Urchin was an analytics company Google bought in 2005, and the name stuck to the parameters long after the product itself went away.

You won’t find that expansion on Google’s own campaign-URL page. It calls them UTM parameters and gets on with it.[1]

Now the part that should change how you write them.

Each parameter feeds a specific, named reporting field. Google’s dimension reference spells that wiring out one parameter at a time, describing Manual source as:

“The referrer. Populated by utm_source URL parameter.”[4]

So utm_source isn’t where you describe the link. It’s the input to a reporting field called Manual source, and the same value goes on to a rule engine that decides which channel the visit belongs to.

Think of the tag they staple to your suitcase at the airport. It carries a destination code and a flight number, and the machine reads those codes rather than your intentions. The bag goes where the codes say.

And the machine reading yours is fixed:

“Channel definitions aren’t case sensitive and can’t be edited.”[3]

Can’t be edited. Meaning the vocabulary isn’t yours. You’re writing into somebody else’s form, and the form already has opinions about what a valid answer looks like.

Is a UTM tag the same as a UTM parameter?

Yes. Same thing, different word.

You’ll also hear UTM code, UTM codes, UTM tags and UTM variables. Plenty of teams just say “the utm stuff on the end of the link”.

There’s no technical difference between any of them. Worth knowing before somebody hands you a document that uses three of the names in one paragraph.

All nine parameters, and what each one tells GA4

Most guides show five. That’s the set people learned before GA4 and never went back to update.

Here’s the whole list, with what goes in each one and where it comes out.

ParameterWhat you put in itWhere it comes out
utm_sourceWhere the click came from: “google, newsletter4, billboard”[1]Manual source
utm_mediumWhat kind of link carried it: “cpc, banner, email”[1]Manual medium
utm_campaignThe campaign’s name: “spring_sale”[1]Manual campaign name
utm_idA campaign ID, matching the IDs you upload campaign data under[1]Manual campaign ID[4]
utm_term”Paid keyword”[1]Manual term[2]
utm_contentWhich creative it was, when two of them point at one page[1]Manual ad content[2]
utm_source_platformThe platform that sent the traffic, such as Display & Video 360[1]Manual source platform
utm_creative_formatThe creative’s type: “display, native, video, search”[1]Nowhere, and see below
utm_marketing_tacticThe targeting: “remarketing, prospecting”[1]Nowhere, and see below

The seven fields named in that last column all belong to one family: the reports that answer where a visit came from. GA4 has a second family, the reports that describe the page itself, and your parameters show up differently there. Google states they’re left out of Landing page and Page path, and land in Page location instead.[1]

Two parameters that go in but never come out

They’re utm_creative_format and utm_marketing_tactic, the bottom two rows of the table above. Put either one on a link and Google will document what it’s for. Neither will ever appear in a report you can open.

Google says so itself, on the campaign-URL page, in a note sitting directly under the example value it just handed you:

“utm_creative_format isn’t currently reported in Google Analytics properties.”[1]

There’s an identical note under utm_marketing_tactic.[1] So far, so clear. The confusion starts when you check Google’s other two pages, because neither one tells the same story.

Where you lookOn utm_creative_formatOn utm_marketing_tactic
The campaign-URL page[1]Documents it, then notes it isn’t reportedDocuments it, then notes it isn’t reported
The traffic-source page[2]Names three reporting fields for it, then says it isn’t reportedNames three reporting fields for it, then says it isn’t reported
The dimension reference[4]Lists a Manual creative format fieldDoesn’t mention it at all

Three live Google pages, three slightly different answers, and no published explanation for the gap. We haven’t found a documented test of what actually lands in a property either.

So the honest position is the dull one. Treat both as documented rather than reportable, and don’t build a report you care about on top of them.

/ free tool

You’ve already shipped links. Paste one in.

Paste a link you’ve already sent into our free builder and it shows you what Analytics will make of it, before the report does.

Check an existing link

The three parameters that can move your traffic

Only three of the nine change which channel a visit gets filed under: utm_medium, utm_source and utm_campaign.

What is a channel in Google Analytics?

The channel is the bucket every visit gets filed under: Email, Paid Social, Organic Search, Referral.

It works like a chute at the end of the baggage belt. The visit goes down one of them, it goes down exactly once, and your tag is what picks the chute.

Start with medium, because it turns up in more of Google’s channel rules than any other parameter. A medium of referral, app or link files the visit under Referral. A medium on Google’s paid list pushes it into a paid channel.[3]

But medium doesn’t get the last word, and this is where the usual “medium is king” advice goes sloppy. Paid Social takes a social source and a paid medium together, both or nothing.[3] Organic Social takes a social medium, or a social source, and either one on its own is enough.[3]

So source routes traffic by itself, with no help from the medium at all. That’s two of the three.

The third is utm_campaign, and Google reads it with a rule of its own.

Organic Shopping matches on a shopping source, or on a campaign name with shop or shopping inside it.[3] Google publishes the exact text pattern, and the page carrying it sits in our references.

You don’t have to read that pattern. You only have to know it’s being run against a name you wrote as a free-text label.

Name a campaign spring-shop-sale and you’ve written a routing instruction without meaning to.

Put it on a newsletter link and you’ve written two. The medium is email, and Google’s Email rule matches on that alone.[3] So the visit now fits two channels at once, Email and Organic Shopping.

Google publishes both rules, but it never says which one it checks first.[3] Which means the docs can’t tell you where this visit lands. You meant Email, and one word turned that into an open question.

FIG 01. One word gives this email two possible channels A link tagged source newsletter, medium email, campaign spring-shop-sale, with the word email in the medium and the word shop in the campaign name marked. Each marked word matches one of Google's channel rules, so the link matches both Email and Organic Shopping. A question mark sits between the two channels: Google doesn't publish which rule wins. https://example.com/pricing ?utm_source=newsletter&utm_medium= email &utm_campaign=spring- shop -sale Email Organic Shopping ?
FIG 01. One word gives this email two possible channels A link tagged source newsletter, medium email, campaign spring-shop-sale, with the word email in the medium and the word shop in the campaign name marked. Each marked word matches one of Google's channel rules, so the link matches both Email and Organic Shopping. A question mark sits between the two channels: Google doesn't publish which rule wins. https://example.com/pricing ?utm_source=newsletter &utm_medium= email &utm_campaign=spring- shop -sale Organic Shopping ? Email

Google publishes Organic Shopping as two conditions joined by “or”, and a campaign name is one of them.[3] Email matches this same link on its medium, so both rules say yes, and Google doesn’t say which one it checks first.[3] The campaign name is our own illustration, not a measured case.

The other six are description and nothing more. utm_term, utm_content, utm_id and the rest fill in columns you’ll read later, and they move nothing.

Which makes the usual priority backwards. Most teams we work with spend an hour on campaign-name taxonomy and none at all on their medium vocabulary, when medium does most of the routing and the campaign name is quietly doing some of it too.

What breaks when you get one wrong

Nothing visible happens. No error message, no warning anywhere. The report renders, the totals add up, and the answer is wrong.

Three things go wrong in practice, and each traces back to a specific parameter.

A capital letter splits a row

Case is the most common, and it’s the one that feels like it couldn’t possibly matter.

Google’s rule on the values is short: “Parameter values are case sensitive, e.g. utm_source=google is different from utm_source=Google.”[1]

But Google’s channel rules ignore case completely.[3]

So the channel a visit lands in doesn’t care how you capitalized anything. The source and medium rows sitting under that channel care completely. Both are true at once, which is exactly why this one survives review.

Your channel report looks correct, every row underneath it has quietly split in two, and the people causing it are the conscientious ones who capitalize brand names properly.

Almost nothing repairs this afterwards, which is why it has to be caught where the link gets built. That argument is the whole subject of our UTM best practices guide, so we won’t re-run it here.

The wrong medium files your money somewhere else

Medium is the routing instruction, so a wrong value doesn’t lose the visit. It relocates it.

Tag a paid social ad with utm_medium=social and the Paid Social rule fails, because that rule wants a paid medium and social isn’t one of them. The Organic Social rule has no such requirement, so a social source satisfies it alone. And money you spent gets filed as posting you didn’t pay for.[3]

From the outside nothing looks broken. Your paid social return simply reads low for a quarter, and a channel that was working gets its budget cut.

A missing parameter deletes the answer

The third one is subtractive, and it’s the least intuitive of the three. A half-tagged link is worse than an untagged one.

Google’s own instruction on its campaign-URL page has no conditions attached to it at all: “When you add parameters to a URL, you should always use utm_source, utm_medium, and utm_campaign.”[1]

The mechanism behind that advice sits on a different page, and it arrives with a condition most write-ups drop. Google Ads and Display & Video 360 add their own tracking ID at the click. Where that ID can’t be used as intended:

“if any UTM parameter is present on the URL, Google Analytics will derive all cross-channel traffic source dimension values from UTM parameters, exclusively.”[2]

Exclusively. Meaning the referring page, the thing that would otherwise have told you where the visitor came from, stops being read. Google’s own advice in the next sentence is to set every relevant parameter once you’ve set one, because missing ones “will result in (not set) values being present in reporting”.[2]

We’ll flag the boundary, because that passage gets quoted everywhere with the condition stripped off it. All of it lives in one paragraph that opens on the click-ID case, and Google never writes the same thing out for a plain link that never carried one. What isn’t conditional is the line on the campaign-URL page: all three, together, every time.

What a campaign-only link buys you

A link carrying nothing but utm_campaign gives you one campaign name, (not set) where the source should be, (not set) where the medium should be, and a visit that matches no channel rule.

Leave the same link untagged and Analytics reads the referring page instead. That’s more than you just got.

Two questions always arrive at this point, and both belong to the UTM best practices guide rather than to this page.

On SEO: adding parameters creates a second address for the same page. Google’s canonical guidance uses exactly that shape as its worked example, a URL carrying an ad-click parameter, and the advice is to consolidate the signals onto the version you’d rather people saw.[8]

On your own internal links: don’t. Tagging a banner between two of your own pages overwrites whatever brought the visitor to you in the first place.

/ free tool

A form shows the empty field. An address bar never does.

Source, medium and campaign sit side by side in our free builder, so nothing goes out carrying a campaign name and two (not set) values where the routing belonged.

Open the UTM builder

Two things GA4 doesn’t give you

Both of them are things the advice written for Universal Analytics still assumes you have. That advice never stopped circulating, even though UA stopped processing data for standard properties on 1 July 2023.[7]

The first is repair. In the old product you could rewrite values as they arrived, which is how plenty of teams normalized their casing without ever having to think about it. GA4’s filters do nothing of the kind, and Google describes the entire menu in one sentence:

“Currently, Google Analytics offers filters to either include or exclude internal traffic and developer traffic.”[5]

That’s the whole thing. Google says so on the same page in the next breath, listing what the old product had and this one doesn’t: “search-and-replace, geography, social network, and more advanced options.”[5]

One adjacent feature deserves naming, because leaving it out would overstate the case. It’s called event modification, and it swaps a value you name for a new one as the event is processed.[9]

But it isn’t the old search-and-replace. There’s no case conversion anywhere in it, it doesn’t reach backwards (“Modified and new events do not apply to historical data”[9]), and Google’s documentation never says whether it touches session source and medium at all. Nobody has published a test either way, so treat it as unproven rather than as a repair path.

The second is an override. Auto-tagging is the Google Ads setting that puts Google’s own tracking ID on the address the moment somebody clicks your ad,[6] and on those links your hand-written values often don’t survive. There’s no switch anywhere in GA4 to make yours win instead, and Google says so in exactly those terms:

“in Google Analytics 4 (GA4), auto-tagging is prioritized over manual tagging due to the absence of an override option.”[6]

Analytics says the same from its own side. Where a link carries both kinds of tagging, the auto-tagged values are the ones your reports use.[2]

What you’d reach forWhat GA4 actually offersFixes a bad tag?
A filter that rewrites values as they arriveFilters that only include or exclude internal and developer traffic[5]No
Event modificationSwaps a value you name, with no case conversion and nothing applied to historical data[9]Unproven
A setting that makes your UTMs beat auto-taggingNo override option, so the auto-tagged values win[6]No

Both gaps point the same direction. There are more parameters to get wrong than the five most guides still teach, and fewer ways left to correct any of them.

Which leaves exactly one moment that matters, and it’s the moment the link gets built.

In short -- the report isn’t a summary of what you typed. It’s what a fixed rulebook did with the instructions you gave it, and you typed them in a hurry, into a free text box, on a Friday.

Sources
  1. URL builders: Collect campaign data with custom URLs Google Analytics Help. Retrieved 27 August 2026.
  2. Traffic-source dimensions, manual tagging, and auto-tagging Google Analytics Help. Retrieved 27 August 2026.
  3. Default channel group Google Analytics Help. Retrieved 18 October 2026.
  4. Analytics dimensions and metrics Google Analytics Help. Retrieved 27 August 2026.
  5. About data filters Google Analytics Help. Retrieved 27 August 2026.
  6. About auto-tagging Google Ads Help. Retrieved 27 August 2026.
  7. Universal Analytics has been replaced by Google Analytics 4 Google Analytics Help. Retrieved 27 August 2026.
  8. How to specify a canonical URL with rel=“canonical” and other methods Google Search Central. Retrieved 27 August 2026.
  9. Rename and generate new events Google Analytics Help. Retrieved 27 August 2026.

Frequently asked questions

What are UTM parameters?

A UTM parameter is a piece of text added to the end of a link so Google Analytics can file the visit it brings in. Google documents nine of them, including utm_source, utm_medium and utm_campaign. They aren't labels you write for your own reference. Each one fills a named reporting field. Source and medium do most of the channel routing, and Google's Organic Shopping rule reads the campaign name too.

What is a UTM code?

The same thing as a UTM parameter, under a different name. You'll also see UTM tag, UTM tags, UTM codes and UTM variables used interchangeably, and there's no technical difference between any of them. The letters are usually expanded as Urchin Tracking Module, after the analytics company Google bought in 2005, though Google's own campaign page never spells the acronym out.

What are UTM parameters used for?

They tell Google Analytics where a visit came from in cases where the link alone wouldn't say. Email apps, PDFs and QR codes often strip the referring page or never carry one, so the visit arrives looking like direct traffic. With parameters on the link, Analytics files the visit under the source, medium and campaign you specified and groups it into a channel.

Why do UTM parameters matter?

Because they're the only part of your traffic-source data you write by hand, and Google Analytics has almost no way to repair them afterwards. Its filters only include or exclude internal and developer traffic, with no case conversion anywhere in them. A value typed two ways splits one campaign into two rows, permanently, in every report that shows source, medium or campaign.

How do UTM parameters work?

Analytics reads the utm_ parameters off the address, writes each value into a matching reporting field, then tests those values against a fixed set of channel rules to decide where the visit belongs. Source and medium settle most of it, though the Organic Shopping rule also matches on the campaign name. Google states those channel definitions aren't case sensitive and can't be edited, so your values have to fit rules you have no way to change.