What Is Unassigned Traffic in Google Analytics?

Unassigned traffic in GA4 is sessions that have some acquisition data, but not enough — or not in the right shape — for GA4 to slot into any default channel. It's different from Direct traffic, which means GA4 found no referrer at all. Unassigned usually points to a configuration problem: malformed UTM parameters, a missing medium value, or custom channel group rules with gaps.

Unassigned vs Direct: the key distinction

Direct means GA4 has no data to work with — no referrer, no UTM parameters, nothing. Direct traffic is a clean "we don't know."

Unassigned means GA4 has partial data — maybe a UTM source but no medium, or campaign parameters that don't match any channel definition — and can't confidently place the session anywhere. It's a messier "we know something, but not enough to categorize it," and it shows up in the Traffic Acquisition report's Session source/medium dimension as the literal string "(not set)."

Common causes

Incomplete UTM tagging is the most frequent cause: a link with utm_source=newsletter but no utm_medium set gives GA4 a source with nothing to classify it by, so it can't confidently assign a channel.

Custom channel group rules with logic gaps are another common culprit — if you've built custom channel definitions in GA4 Admin and the rule conditions don't cover every combination of source/medium/campaign your traffic actually produces, anything that falls outside those rules lands in Unassigned.

Server-side tagging misconfiguration can strip or mangle acquisition parameters before they reach GA4, especially if the server container isn't forwarding the full set of campaign parameters.

Google Ads auto-tagging (the gclid parameter) can also conflict with manually applied UTM parameters on the same link — when both are present and inconsistent, GA4 sometimes can't resolve which one should win, and the session goes Unassigned. Migrated or imported historical data can also show up as Unassigned if it's missing acquisition dimensions GA4 expects.

How to fix it

Audit UTM consistency across every campaign — every tagged link should have at minimum a source and a medium, using consistent naming (lowercase, no typos, no mixing "email" and "Email" across campaigns). The UTM generator below builds correctly formatted links so this stops being a manual error to catch after the fact.

Review your custom channel group rules in GA4 Admin under Data display > Channel groups. Check for source/medium combinations that don't match any rule and add coverage for them.

Check the Traffic Acquisition report's Session source/medium dimension for "(not set)" rows — that's Unassigned traffic broken out, and it'll usually show you which source or medium value is missing.

Build clean UTM links

FAQ

What's the difference between Unassigned and Direct traffic in GA4?
Direct means GA4 found no acquisition data at all. Unassigned means GA4 has partial data — like a UTM source without a medium — but not enough to map to a default channel.
Why does GA4 show '(not set)' as a source/medium?
"(not set)" is how Unassigned traffic appears in the Session source/medium dimension — it means GA4 received incomplete or unrecognized acquisition parameters for those sessions.
Can Google Ads auto-tagging cause Unassigned traffic?
Yes. When a gclid parameter from Google Ads auto-tagging conflicts with manually added UTM parameters on the same link, GA4 can fail to resolve a channel and mark the session Unassigned.
How do I fix Unassigned traffic in GA4?
Audit your UTM parameters for missing mediums, review custom channel group rules in GA4 Admin for coverage gaps, and use a consistent UTM generator so every tagged link includes source and medium.

If you're here because GA4 is confusing — that's why we built Gizmo.

A dead-simple, cookieless Google Analytics alternative. Free forever, 10k events/mo.

Related terms