The Case of the Interrupted Browsing Session

When I was a kid, arguably my favorite book series was Encyclopedia Brown, starring boy detective Leroy Brown*.  Leroy would have loved the detective work required to do actionable analysis in Google Analytics, and would have been a big help in cracking a case that requires explaining how landing pages get reported as “(not set)”.

A major clue to solving this case is knowing that the default session timeout in Google Analytics is 30 minutes.  With that default setting, if I click to view a page, leave my browser open, leave my desk for over 30 minutes, and return to click a link on the same page to continue browsing – a couple of things happen:

  1. Since 30 minutes have expired, a new session starts.
  2. The new session – shocker – doesn’t have a landing page associated with it – and hence is assigned a landing page of “(not set)”.
Session Settings in GA Admin

Increase Default Session Timeout

A fix for the above scenario is to increase the default session timeout using Property Settings > Tracking Info > Session Settings in the Google Analytics admin interface.  However, this may not be necessary – please keep reading…

Fire Interacting Events

Another fix for session timeout is to fire interacting Google Analytics events to keep the session alive.  For example, you can fire interacting events as a user watches an embedded video – or at timed intervals (e.g., every 15 minutes), but this has impacts on bounce rate that need to be considered.  Consider this scenario:  a user can view a page, not doing anything, and if they wait long enough for an interacting timer event to fire, and then leave – their session will not be reported as a bounce.

Consistent, Correct, Ubiquitous Tracking Code Deployment via GTM

Another cause of landing page being “(not set)” is inconsistent tracking code.  For example, if you are firing Google Analytics pageviews and events both from Google Tag Manager (GTM) and from in-line Google Analytics tracking code in the same page, the tracker names can be different.  This can cause “(not set)” to appear for several different dimensions in reporting, including landing page.  The fix?  Fire all Google Analytics tags from GTM.  It addresses this issue by default (unless you mess with custom tracker names in GTM).

Measurement Protocol Hits and Landing Page “(not set)”

The last possible cause we’ll highlight are hits from the Google Analytics measurement protocol. See the snagged report below showing Landing Page as “(not set)” with session count equal to zero.  The zero session examples below are associated with call tracking Google Analytics events sent via the measurement protocol – and these events are not associated with a landing page .

“(not set)” for Landing Page

Landing Page “(not set)”, live and let live?

To brute force eliminate these entries you could add Google Analytics exclude filters.  Or, in situations where you can explain “(not set)” entries, and have confirmed correct tracking code is deployed – you can just “move on” because, like Leroy Brown, you have cracked the case, and have bigger fish to fry.

live and let live

you should tolerate the opinions and behavior of others so that they will similarly tolerate your own.

* Thanks to Chet Davis, of Chet Davis Marketing, for letting us know that the boy detective’s first name is “Leroy”, not “Larry”. Correction made 8/30/19.

Landing Page = (not set), why?