Open Tracked/Guides/Unassigned and not set traffic source in GA4

Unassigned and not set traffic source in GA4

"Unassigned" means GA4 could not match the session to any channel rule. The cause is usually missing or odd source and medium values.

4 min read · Updated October 26, 2026

In this guide
Check these first
  • Unassigned is a channel group value for sessions whose source and medium do not match any channel rule.
  • Common causes: custom UTMs, missing medium, server-side events without session data, consent and redirects.
  • Fix with a UTM standard, correct server event parameters and custom channel groups.
VVisit with odd source and mediumNNo channel rule matchesUUnassigned

You open the traffic acquisition report and a large share of sessions is labelled Unassigned, or the source shows "(not set)". It looks like missing data and sometimes is. More often it is data that GA4 received but could not classify. This page explains the causes and how to fix them. See attribution tracking, avoiding UTM removal and GA4 event tracking.

What the terms mean

TermMeaning
Unassigned (channel group)The session has source and medium values, but no channel rule matches them
(not set)GA4 has no value for that field
(direct) / (none)No source information, treated as direct traffic
Check your setup

Check your tracking in one pass

This is an example. Run the check on your own site to see where yours stands.

Common causes

SymptomCustom or misspelled UTM medium
Likely causeA value such as social-paid or Paid Social does not match the default rules.
FixUse standard mediums such as cpc, paid_social, email, organic or add a custom channel group.
SymptomMissing medium
Likely causeA UTM source without a medium.
FixAlways set both.
SymptomServer-side events without session information
Likely causeEvents sent through the Measurement Protocol or a server without the right client ID or session ID start new sessions with no source.
FixSend the same client ID and session ID, or use the GA4 client in the server container.
SymptomConversion events without a session
Likely causeAn offline event is attributed to nothing.
FixInclude session identifiers or use User-ID joins.
SymptomRedirects strip parameters
Likely causeThe landing page has no UTMs.
FixKeep the query string.
SymptomConsent denied
Likely causeSessions arrive without identifiers.
FixExpect some loss. Use Consent Mode.
SymptomReferrals from unlisted sources
Likely causeA new platform with no channel rule.
FixAdd it to a custom channel group.
SymptomDelays
Likely causeData is still processing.
FixCheck again after 24 to 48 hours.

Diagnose

1

Open the report with source and medium

Traffic acquisition, with Session source / medium as the dimension.

2

Filter the Unassigned channel

See which source and medium pairs fall in it.

3

Look at the top pairs

Do they have odd mediums, or are they (not set)?

4

Check landing pages

Do those sessions land on pages with redirects?

5

Check event sources

Are server events creating separate sessions?

Data in, clean out

Raw events in. Clean events out.

Open Tracked collects each event on your own domain, removes the noise and sends what is left to Meta, Google Ads, TikTok.

Fix and prevent

  • Write a UTM standard: lower-case, fixed lists for source and medium, one naming style.
  • Create a custom channel group for platforms with their own mediums.
  • Make sure server events carry the client ID and session ID of the browser session. A server container with the GA4 client does this by default.
  • Keep redirects from dropping the query string.
  • Add auto-tagging for Google Ads, so gclid is mapped to Paid Search.

Open Tracked notes

Open Tracked's tagging server receives GA4 events on your own subdomain, so session and client IDs stay consistent between the browser and the server. Click ID Restorer and Cookie Keeper (every plan) help keep the click IDs and cookies that tie sessions to sources. Its analytics product reports source, spend and orders from your own first-party data, which avoids GA4's channel grouping altogether.

0 of 6 done
Try it

Works with your stack

Grab a logo and throw it. These are the tools Open Tracked already talks to.

Grab one. Throw it.

Frequently asked questions

What does Unassigned mean in GA4?

The session's source and medium did not match any channel grouping rule.

Why do I see (not set)?

GA4 has no value for that field, often because of missing UTMs or events without session data.

How do I reduce Unassigned traffic?

Standardise UTMs, add custom channel groups and send complete session data from servers.

Does server-side tracking cause Unassigned?

It can, if server events are sent without the browser's client ID and session ID.

Is Unassigned the same as direct?

No. Direct means no source information. Unassigned means a source existed but did not match a rule.

Do I need spreadsheets to read my results?

No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.

Is Open Tracked different from Open Track or Open Space Track?

No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source

Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.

Open Tracked
Written by

The Open Tracked team

We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?

Write to us Read the docs

Was this article helpful?

Comments

Loading comments...

Turn better tracking into better marketing performance

Start free