Table of Contents
- How GA4 Calculates Sessions
- Session Timeout and Adjustment in GA4
- Why Sessions in GA4 Don’t Match with UA
In Google Analytics 4(GA4) sessions are calculated differently compared to GA3 or Universal Analytics. I will share some details in this post.
How GA4 Calculates Sessions
In Google Analytics 4 a user can initiate a session by either 1) opening your app in the foreground or 2) viewing a page (web) or screen (app) without having an active session.
By default, a session ends after 30 minutes of user inactivity. In other words, in the last 30 minutes, no new “event” was triggered.
This 30-minute is a threshold that is not modified by many, but in GA4 you can easily do so (which I will show in a minute).
Keep in mind though that changing this threshold will impact session numbers in
Session Timeout and Adjustment in GA4
It just takes a few clicks to adjust session timeout in Google Analytics 4.
Step 1: Click on the admin section in lower left
Step 2: Select Data streams that you want to modify for session timeout
Step 3: Click on More Tagging Settings at the bottom of the screen.
Step 4: Click on Adjust session timeout.
Step 5: Set session timeout based on the requirement
The minimum value of “session timeout” is 5 minutes and you can extend it to 7 hours and 55 minutes.
There is also a timer for “engaged sessions”.
Engaged sessions: The number of sessions that lasted 10 seconds or longer, or had 1 or more conversion events or 2 or more page or screen views. You can extend the 10 seconds to 60 seconds max.
This might make sense to you; would you define a user engaged if she stays 10 seconds on your website and immediately leaves after?
Why Sessions in GA4 Don’t Match with UA
In my experience, sessions in Google Analytics 4 are often lower compared to Universal Analytics. This is because of a variety of reasons. In general, sessions will never fully match.
Here are some thresholds that I usually apply:
- Good: session difference between GA4 and UA is smaller than 8%.
- Further investigation is needed: the session difference between GA4 and UA is between 8 and 20%.
- Something is wrong (in most cases): the session difference between GA4 and UA is greater than 20%.
Let’s look into several reasons why sessions in GA4 and UA usually don’t match.
Campaign Source change
- Google Analytics 4: campaign source change mid session -> GA doesn’t create a new session.
- Universal Analytics: campaign source change mid session -> GA creates a new session.
- Google Analytics 4: a session spans across two days -> GA doesn’t create a new session.
- Universal Analytics: a session spans across two days -> GA creates a new session.
- Google Analytics 4: only built-in (automatic filter) for bot traffic.
- Universal Analytics: built-in filter (tick box at view-level) for bot traffic. In addition, you can set up view-level filters to reduce bot traffic.
- Google Analytics 4: very limited currently, only options relate to “internal” and “debug” traffic.
- Universal Analytics: potentially you can filter out many more sessions based on the flexibility of the filter model in Universal Analytics.
Late hits are hits that aren’t sent immediately.
- Google Analytics 4: events are processed if they arrive up to 72 hours late. Because Google Analytics 4 events are processed across a wider time range, you may see higher session counts in your GA4 Property, as well as variations in reported figures within these 72 hours.
- Universal Analytics: hits are processed if they arrive within 4 hours of the close of the preceding day.
- Google Analytics 4: on default 30 minutes -> MINIMUM: 5 minutes, MAXIMUM: 7 hours and 55 minutes
- Universal Analytics: on default 30 minutes -> MINIMUM: 1 minute, MAXIMUM: 4 hours
- Google Analytics 4: did you migrate all events from Universal Analytics or a larger/smaller set?
- Universal Analytics: did you migrate all events from Universal Analytics or a larger/smaller set?
Users, Sessions, and Events in GA4
In Universal Analytics there is a “structure” of users who can have one or more sessions. A session consists at least of one pageview or other interaction (i.e. event).
The structure in Google Analytics 4 is a bit different as all interactions (including a pageview) show up as an event.
In Google Analytics 4, the three (currently) main session related metrics are:
- Sessions – The number of sessions that began on your site or app (event triggered: session_start).
- Engaged sessions – The number of sessions that lasted longer than 10 seconds, or had a conversion event, or had 2 or more screen views.
- Engaged sessions per user – The average number of engaged sessions per user.
You can query these metrics via the Explore (Advanced Reporting) section, the GA4 API or simply find them in the GA4 UI.
An example of where to find these metrics: