Quick answer: "Unassigned" appears in GA4 when a session can't be mapped to any of the standard channel definitions. The most common causes in 2026 are: missing UTM parameters on internal campaigns, mis-tagged paid links, sessions that started before consent was granted, and custom source/medium values that don't match any channel rule. Fix the tagging, then optionally create custom channel groups to catch the rest.
What "Unassigned" actually means
GA4 uses a fixed set of rules to bucket every session into a default channel (Direct, Organic Search, Paid Search, Social, Referral, etc.). When a session has values for source and medium that don't match any of those rules, GA4 dumps it into "Unassigned" — which is just a fallback bucket, not a real channel.
Unlike the older Universal Analytics "(not set)", which often meant missing data entirely, "Unassigned" in GA4 means the data exists — GA4 just doesn't know what to do with it.
The 5 most common causes in 2026
1. Internal campaign UTM tags using non-standard mediums
If you tag an email campaign with utm_medium=newsletter instead of utm_medium=email, GA4 doesn't know "newsletter" is email traffic. It falls into Unassigned. The default GA4 channel definitions accept only specific medium values for each channel — see Google's channel groupings reference.
Common offenders:
utm_medium=banner→ Unassigned (should bedisplay)utm_medium=qr→ Unassigned (should beofflineorprint)utm_medium=podcast→ Unassigned (no standard channel — needs custom group)utm_medium=influencer→ Unassigned (useaffiliatesor custom)
2. Google Ads autotagging disabled or gclid stripped
If autotagging is off in Google Ads, or if your URL parameters are getting stripped by a redirect or a CDN, the gclid never reaches GA4 — and the session lands in Unassigned (or worse, Direct).
How to check: In Google Ads → Admin → Account settings → Auto-tagging. Should be ON. Then check that gclid is preserved end-to-end by clicking an ad and observing the final URL after all redirects.
3. Sessions started before consent was granted
When a user lands on your site and you have Consent Mode v2 with default-denied, the first hit goes out cookieless. If the user then accepts cookies and you start sending granted hits — the session attribution may not include the original referrer because that data wasn't captured. These sessions often end up Unassigned.
Fix: Enable URL passthrough (Admin → Data Streams → Configure tag settings → URL passthrough = ON) so the GCLID/UTMs survive across hits.
4. Cross-domain configuration missing a domain
If a user clicks an ad → lands on yourdomain.com → moves to checkout.yourpartner.com → returns to yourdomain.com/thanks, and checkout.yourpartner.com isn't in your cross-domain config, the return hit registers as a brand-new session with source=checkout.yourpartner.com and medium=referral. If the referrer doesn't match any channel rule, it becomes Unassigned.
5. Server-side GTM stripping or rewriting source/medium
If you use server-side tagging, custom transforms in your server container can accidentally overwrite the source or medium fields with empty strings. The resulting session has source/medium present but unrecognizable.
Fix: Audit your server-side client and tag templates for any logic that modifies these fields.
How to diagnose your Unassigned traffic in 10 minutes
- Go to Reports → Acquisition → Traffic acquisition
- Set the dimension to "Session source / medium" instead of "Session default channel group"
- Filter where channel group = "Unassigned"
- Look at the actual source/medium values — patterns will be obvious (e.g., 50% of Unassigned is
(direct)/(none)from a specific landing page = redirect-stripped GCLID)
Reclaiming Unassigned with a custom channel group
Once you've identified the patterns, you can create a custom channel group to reclassify them:
- Admin → Channel groups → Create new channel group
- Add a rule: e.g., "Source/medium matches regex
.*newsletter.*→ Email" - Save and apply to reports
Note: custom channel groups apply going forward only — historical data stays in Unassigned.
What % of Unassigned is "normal"?
For most properties, Unassigned should be under 5% of total traffic. If you're seeing 15%+ in Unassigned, you have a real tagging problem — not just edge cases. The fix is upstream (tag your campaigns correctly), not downstream (custom channel groups).
Audit your channel attribution automatically
Tagging issues compound silently — a single redirect or one mis-tagged email campaign can pollute reports for months. Run a free Snifflytics audit to identify exactly which sources are landing in Unassigned, why, and which campaigns need re-tagging — across your full GA4 setup.