You’re poking around in GA4 and—bam—you hit the dreaded “Unassigned” traffic label. Then, to make it even more confusing, session source / medium shows up as (not set). Like, thanks GA4, that really helps.
Where did they come from? Which campaign sent them?
Let’s solve this mystery, step by step.
Step 1: Understand Why This Happens GA4 isn’t being sneaky. Here’s why traffic gets thrown into the “Unassigned” abyss:
- Someone forgot the UTM tags. (It happens.)
- A redirect somewhere gobbled up your carefully crafted UTMs.
- GA4 tags fired too late and missed their chance to catch the source.
- The session started before the tag had all the info it needed.
Step 2: Grab the Right Tools Time to roll up your sleeves. In GA4’s Explore section, import these dimensions:
- session campaign (a.k.a. your UTM campaign name)
- session source and session medium (use them separately)
- landing page + query string (shows the full URL—UTMs and all)
- page referrer (can help track back to emails, apps, or links)
- event name
Step 3: Build a Helpful Table in Explore Start a Blank Exploration and:
- Add the dimensions above
- Add metrics: event count and sessions
Now create a table:
- Rows: event name, session campaign, session source
- Optionally add landing page + query string if you want the full picture
- Values: event count, sessions
This lets you see:
- What users did
- What campaign (if any) was recorded
- The page they landed on (and whether UTMs were present)
Step 4: Fix the Root Cause So It Doesn’t Happen Again Tracking issues stink—but they’re fixable. Here’s how:
Final Thoughts: Unassigned traffic in GA4 isn’t just annoying—it’s a clue. It’s telling you something’s broken. But with the right setup, you can trace those sessions back to their rightful campaigns, clean up your data, and get credit for the traffic you’re actually driving.