• UTM Tracking
  • GA4
  • Google Ads
  • Attribution

Google UTM Parameters and How GA4 Reads Them

By Olam Sule · Published 8 Sept 2026

TL;DR

Google UTM parameters are five tags (utm_source, utm_medium, utm_campaign, plus optional utm_term and utm_content) that GA4 reads to attribute a click. GA4 also reads utm_id and three newer manual-campaign parameters. Source and medium together decide the channel, so a value GA4 does not recognise lands in Unassigned or Direct instead of its real source. We audit campaign tagging for agency and in-house teams most weeks; this is the reference we give them.

Olamide Sule, founder of Dolphin Analytics: a digital analytics expert based in London delivering solutions for agency and in-house clients.

Most guides to UTM parameters stop at the syntax. The question that actually costs you money is what Google does with each tag once GA4 reads it, because a single wrong value is enough to drop a paid click into Direct or Unassigned. We set up and audit campaign tagging for agency and in-house teams most weeks, so this is the reference we give clients: every parameter GA4 reads, how it turns them into a channel, and where Google Ads changes the rules. For the step-by-step of building and auditing links, see our UTM tracking guide; this page is the parameter reference behind it.

What are Google UTM parameters?

Google UTM parameters are short tags added to a link’s URL that GA4 reads to record where a click came from. UTM stands for Urchin Tracking Module, after Urchin, the analytics product Google bought in 2005 that became Google Analytics. Google assembles them with its free Campaign URL Builder, and GA4 reads each value into a campaign dimension you can report on.

The tags sit in the URL after a question mark, each one starting with utm_: ?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale-2026. GA4 and the older Universal Analytics use the same utm_ syntax, so links built years ago still read correctly. For a manually tagged link, that value is GA4’s only signal for where the click came from. Get it wrong and there is nothing else to fall back on.

What are the five standard UTM parameters?

There are five standard UTM parameters. Three are required for a link to report cleanly (utm_source, utm_medium, utm_campaign), and two are optional (utm_term, utm_content). Google’s URL builder documentation defines each one; here is the GA4 dimension each fills and the mistake that breaks it.

ParameterRequiredGA4 dimension it fillsCommon mistake
utm_sourceYesSession sourceLeaving it blank, so GA4 has no origin to read
utm_mediumYesSession mediumA value GA4’s channel rules do not recognise
utm_campaignYesSession campaignInconsistent spelling splitting one campaign into rows
utm_termOptionalSession manual termUsing it for anything but a paid keyword
utm_contentOptionalSession manual ad contentOverloading it instead of using utm_campaign

Source, medium and campaign are the three that matter most, because GA4 uses utm_source and utm_medium together to pick the channel a visit falls into. That pairing is where the reporting is won or lost, so it gets its own section next.

Which utm_medium values map to which GA4 channel?

GA4 does not just store the medium you set. It matches utm_source and utm_medium together against a fixed set of default channel rules, and only certain medium spellings match a rule, per Google’s default channel group documentation. Anything outside those patterns falls into Unassigned. Here are the medium values that map cleanly.

utm_medium valueGA4 default channel (with the expected source)
organicOrganic Search (source must be a known search engine)
cpc, ppc, paidPaid Search (search source) or Paid Social (social source)
display, banner, cpmDisplay
email, e-mailEmail
affiliateAffiliates
referralReferral
social, social-media, social-networkOrganic Social

The trap is a medium GA4 does not recognise. A utm_medium of newsletter for an email send, or fb for a paid social link, matches no channel rule, so GA4 files the session under Unassigned rather than Email or Paid Social. Case counts too: GA4 reads values literally, so Email and email are two different mediums. Pick the spelling that matches the rule and keep every value in a shared sheet so the whole team tags the same way.

What extra UTM parameters does GA4 read?

Beyond the five standard tags, GA4 reads four more parameters: utm_id and the three manual-campaign parameters utm_source_platform, utm_creative_format and utm_marketing_tactic, all defined in the same Google URL builder reference. Most teams never touch them, but utm_id earns its place the moment you import ad spend.

  • utm_id sets GA4’s Campaign ID dimension. It is the key GA4 uses to join a manually tagged click to imported campaign cost data, so if you bring ad spend into GA4, utm_id is the parameter that makes the spend line up with the sessions it paid for. Links that only need channel reporting can skip it.
  • utm_source_platform, utm_creative_format, utm_marketing_tactic fill GA4’s manual source platform, creative format and marketing tactic dimensions. They give structured manual campaign reporting for teams that want it. The original five carry the reporting for everyone else.

How do Google UTM parameters work with Google Ads auto-tagging?

Google Ads does not need UTM parameters at all. With auto-tagging on, which is the default, Google Ads appends a gclid (Google Click Identifier) to every ad click, and GA4 reads that gclid to attribute the session to Google paid search on its own, per Google’s auto-tagging documentation. The click arrives fully attributed without a single manual tag.

