Dealing With Landing Page (not set) in GA4
You’re taking a look at your GA4 Landing Page report and you see something mysterious listed along with your other landing pages. What is (not set) doing in your Landing Page report? What does it mean? And most importantly, how can you fix it?
Here is what you’ll learn in this article.
- What (not set) means in GA4
- Why your Landing Page is (not set)
- 1. How session timeout causes (not set)
- 2. Spam causing (not set)
- 3. User engagement and (not set)
Let’s start with defining the (not set) problem.
What Does (not set) mean in GA4?
When you see (not set) in any of your reports, it means that GA4 is missing some information within the underlying data.
GA4 data is made up of metrics and dimensions.
- Metrics are quantifiable values. The number of page views, for example, is a metric.
- Dimensions are qualitative attributes of your numerical metrics. The specific URLs of those page views, for example, is a dimension of your data.
And you see (not set) when GA4 is missing information about a dimension. And as you can see from the Google support article section shown below, the reasons for (not set) is different based on what specific dimension is missing data.
So what does it mean when you see it in the GA4 Landing Page report?
Why Is Landing Page (not set)?
The Landing Page report will show (not set) for the landing page dimension if the start of session does not have a page view (page_view) event with the page_location (the URL of the page) event parameter.
Here’s what happens. You click into your “Engagement” reporting area and then click into “Landing page.”
You expect to see a list of your most popular landing pages sorted in descending order based on how many sessions originate on each page. A session needs to begin on an actual page, so you rightly expect to see actual page paths in the landing page dimension.
But something is clearly not right. You see (not set) among your pages, just like this.
What Happened?
Well, you know what causes (not set) in general. So you know that GA4 is missing dimension data and has stuffed in the (not set) placeholder. And you know your session isn’t associated with any page_location parameter. One issue could be related to GA4’s processing time. It can take 24 – 48 hours to process new data, so if that’s where you’re seeing (not set) you might just need to wait a day or two.
But what if it’s still there?
There are three potential culprits that are most likely. You likely have either (1) a session timeout issue or (2) a spam issue or (3) the user_engagement event is causing trouble.
Let’s start with session timeout, which may be the most common culprit. And one you can fix!
1. How Session Timeout Causes (not set)
What likely happened is that you had a visitor on your site who had a session that timed out. By default, GA4 sessions will expire after 30 minutes of inactivity. Let’s say your visitor leaves to go take a phone call or go for a walk. They come back 31 minutes later and get back to browsing your site. By then, GA4 has already ended the session due to inactivity.
When the visitor engages with the same page once again, GA4 will begin a new session. But there is no page_view event (and no page_location event parameter) associated with the session if the visitor doesn’t refresh the page. So GA4 has data but it doesn’t have any page level data. Therefore, the Landing page is (not set).
You’ll notice that almost the only thing that GA4 is tracking here is session count and user count. Notice: there are almost no new users. This makes sense because the same user was on the site before the session timed out.
It leads to some ugly looking data. But there is hope!
Can You Fix Landing Page (not set)?
If your (not set) issue is caused by a session timeout situation like the one described above, you can increase your session duration in GA4 admin to help prevent more issues in the future. A session can be as long as 7 hours and 55 minutes which will dramatically decrease any (not set) landing pages that are being caused by a timed out session.
To do that, click on “Data streams” in your admin panel.
And click into your web data stream.
Then, click “Configure tag settings” like this.
“Click “More settings” and then “Adjust session timeout.”
Finally, change your session timeout settings. If you want to set them to the maximum (which is what I’ve done on the Root and Branch site), change to 7 hours and 55 minutes.
Then, click “Save.” You should see your instances of landing page (not set) decrease after the change.
2. Spam Causing (not set)
You can also find instances where spam traffic is causing landing page (not set).
Here’s an interesting example from the Pages and screens report. By default, this report reports on the page path and screen class dimension. That’s the portion of the URL after the domain name (hostname).
But you can add a secondary dimension to see, among things, the Landing page + query string dimension. And this landing page dimension can help us to spot spam when we see (not set).
As you can see below, both the first and second rows of data show the homepage (see the “/” for the Page path and screen class primary dimension).
But when we add a secondary dimension to show Landing page + query string, the first of those rows is (not set) while the other one still shows as the home page (“/”). Since the Page path and screen class has a page location associated with it, we know this isn’t caused by the session timeout issue we looked at before.
But we could be causing these 2,370 page views where the page path is “/” but the landing page is (not set)?
It’s spammy bot traffic. To confirm that you need to do a little more digging.
How do we Know it’s Spam?
The first major clue is that all 2,370 of these (not set) page views occur on a single day. In this property, there are no other instances of (not set) page views so clearly something is going on.
We can dig in further by adding a secondary dimension to view Country.
When we do that, we see curious data. The average engagement time suspiciously similar (not to mention unusually high) for all of these countries with (not set) page views. Even more suspicious is that the Views per user metric (blue rectangle) is exactly 30.00 for all of these visitors from all of these countries.
There is no way that is a natural behavior and is clearly the result of some bot that has been programmed with specific behavior instructions. In this case, we don’t have a solution for solving (not set), but we know how to identify it so we can manually exclude from our data and analysis.
Take that, spam!
Finally, let’s look at one other cause of (not set).
3. User Engagement Event and (not set)
One of the events that GA4 collects automatically is the user_engagement event.
User engagement fires when a session becomes an “engaged session” which could happen when the visitor engages with the page for 10 seconds or more OR registers a key event (conversion) OR views multiple pages.
But according to Google’s support article on user engagement, this event can also fire in other circumstances. Such as:
- The user navigates away from the app screen or web page (e.g., the user closes the tab, window, or app; the user navigates to another screen or page)
- The site or app crashes
And all this can mean that it’s possible for user_engagement to fire before the page_view event. Meaning there will be data but not a landing page associated with it. This article has a more comprehensive take on this specific issue if you want the nitty gritty.
But can you fix it?
Can You Fix it?
Unfortunately, there’s not an easy solution here. You actually need to remove the user_engagement event, which seems to me like it would create more problems then it could possibly solve. That’s because the user_engagement event is used to calculate things like engaged sessions, engagement rate, and related useful metrics.
But if you wanted to do it anyway, you can tell your server to ignore any user_engagement events if you’re using server side tagging.
Server side tagging is beyond the scope of this article – not to mention the author’s technical expertise – so you’d have to look elsewhere for that. Otherwise, you can join me in hoping that Google continues to improve GA4 and removes weird quirks like user_engagement contributing to landing page (not set) issues.
And if not, there’s always Microsoft Clarity!
More GA4, GTM, and Clarity Resources.
I hope you learned something new here. If you did, you might find the free monthly newsletter worthwhile. And here are a few other resources that might be helpful.
- How to do GA4 conversion rate reporting in Looker Studio (key event rate).
- How you can create custom events in Microsoft Clarity.
- A practical guide to GA4 event parameters.
- Google Tag Manager vs. GA4 comparison guide
Wrapping Up
Looking for something else? Leave a note in the comments or on the Root and Branch YouTube channel at youtube.com/@rooted-digital.
About Root & Branch
You can learn more about Root & Branch here. Or hit the button below to check out YouTube for more digital marketing tips and training resources.
Thank you so much, Zack
Very insightful as always. 😊
My belated thanks, Ishita. By the way, I’ve been very encouraged by your kind words. Thank you. Going to start a new article today.
Thanks for the interesting insights. Section 2 on identifying spam was especially interesting.
At first I couldn’t replicate what you had done with the country breakdown, but then I realised that you had swapped “page path and screen class” to “page title and screen class” and then I was able to filter by “not set” in the page title, as you did.
But one weird thing to add to the mix, that I don’t understand. On the pages and screens report there is a high number of (not set) landing pages. In my case, 6,815. However, when I then view the Landing Pages report, it only says 63 are “(not set)” for the same date range. Any idea how this works?
Hello and thanks for the thoughtful comment. First, I’m glad you found something worthwhile…and that you spotted the page path + screen class vs. page TITLE and screen class switcheroo.
In terms of different numbers of (not set) pages on those two reports, I would guess it’s because they are using slightly different dimensions. The Landing page report uses the “Landing page” dimension while the Pages and screens report has a slightly different dimension called “Landing page + query string” which shows any additional parameters or query strings attached to the URL.
Honestly, this is something that kind of makes me frustrated (seems like unnecessary complexity / confusion without adding much value), but that’s perhaps just because I don’t see value in my particular situation while other people might find it useful.
Anyway, best wishes to you. Cheers!