"Landing page not set" in GA4 appears when a session has no associated page_view event as its first hit. GA4 assigns the landing page dimension based on the first page_view in a session. Sessions that begin without a page_view event produce the "(not set)" value.
—
Google Help explains the official process in [GA4] Automatically collected events.
What Does "Landing Page Not Set" Mean in GA4?
"Landing page not set" means GA4 could not assign a landing page value to a session. The landing page dimension in GA4 represents the page path and query string of the first page_view event in a session. When no page_view event exists at session start, GA4 returns "(not set)" in its place.
Most Impactful Change in the SEO Industry: 5 Shifts That Redefined Search Optimization
Search Engine Optimisation for PR: 7 Strategies That Build Authority and Increase Visibility
This value appears in GA4 reports including:
- Traffic acquisition report
- Landing page report (Engagement section)
- Explorations using the landing page dimension
How Does GA4 Define a Landing Page?
GA4 defines a landing page as the page path recorded by the first page_view event in a session. It uses the page_location parameter to extract the path and query string. The landing page dimension is populated only when a page_view event fires at the start of a session.
This differs from Universal Analytics, which assigned landing page based on the first hit of any type in a session.
—
What Causes "Landing Page Not Set" in GA4?
"Landing page not set" in GA4 has 6 primary causes:
- Sessions triggered by non-page_view events such as custom events or app events
- Cross-domain tracking gaps where sessions restart without a new page_view
- Bot or spam traffic that sends events without page_view hits
- Single-page application (SPA) implementations that do not fire page_view events on navigation
- Server-side tagging or Measurement Protocol hits sent without page_location parameters
- Users navigating directly to a page where the GA4 tag fires late or fails to load
Why Do Non-Page View Sessions Cause "Landing Page Not Set" in GA4?
Non-page_view sessions cause "(not set)" because GA4 assigns the landing page dimension exclusively from the page_view event. If the first event in a session is a custom event, a scroll event, or a conversion event without an accompanying page_view, the session has no landing page to record.
This is common in implementations where event tracking fires before the GA4 page_view tag executes.
Why Does Cross-Domain Tracking Cause "Landing Page Not Set" in GA4?
Cross-domain tracking causes "(not set)" when sessions cross domain boundaries without passing the linker parameter correctly. GA4 starts a new session on the destination domain. If no page_view fires immediately on arrival, the new session records "(not set)" as its landing page.
According to Google's GA4 documentation, cross-domain measurement requires the linker parameter in all destination URLs to maintain session continuity.
Why Do Single-Page Applications Cause "Landing Page Not Set" in GA4?
Single-page applications cause "(not set)" when virtual page_view events are not configured for route changes. GA4 records the initial page_view on load but does not automatically detect URL path changes within an SPA framework. Subsequent navigation does not trigger a new page_view unless explicitly configured.
SPA frameworks that require manual page_view configuration include React, Angular, Vue.js, and Next.js.
—
How Do You Fix "Landing Page Not Set" in GA4?
Fixing "landing page not set" in GA4 requires 5 steps:
- Identify which sessions are producing the "(not set)" value
- Determine the event type that is starting those sessions
- Audit the GA4 tag firing sequence in Google Tag Manager
- Verify cross-domain linker configuration if multiple domains are tracked
- Implement virtual page_view events for SPA route changes

How Do You Identify Sessions Causing "Landing Page Not Set" in GA4?
Identify sessions causing "(not set)" through these 4 steps:
- Open GA4 and navigate to Explore. Create a free-form exploration.
- Add the dimensions: landing page, event name, and session source.
- Add the metric: sessions.
- Filter the landing page dimension to "(not set)."
The event name dimension reveals which event type is starting the affected sessions. This confirms whether the source is a custom event, a conversion, or an app event.
How Do You Fix "Landing Page Not Set" Caused by Tag Firing Order in Google Tag Manager?
Fix tag firing order issues through 3 steps:
- Open Google Tag Manager and locate the GA4 configuration tag.
- Set the GA4 configuration tag to fire on "Initialization – All Pages" trigger. This ensures page_view fires before any other GA4 event tags.
- Set all custom event tags to fire on triggers that execute after page load, not on initialization.
The "Initialization – All Pages" trigger fires earlier in the page load sequence than "All Pages," ensuring page_view is the first event recorded in every session.
How Do You Fix "Landing Page Not Set" Caused by Cross-Domain Tracking in GA4?
Fix cross-domain tracking issues through 4 steps:
- In GA4, navigate to Admin > Data Streams > Web Stream > Configure tag settings.
- Select "Configure your domains" under the cross-domain measurement section.
- Add all domains that share the same GA4 property.
- Verify that linker parameters appear in destination URLs by checking the Network tab in browser developer tools after clicking a cross-domain link.
| Cross-Domain Fix | Where to Configure | Expected Outcome |
|---|---|---|
| Domain list in GA4 tag settings | GA4 Admin > Data Streams | Linker added automatically to links |
| Manual linker in GTM | Cross Domain Linker tag | Session ID passed between domains |
| URL parameter allowlist | GA4 Admin > Reporting identity | _gl parameter retained in URLs |
How Do You Fix "Landing Page Not Set" in a Single-Page Application?
Fix SPA landing page issues through 3 steps:
- Configure GA4 to send a page_view event on every route change using the History Change trigger in Google Tag Manager.
- In GTM, create a trigger of type "History Change." Apply it to the GA4 configuration tag.
- Confirm virtual page_view events appear in GA4 DebugView after navigating between SPA routes.
The History Change trigger detects pushState and replaceState URL changes in React, Angular, and Vue.js without additional code modifications.
—
Does "Landing Page Not Set" Affect GA4 Data Accuracy?
"Landing page not set" affects landing page report accuracy but does not affect total session counts or conversion data. Sessions still exist in the data. Their source, medium, and campaign attribution remain intact. Only the landing page dimension is missing.
A high percentage of "(not set)" values in the landing page report indicates a tracking implementation issue. A percentage below 5% of total sessions is considered acceptable for most implementations.
—
What Is the Fastest Way to Diagnose "Landing Page Not Set" in GA4?
The fastest diagnostic method uses GA4 DebugView combined with Google Tag Manager Preview mode. Enable GTM Preview, load the affected page, and observe the event sequence in DebugView. If a custom event or conversion fires before the page_view event in the timeline, the tag firing order is the root cause.
This method identifies the cause in under 10 minutes without requiring historical data analysis or report configuration.

Waleed Qamar holds a BSc in Computer Science from Purdue University and has spent the years since turning that technical foundation into something the curriculum never covered: figuring out why websites rank, why they fall, and why most businesses never find out until it is too late.
Pakistan-born and based between the United States and South Asia, he has managed search visibility for e-commerce stores, local service businesses, and SaaS startups across two continents. He started in SEO when guest posting still worked, survived the Penguin update, and has rebuilt client sites from scratch after algorithm hits more than once.
He has watched good businesses get sold packages that looked like progress and delivered nothing lasting. He has also seen the right approach quietly double a site’s traffic without a single press release about it.
His writing on SEO By Highsoftware99 covers Google algorithm updates, autocomplete optimization, semantic SEO structure, and the widening gap between what agencies promise and what Google actually rewards in 2026.
He knows what a traffic cliff looks like in Search Console on the morning you discover it.

