Why your GA4 landing page report shows (not set)
GA4's Landing page report can show "(not set)" when a session has no page_view event. Google says so directly. Check whether the affected session contains any page_view, then find out why one was not recorded. An interaction event arriving first does not by itself cause "(not set)" if a pageview follows.
That one-line answer is the mechanism the troubleshooting guides need to start with. GA4 defines its Landing page dimension as the page path and query string associated with the first pageview within a session. The first event need not be a pageview. If the session records one later, GA4 can use it; if the session records none, there is no pageview to supply a landing page.
What "(not set)" means on the landing page dimension
"(not set)" is GA4's placeholder for a dimension it received no value for. Google's reference page, checked in September 2026, is explicit about the landing page case: it can appear when a session has no page_view event.
So the first question is whether an affected session contains a page_view. If it does, the no-pageview explanation does not fit; inspect the event and report data before changing your tags. The share of "(not set)" rows alone cannot tell you which cause applies.
What causes a (not set) landing page in GA4
These checks focus on sessions that record other events but no page_view:
| What happened | Why the landing page is (not set) | What to check |
|---|---|---|
Interaction events were recorded, but no page_view was |
The session has activity but no pageview from which to populate Landing page | In DebugView, look for any page_view in the affected session, not just the first event |
| A session timed out after inactivity, then another event fired without a new pageview | GA4 starts a new session after the timeout; that new session can have events but no page_view |
Compare event times and session IDs; GA4's default inactivity timeout is 30 minutes |
| The pageview tag failed, while another GA4 event was still sent | GA4 receives an event-only session | Check tag firing, consent behavior and DebugView on the affected pages |
Measurement Protocol sent events into a session without a page_view |
Server-side activity alone does not provide the session's first pageview | Inspect the event names and session ID; if you intend to send a page_view, verify its page data too |
An entirely untagged page does not create a GA4 session or a "(not set)" report row on its own: GA4 receives no event from it. Likewise, a non-pageview event arriving before a later pageview is not sufficient to explain "(not set)." And unlike Universal Analytics, GA4 does not restart sessions at midnight.
How to tell which cause is yours
Order the checks by how quickly they rule a cause out:
- Is it recent? Google's data-freshness guidance says report values can change during 24–48 hours of processing. Recheck fresh rows after that window, but do not treat processing as proof that a session lacked a pageview.
- Open DebugView and watch a real session. Look for any
page_viewwith page data in the affected session. If none appears while other events do, inspect tag firing and consent behavior. If a pageview does appear later, event order alone does not explain the missing landing value. - Check sessions after inactivity. A session can time out after 30 minutes without events. If the next recorded activity is an interaction with no new pageview, that new session can lack a landing page. Midnight alone is not a GA4 session boundary.
- Check your Measurement Protocol traffic. Determine whether event-only traffic is associated with the affected sessions.
/mp/collectrequires a privateapi_secret; it is a different endpoint from the unauthenticated/g/collecttraffic discussed in the ghost-traffic post. A missingpage_locationon one non-pageview event does not establish that the whole session lacked apage_view.
Why Simplytics's top-pages report has no (not set) bucket
GA4 derives a session's landing page from its first pageview. When no pageview is recorded in that session, there is no page path to use for the Landing page dimension.
A tracker that records the page path at the moment of the pageview has nothing to reconstruct. Simplytics reads the path straight from the browser's location (window.location.pathname) when each pageview beacon is sent, on the page itself, and stores it per page. A recorded pageview therefore always carries its own path — there is no separate "landing page" dimension assembled from a session_start event that can come up empty, so the top-pages report has no "(not set)" row to explain. Simplytics is a cookieless, EU-hosted analytics tool at $12 a year — $1/month, billed yearly — and the path travels with the hit rather than being inferred from it.
It also can't accrete a mess the way GA4's user- and event-level store can. Simplytics deletes raw visit records nightly and keeps daily aggregates, so even a bad day is a bad day, not a permanent column of "(not set)" rows you re-slice for months.
Where Simplytics is not the right choice
Being honest about the trade, because the contrast above has a real edge:
- Simplytics has no session-scoped landing-page dimension at all. It reports top pages by views and visitors, plus site-level sessions — not "which page began each session." If entry-page-per-session attribution is a report you depend on, GA4 (once its tagging is fixed) does that and Simplytics does not. The flip side is that there is no landing-page dimension to go "(not set)".
- A missing tag still means missing data. If a page has no Simplytics snippet, its views are not recorded — the same blind spot every client-side tracker has. The difference is you get no row for that page rather than a mislabeled "(not set)" bucket, which is easier to notice but no less missing.
- Paid-channel attribution is GA4's job. Simplytics classifies referrers into fixed channels including AI assistants but does not split paid from organic or attribute ad spend. If measuring campaigns down to the ad platform is why you run analytics, that's GA4 territory.
The bottom line
GA4 can show "(not set)" for Landing page when a session records no page_view. Check whether the affected session has a pageview at all, then inspect pageview tagging, event-only traffic and activity after inactivity timeouts. Recent report values may still change during processing. A tool that captures a path on each pageview avoids this particular missing-path case, but it does not thereby offer GA4's session-scoped landing-page report. Simplytics uses that per-page approach at $1/month billed yearly, versus $9–15/month for the paid privacy-first tools discussed here.
Last verified: 2026-09-29.