Why GA4 shows "(not set)" as a landing page

  • google-analytics
  • ga4
  • landing-pages
  • reports
  • troubleshooting

Updated

In Google Analytics 4 (GA4), the Landing page report sometimes lists a row called (not set). It means GA4 counted a session but couldn't tell which page it started on. A small share of (not set) sessions is normal and usually nothing to fix.

How GA4 decides the landing page

GA4 groups a visitor's activity into sessions. A session starts with the visitor's first event and ends after 30 minutes without activity (the default timeout).

The landing page is the page of the session's first page view. If a session starts with some other event, such as a scroll or a click, and no page view comes first, GA4 has no landing page to record and shows (not set).

What causes (not set)?

  • The session timed out. A visitor leaves your site open in a tab, comes back more than 30 minutes later, and scrolls or clicks without loading a new page. GA4 starts a new session with that scroll or click, so it has no landing page. This is the most common cause.
  • Events sent before the page view. In Google Tag Manager, an event tag fires before the Google tag that sends the page view, or on pages where the Google tag doesn't load at all.
  • Page views turned off. The Google tag is set not to send a page view automatically, and nothing sends one manually.
  • Events sent from outside the browser, for example from a server or another app, without the visitor's session details.

How much (not set) is too much?

  1. Open Reports → Engagement → Landing page.
  2. Compare the sessions on the (not set) row with your total sessions.

If (not set) is a few percent of sessions, it's almost certainly timed-out tabs, and you can ignore it. If it's a large share, or it jumped suddenly, check your tracking setup.

How do I fix a high share of (not set)?

  • In Tag Manager, fire the Google tag first. Give it the Initialization - All Pages trigger (or All Pages), and make sure your GA4 event tags only fire on pages that also load it.
  • Check the page view setting. In the Google tag's configuration, page views should be sent automatically unless you're deliberately sending them yourself.
  • Test with Tag Assistant or DebugView. Load a page and confirm page_view is the first GA4 event you see.

Changes only affect new data. Past (not set) rows stay in your reports.

On a Dirigible site

  • If you paste a Measurement ID into Google Analytics ID (under Appearance → Customize → Scripts & Embeds → Analytics & Tracking), Dirigible sends the page view for you. When Google Tag Manager ID is also filled in, Dirigible loads only Tag Manager, so set GA4 up inside your container. See Add tracking codes to your site.
  • If your site uses Dirigible Optimize, Dirigible Analytics has its own Landing pages list. It counts visits from page views on your site, so every visit's landing page is one of your pages.