What is Engagement Time in GA4?
This post will help you understand Engagement Time in Google Analytics 4. We’ll explain what exactly is being measured and how this differs from time measurement in Universal Analytics so that you can use Engagement Time confidently in your analysis and reporting.
What is Engagement Time?
The way it’s collected and reported gets a bit complicated, but at its essence, this is a very straightforward metric. Simply put, it’s the amount of time the user has your site or app in the foreground of their browser or device.
The good news is that this is easy to interpret and explain to stakeholders.
- If the website is visible in the browser window, it gathers Engagement Time.
- If it is just opened in a tab and never looked at, no Engagement Time is recorded.
- Similarly for an app, while the app is visible on the device, it accumulates Engagement Time.
- If the app is just running in the background, no Engagement Time is Recorded.
The flipside of that is there’s no semi-magical AI keeping track of when your user is actually engaged. If someone opens your site in the foreground of their browser and then gets called into a meeting for an hour, that hour gets recorded as Engagement Time.
How Does Engagement Time Compare with Time Metrics in Universal Analytics?
Simply put, it’s a major improvement. You’ll remember that UA relied on the difference in time between hits (pageviews and events) to calculate user time metrics.
- A user sees page ABC at 1:00 PM, then page DEF at 1:01 PM, so they spent 1 minute on page ABC.
- If they leave page DEF at 1:02 without causing another event or pageview to happen, no time is recorded, and they are removed from the calculation of DEF’s average time on page.
This causes significant problems, especially for content-driven sites where single page visits are common. Someone Googles’ what they are looking for, goes to a site, finds the answer they need, and leaves, leaving behind little or no time information. Analysts that want more precise time metrics in UA need to set up timing events that fire at regular intervals to let UA know the page is still open.
GA4 Engagement Time solves this by automatically firing an event when people leave a page or tab, or close their browser. A lot of popular analytics debugging tools don’t show this event, but you can find it in the Network tab of your browser dev tools.
As you can see, the event name is user_engagement and there is a _et parameter with the time in milliseconds that has accumulated.
Note that this event doesn’t always fire when someone leaves a page, as the _et parameter also gets automatically attached to other events. GA4 batches events so there is often an event waiting to be fired that can carry the _et parameter when someone leaves the page. Also, if the last event with an _et parameter happened less than one second ago, Google will figure that is close enough, and not send another hit just to report the extra sub-second of Engagement Time.
Coupled with the fact that GA4 only counts Engagement Time when your site/app is visible, this way of recording time metrics is significantly more accurate than we had in UA.
That covers how Engagement Time is collected, but there are some quirks about reporting on it. Check out our article about how and where Engagement Time is Reported in GA4 for more info.
Got questions? Drop us a comment, and describe your biggest challenge or frustration.
Other posts in our 12 Days of Google Analytics 4 series:
1.GA4 “Configure” is Moving to Admin
2.How to Set Up Cross-Domain Tracking in Google Analytics 4
3.Get Your Hands on Real GA4 Data Today with the Google Analytics 4 Demo Account
4.What is Engagement Time in GA4?
5.Why your GA4 Looker Studio Report is Broken
6.Did your Looker Studio GA4 Numbers Increase After Applying Filters?
7.How is Engagement Time Reported in GA4?
8.How Ecommerce Tracking in GA4 is Different from UA
9.How to Create and Modify Events in GA4
10.When to Use GA4 Rollups & Subproperties
11.What in GA4 replaces Universal Analytics’ Views? Hint: It’s NOT GA4 Data Streams
12.Why am I seeing blank rows or (not set) in my GA4 Landing Page Report?