Not Set In GA4 Landing Page Reports
Why does (Not Set) appear, how can you reduce it.
One issue I see in all accounts and properties is the presence of (not Set). This can impact multiple reports and generally means that at the time of the event in question, Google could not find a value for the dimension being used in the report. In this short post, I want to discuss landing pages specifically and some of the reasons why I think this is happening.
In GA4 when a new session begins an event parameter called ‘session_start’ is triggered within the event set to the GA4 collection server. In most cases the start of the session will include a ‘page_view’ and with that a ‘page_location’ parameter. Page location parameter is the full URL of the page and it is this event parameter that is used to populate your landing page report.
How is a landing page measured
In GA4 when a new session begins an event parameter called ‘session_start’ is triggered within the event set to the GA4 collection server. In most cases the start of the session will include a ‘page_view’ and with that a ‘page_location’ parameter. Page location parameter is the full URL and it is this parameter that is used to populate your landing page report.
There are a few scenarios where a session can begin, and an event is sent to Google however the page attributes are not present and the result is your landing page showing (not set) as the primary dimension.
Here are a few scenarios
- You are sending events to GA4 via the measurement protocol. The Measurement Protocol (MP) is a way to send additional data into your GA4 property, this will usually be data that isn’t available in the browser. Returns, cancellations, or offline account activations are a few examples. The MP is helpful at pushing this otherwise unavailable data into GA4 but it comes at a cost (Not Set). An MP event will report the event and new user but will not start a session or include any user agent information. Therefore causing (Not Set) to appear across many reports.
- Session Time outs. The default setting for a GA4 session is 30 minutes. If a user leaves their browser open and continues working on another browser tab the session can expire. If they later return to that tab and don’t reload the page, they can trigger an engagement or scroll event etc. This will initiate the new session without a page_view resulting in (Not Set).
Specifically in terms of Landing page, you can send a page_location event parameter, along with session_id as part of each MP event. That way you would see a session and landing page within the report.
For session timeouts, this nuance in behaviour can also be observed in Universal Analytics. So understanding what it is and monitoring it is probably sufficient for now. One action you can try is to extend the default session duration above 30 minutes and monitor the (Not Set) segment. If it works and you don’t see any detriment elsewhere in your data great!
Worth keeping an eye on how channel performance is influenced, you can cross reference the session channel performance with conversion paths (Advertising) to see this detail.
Any questions, feel free to get in touch