Sessions in Google Analytics 4 (GA4) are calculated in a different way if compared to sessions in Universal Analytics. In this post we will explore this in all detail.
The number of questions about GA4 are steadily growing with more companies migrating to Google Analytics 4. One type of question marketers or analysts ask me often, relates to differences in metrics between GA4 and Universal Analytics.
Image may be NSFW.
Clik here to view.
You will notice that your session count in GA4 doesn’t match the same number in Universal Analytics and this is normal.
Table of Contents
- How GA Calculates Sessions
- Session Timeout and How to Adjust it
- Why Sessions in GA4 Don’t Match with UA
- Users, Sessions and Events in GA4
- Session Metrics
- Concluding Thoughts
Let’s dive into sessions in Google Analytics 4 together!
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 minutes 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 Google Analytics 4 and quite a few related metrics and dimensions.
I have dealt with situations where you want to lengthen the session threshold time. For example, an Ecommerce site where customers leave the screen for an hour or two (keep browser open) and return to finish the purchase. For proper attribution and session statistics it can be helpful to lengthen the session time window.
You can adjust the session timeout in the GA4 UI.
Session Timeout and How to Adjust It
It just takes a few clicks to adjust session timeout in Google Analytics 4.
Step 1: go to the admin section of GA4.
Image may be NSFW.
Clik here to view.
Step 2: click on Data Streams and select the Data Stream of which you want to modify the session timeout.
Image may be NSFW.
Clik here to view.
Step 3: click on More Tagging Settings at the bottom of the screen.
Image may be NSFW.
Clik here to view.
Step 4: click on Adjust session timeout.
Image may be NSFW.
Clik here to view.
Step 5: set the session timeout in hours and minutes.
Image may be NSFW.
Clik here to view.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
Im 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 needed: session difference between GA4 and UA is between 8 and 20%.
- Something is wrong (in most cases): 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.
Day Boundary
- 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.
Bots
- 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.
Filters
- 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.
Note: I recommend comparing the sessions in Google Analytics 4 to the data of the Raw Data view in Universal Analytics (no filters applied).
Late Hits
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 Google Analytics 4 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.
Session Timeout
- 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
Note: this might sound like a no-brainer, but make sure to set the “session timeout” to the same value in both tools.
Migration Differences
- 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?
Note: most often companies re-visit their measurement plan (highly recommended) during the migration. Just be aware that this can lead to session differences between GA4 and Universal Analytics.
Users, Sessions and Events in GA4
In Universal Analytics there is a “structure” of users who can have one or more sessions. A sessions consists at least of one pageview or other interaction (i.e. event).
The structure in Google Analytics 4 is a bit differently as all interactions (including a pageview) show up as an event.Image may be NSFW.
Clik here to view.Events are all the individual actions that users perform on your website or mobile app. Similar to Universal Analytics, a user can have one or multiple sessions in the selected time period. As mentioned, on default a session expires after 30 minutes of inactivity (no new event is triggered).
Session Metrics
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:
Image may be NSFW.
Clik here to view.
Concluding Thoughts
The concept of sessions hasn’t disappeared in GA4.
But, it is very important to specifically understand the concept of sessions in GA4 as explained in this article. So that you know why your session count might deviate from sessions in Universal Analytics.
Large differences between sessions in Google Analytics 4 and Universal Analytics ask for further investigation.
Google Analytics 4 is still evolving and I expect Google to add a lot in terms of session related metrics and dimensions.
This is it from my side. Do you have any thoughts or questions? Happy to hear your thoughts!
One last thing... Make sure to get my automated Google Analytics Audit Tool. It contains 25 key health checks on the Google Analytics Setup.The post Marketers Guide to Sessions in Google Analytics 4 (GA4) appeared first on Online Metrics.