Have you noticed that the average session duration in Universal Analytics reports a different number than the average engagement time per session or even the average session duration in GA4? That’s because these are two different metrics–and you’ll probably see that average engagement time is longer than session duration.
Note: the average session duration metric in GA4 was added fairly recently. You don’t see it in regular reports, but you can add it if you customize the reporting.
Take a look at the video or the blog below to demystify these different metrics (and be sure to check out our other GA4 Tutorials). Spoiler alert: GA4’s event model makes its engagement metrics are a lot more accurate than what you’ve been thinking of as “session duration”.
A lot of websites are set up to mostly track pageviews in Universal Analytics. Even if you’re an e-commerce site, most users don’t transact, so the main thing being tracked for all users is pageviews.
GA4 is totally different. GA4 collects what are called automatic events, such as video progress, video start, a video completion, scrolling, page view, click events, and clicking away. These are all things that happen on the page.
In Universal Analytics, session length is calculated based on when a website sends information to Google Analytics. When you’re tracking pageviews, it counts the time difference between pageviews as session duration. GA4 is doing a lot more.
Let’s say that I look at a page and I scroll down and watch a video, and that’s all. In Universal Analytics, typically that would count as a zero-second session because I don’t visit another page. It doesn’t have another pageview to calculate time duration, the only thing it knows about is that I looked at that page. And let’s say you have a two-page visit, it’s going to count a zero-second duration on that second page. That’s a big flaw of Universal Analytics — and something that Google has fixed with GA4.
In GA4, scroll events and other types of interactions within a single page send information to GA4. And the really useful new event in GA4 is a user engagement event that is sent when users close a tab or leave a tab to visit another page. This makes a huge difference to what Google Analytics actually knows about session duration. Here’s an example:
In Universal Analytics, the single-page visits on the first line count as zero-second visits. If users visit two pages, even though I spent an average of 60 seconds per page, it only counts as a 60-second visit. So the sum of those 10 sessions recorded 300 seconds time on page. If we divide 300 by the 10 sessions, we get an average session duration of 30 seconds.
When we take those same users and the same behavior and record them in GA4, because of that user engagement event that fires when they leave, we actually get the full duration of the time that they spent on each of those pages.
The people that visited one page averaged 60 seconds time on page, times five sessions, equals 300 seconds. The people who visited two pages averaged 120 seconds, times five sessions, totaling 600 seconds.
All ten visits sum up to 900 seconds time on page and an average of 90 seconds per session. Capturing data on exactly the same behavior, GA4 shows 90 seconds per session compared to UA’s 30 seconds per session! The session durations presented in GA4 are going to be a lot longer than what’s shown in Universal Analytics.
This is a good time to remind you that Google presents this and other data as if it’s the truth, with no caveats to explain what I’ve just explained above. Even Google’s documentation doesn’t really qualify all the ways in which this data can be wrong. And this is a glaring example of how what we think we’ve been looking at is not actually true.
Let’s take a look at average engagement time, which is a very different metric than session duration.
Google says that the user engagement metric shows the time that your app screen was in the foreground or your webpage was in focus. It measures when a user is engaging with the website, not just that the website is open on a tab in a browser.
A really important differentiation: in GA4, session duration doesn’t take into account whether or not you’re engaging with a website. You could have a chat with a friend and 15 minutes later, click on something and still have the session counted. (Remember, the definition of a session in Google Analytics, both UA and GA4, is somebody interacting with the websites without more than 30 minutes of inactivity. If I leave for more than 30 minutes and come back, then a new session will be counted.) Whereas with user engagement, you have to actually be engaged for your user engagement to count.
At what point GA4 calculates a user as engaged is a little hard to predict. I’ve noticed that sometimes I scroll down the page, which feels like engagement to me, but GA4 doesn’t yet count me as an engaged user. If I go to another page, I have to spend at least 10 seconds or trigger a conversion event before it counts as an engaged session.
That is where average engagement time comes from — and it’s a much more meaningful metric. We don’t really care if somebody opens a page and then goes off and talks to a friend. What we care about is how much time there’s somebody actively engaging on our website. With GA4’s additional built-in on-page events and the addition of the page-exit user interaction, we have much more data to inform us about how users are actually active with our website.
A user_engagement event is triggered whenever an engaged session occurs. Google describes engaged sessions as “sessions that lasted longer than 10 seconds, or had a conversion event, or had 2 or more screen or page views.”
Engagement rate (engaged sessions divided by sessions) is a default metric in GA4 reports, meaning it should be displayed on all standard reports.
While average session duration isn’t included as a default metric in standard GA4 reports, it’s easy to add. When viewing any report, you can click the pencil icon in the top right of the page (just below the data range) in order to customize the report. From there you can click on the Metrics drop down and select average session duration as a metric. (Tip: type “session” in the metric field to display all metric options that contain the word metric.) Then hit Apply. You can Save your changes as well if you’d like to keep that setting for the future.
Google describes engaged sessions as “sessions that lasted longer than 10 seconds, or had a conversion event, or had 2 or more screen or page views”, whereas a regular session does not imply that any of those parameters or actions occurred.
Tracking conversions based on session duration isn’t possible out-of-the-box with GA4. Advanced users can build a custom event based on GA4 session duration using JavaScript and Tag Manager.
If you’re curious to learn even more about the inner workings of Analytics, check out How Web Tracking Works, or one of our many analytics and GA4 articles, tutorials, and videos. Feeling completely lost? We offer custom GA4 training programs for 1 to 3 of your team members.
Nico loves marketing analytics, running, and analytics about running. He's Two Octobers' Head of Analytics, and loves teaching. Learn more about Nico or read more blogs he has written.
Report on traffic from people clicking through from AI services like ChatGPT. Build an exploration…
The latest developments in digital marketing include Meta feature updates, Google downgrading ranking on vastly…
ChatGPT traffic in the GA house! Plus new features in GA4 and understanding GTM first-party…