Why GA4 is full of "(not set)" (and what each one means)
"(not set)" is GA4's way of saying "I was asked for a value and didn't have one". The trap is that it means something different in every report, so treating it as one problem gets you nowhere. Here is how to read it per context.
It is a placeholder, not an error
GA4 shows (not set) whenever a dimension had no value at the moment it was needed. The cause depends entirely on which dimension you are looking at, so the fix does too. Work out the context first.
The common ones, decoded
- Landing page = (not set): the session's first page view never arrived, usually because the GA4 config fires late, after a redirect, or is blocked by consent on entry. Covered in detail in landing page (not set).
- Session source / campaign = (not set): attribution data was missing, often a direct hit, a tagging gap, or consent stripping it. Related to Unassigned traffic.
- Page title = (not set): the page had no title when the event fired, common on SPAs that update the title after GA4 reads it.
- Key event / item dimensions = (not set): the event fired without the parameter you are reporting on, a data layer gap.
Which ones to ignore
A small slice of (not set) is normal and unavoidable: privacy tools, very fast bounces, and timing races will always produce a few. If it is a rounding error, leave it. It is worth investigating when it is a large, growing share of an important dimension, because then it is masking real traffic or revenue.
How to actually fix it
Because the root cause differs per dimension, the fix is diagnosis: when does the GA4 tag fire relative to consent and redirects, is the data layer populated before the event, and is the page a single-page app that mutates after load. That is exactly what an audit isolates in your live setup.
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 freeGet 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 & pricingDatahound 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 · Unassigned traffic in GA4