Why does this happen?
Before we get into the details, this is what Google’s support page suggests about this strange issue – “(not set) can appear for the landing page dimension when a session doesn’t have a page_view event”.
It’s difficult to imagine a scenario where a session can be generated without a page_view event. Still, if you think about it, there is an instance where a session might not have a page_view event associated with it. Imagine the below –
- User A comes to your website using the homepage with GA4 implemented correctly and the session timeout set to the default of 30 minutes.
- GA4 logs a session with a page_view event with page_location set to the homepage.
- User A goes for lunch but doesn’t close the browser tab they used to access your website.
- After 30 minutes, GA4 times out the session
- User A returns from lunch an hour later and goes to the same browser tab with your website open.
- When this happens, GA4 starts a new session, but it’s not going to log a new page_view event with the session if the page doesn’t reload. This is important because the page not reloading causes GA4 to log page_location as (not set), and since GA4 started a new session, the landing page dimension is also set to (not set).
The session timeout of 30 minutes plays a key role here. If the session hadn’t timed out, User A would have returned to the tab, no new session would have been generated, and the landing page value wouldn’t have been set to (not set).
So, how do we solve this issue?
Theoretically, if we increase the session timeout value to more than 30 minutes, sessions with no page_view events should decrease.
We decided to test this with our website’s GA4 property as we got many landing pages tagged as (not set). We changed the session timeout value to the maximum available in GA4 – 7 hours and 55 minutes for our test.
You can change this value by visiting your Data stream > Configure tag settings > Adjust session timeout.
The results
We’ve been running a session timeout configuration of 7 hours and 55 minutes on our website for 24 days. Below is the proportion of sessions with landing pages (not set) for the 24 days before the session timeout change was made.
There are still some sessions with a landing page (not set) coming through. Still, we never expected this solution to altogether remove this issue because user behaviour isn’t always going to fit the parameters chosen to solve this problem – in this case, session timeout.
Also, the internet (and web analytics) can provide weird and wild metrics that make no sense occasionally!
Wrapping up
Adjusting session timeout to the maximum available significantly decreased the number of landing page (not set) sessions for our website.
There are several things to consider before you go ahead and change the session timeout in your GA4 property:
- Increasing the session timeout duration will likely decrease the number of sessions your GA4 property collects. If you report on sessions as one of your key metrics, you should consider the impact of making this change. It’s difficult to measure the exact impact but in our case, the number of sessions with landing page (not set) was reduced by 80% which equated to roughly 8% of total sessions.
- We picked 7 hours 55 minutes because we wanted to test the impact of changing this setting to the highest value possible. Depending on factors relevant to you and your website, you might want to test a different number.
- If your GA4 implementation isn’t accurate, making this change might not have any significant impact as there may be other contributing factors behind this issue.
- If most of your sessions have a landing page value associated with them, you shouldn’t necessarily implement this change because it won’t solve the issue entirely.
Let us know what you see in your GA4 landing page reports and if changing the session timeout duration significantly impacts your data.
Conclusion
Need help? Book a quick chat about your GA4 services today.
Written by
Preet Singh