So the rule for Google Ads is: leave auto-tagging on and do not add UTMs on top. The gclid already carries source, medium and campaign, and manual tags layered over it can conflict and send otherwise clean Google Ads data astray. Manual UTMs are for the paid channels that have no gclid equivalent: Meta, LinkedIn, TikTok and the rest need tagging by hand or they arrive with nothing GA4 can read. We cover how click IDs like gclid carry attribution in our guide to gclid and click IDs.

Why do wrong UTM parameters show up as (not set) or Direct?

Wrong or missing UTM parameters show up as (not set) or (direct) / (none) because GA4 has nothing to attribute, so it reaches for the fallback bucket it uses when it cannot work out where a session started. The click still happens; the credit just lands somewhere useless. Three faults cause most of it.

  • Missing tags on non-Google paid. A Meta or LinkedIn link with no utm_medium=cpc carries no source GA4 can read, so it settles in Direct. You paid for the click and the report credits an audience typing your URL. That is the same leak behind unexpectedly high direct traffic.
  • A medium GA4 does not recognise. As above, a value outside the channel rules lands the session in Unassigned, which is part of why a large (not set) slice is usually a tagging fault, not a Google quirk.
  • Redirects stripping the query string. A link shortener, vanity URL or /go/ redirect that drops the utm_ parameters drops your tags with them, and crossing to another domain can reset the session unless cross-domain tracking carries it through.

How we fix broken campaign tagging

When we audit accounts, broken UTM parameters are rarely one clean mistake. They are usually a mix: a few untagged paid links, a medium spelled two ways, and a redirect quietly dropping the query string, stacking up until the channel report stops matching what the marketing team knows it spent. For one subscription ecommerce client we rebuilt campaign attribution from near zero to full coverage and recovered 30% of its Facebook conversions that the old setup had been losing. Most of that work is unglamorous: agreeing the values, tagging the links, and confirming the tags survive every hop.

Start by seeing what is actually firing on the site. Sonar, our free scanner, reads the tags, pixels and consent setup a visitor’s browser can see from the outside in one click, no account needed. If your channel numbers already look wrong and you want a person to read the problem with you, tell us what’s broken, or book a call.

Frequently asked

What are the UTM parameters in Google?

Google reads five standard UTM parameters: utm_source (the origin of the click), utm_medium (the channel type), utm_campaign (the campaign name), and the optional utm_term (a paid keyword) and utm_content (which link or creative). GA4 also reads utm_id and three manual-campaign parameters (utm_source_platform, utm_creative_format, utm_marketing_tactic) that fill extra reporting dimensions. The original five carry the reporting.

Which UTM parameters are required?

Three are required for a link to report cleanly: utm_source, utm_medium and utm_campaign. utm_term and utm_content are optional and only earn their place on paid search links or when you need to tell two creatives in the same campaign apart. Leave a required one blank and GA4 has no value for that dimension, so the session falls back towards Direct.

How does GA4 decide the channel from UTM parameters?

GA4 matches utm_source and utm_medium together against a fixed set of default channel rules, so the medium alone does not decide the channel. Only certain medium spellings match a rule: organic, cpc, email, referral, affiliate, display and the social variants. A medium GA4 does not recognise, like newsletter for an email or fb for paid social, matches no rule, so the session lands in Unassigned rather than its real channel.

Should I add UTM parameters to Google Ads links?

No. Leave Google Ads auto-tagging on and it appends a gclid to every ad click, which GA4 reads to attribute the session to Google paid search on its own. Adding manual UTMs on top can conflict with the gclid and send clean Google Ads data astray. Manual UTMs are for the paid channels that have no gclid equivalent: Meta, LinkedIn, TikTok and the like.

What is utm_id used for in GA4?

utm_id sets GA4's Campaign ID dimension. It is the key GA4 uses to join a manually tagged click to imported campaign cost data, so if you import ad spend into GA4, utm_id is the parameter that makes the spend line up with the sessions it paid for. Links that only need channel reporting can skip it; source, medium and campaign still carry that.

Who can fix our UTM tracking?

We can. We set up, audit and fix GA4 and Google Tag Manager tracking for agency and in-house teams most weeks, and inconsistent UTM parameters are one of the faults we find most. Start with our free scanner, Sonar, to see what is firing on the site from the outside, or tell us what's broken to get a person to read the problem with you.

Talk to us

Where does your data stop making sense?

Tell us what's broken, or grab a time. Either way you hear from a person, not a sales script.

Send a message

We reply within one working day.

Add a few details (optional) The more we know up front, the faster we can tell you what's wrong and how to fix it.

Protected by an invisible spam check. Prefer email? olam@dolphinanalytics.co.uk

Calendly · 30 min

Book a call

Thirty minutes on Google Meet with the founder.

The booking lands on the same record as your message.