GA4 diagnostics

"Unassigned" traffic in GA4, and how to get rid of it

Unassigned is GA4 admitting defeat: it collected the sessions but could not match them to any channel in its rules. A large Unassigned row means you are flying blind on where real revenue comes from.

What Unassigned actually is

GA4 sorts every session into a channel (Organic, Paid, Direct, Email and so on) using its default channel groupings. When a session's source and medium do not match any rule, it lands in Unassigned. It is not a traffic type, it is a leftover bucket.

The usual causes

How to shrink it

Fix the firing order so GA4's config loads before any event, align your UTM mediums to the values GA4's channel rules expect, and confirm cross-domain linking is intact. Done properly, Unassigned usually drops from double digits to a percent or two. If yours is 20%+, your channel reports, and any decision made from them, are unreliable.

Want us to check your tracking in 10 seconds?

Pop in your domain and we will show you what is firing, what is not, and where data is leaking. Free, no signup.

Check my tracking free

Get a plain-English audit

We check your live GA4, Google Tag Manager and consent setup by hand and tell you exactly what is wrong. The audit comes off any build.

See how it works & pricing

Datahound are analytics and ad-tracking specialists. We fix broken GA4, Google Tag Manager and server-side tracking so every sale, form and call gets counted. Back to datahound.agency · All tracking guides · Why GA4 is full of (not set)