In Google Analytics 4 (GA4), user engagement has taken center stage as the key metric for understanding visitor behavior, replacing the traditional bounce rate used in Universal Analytics. Enhancing user engagement can result in higher visitor numbers, conversions, and transactions. This article delves into the array of user engagement metrics in Google Analytics 4, including the ability to customize session duration criteria for defining an engaged session. Let’s commence by examining the definition and importance of user engagement metrics in GA4.

What’s User Engagement in Google Analytics 4?

As mentioned earlier, User Engagement is a crucial aspect of Google Analytics 4. Understanding what it means to make the most of this feature is essential. According to Google’s documentation, “User engagement is the amount of time someone spends with your web page in focus or app screen in the foreground, which allows you to measure when users actively use your site or app.”

Simply put, it refers to the time users actively interact with your website. It’s important to note that if users leave your site to search for something on Google or do other tasks, Google Analytics 4 won’t record this time. GA4 only tracks the time users spend on your website or app.

User engagement signifies the actual interactions of users with your website or app, such as clicks, content reading, and product purchases. However, if users are on your site or app but don’t perform any action because they opened another tab in Google Chrome, GA4 doesn’t consider this time as user engagement.

What Does “In Focus” Mean?

As per Google’s definition of User Engagement, the term “in focus” indicates that the webpage or app screen is actively visible and in use by the user, signifying active engagement and interaction with the site or app. This definition implies that GA4 will not record user engagement metrics for a user with multiple tabs open in their web browser that are not actively viewed.

How is User Engagement calculated in Google Analytics 4?

User Engagement measures the amount of time users spend interacting with an app or website. This can be determined by various user engagement events, such as the user generating an event, moving the app screen to the background, focusing away from the web page, or navigating away from the app screen or web page. A site or app crash can also be considered a user engagement event.

Google Analytics 4 calculates user engagement time using the “engagement_time_msec” parameter. More of this parameter below.

What’s “engagement_time_msec”?

The “engagement_time_msec” parameter is a metric that measures the active engagement time of a user with a website or app. This metric tracks the time a user spends actively engaged with an app or website, excluding any time spent idle or inactive. It represents the duration of user engagement in milliseconds and is added to every event that GA4 collects, except session_start, page_view, and first_visit events, as these usually occur before any other activity. The engagement_time_msec metric helps to understand user behavior and engagement levels, providing valuable insights into website or app performance. By analyzing this metric, businesses can better understand their users’ behavior and engagement levels, which can help them improve their website or app’s performance.

Let’s explore how user engagement works in Google Analytics 4 based on two real examples performed in DebugView. 

Example 1

Suppose a user lands on the blog post for the first time, so this user generates first_visit, session_start, and page_view, after that a user spends 7310 milliseconds of engagement time reading the article before meeting the scroll 50% (second event), and after that, he reads the rest of the article and generates additional engagement time of 11586 and meets 90% of the page scroll. After reading the whole article, the user leaves the website, and because of that, GA4 receives a “user_engagement” event that collects the total engagement time after 90% scroll, which equals 1000 for this case.

User ActionEvent nameuser_engagement_msec
lands on home pagefirst_visit, page_view, session_startN/A
scrolls a half of the pagescroll7310
scrolls the rest of the pagescroll11586
leaves the websiteuser_engagement1000

So, in this context, the total engagement time for this user’s session will be 19896 milliseconds or ~ 20 seconds. 

Example 2

For this experiment, the following actions were taken:

  • Landed on an article about how to import data into GA4.
  • Scrolled to the bottom of the article.
  • Changed the browser tab and searched for something on Google for 5 seconds.
  • Returned to the website and visited the contact page.
  • Completed the contact form on the contact page and left the website after the submission confirmation message.

After taking these actions and checking DebugView, this is what it showed:

User ActionEvent nameuser_engagement_msec
lands on the articlepage_viewN/A
scrolls 30% of the pagescroll33622
scrolls 60% of the pagescroll40830
scrolls 90% of the pagescroll27039
Changed browser tab for 5 seconds
clicked on contact page linkuser_engagement10244
lands on the contact pagepage_viewN/A
scrolls 30% of the pagescroll33
started to fill the formform_start10467
scrolls 90% of the pagescroll16150
submitted the contact form (conversion)contact_form_submitted5015
leaves the websiteuser_engagement4914

If you expand any user engagement tracked, you will see the engagement_time_msec parameter and the millisecond recorded on each event, as shown in the image.

engagement_time_msec parameter captured in GA4 DebugView
engagement_time_msec parameter captured in GA4 DebugView

As seen above, for every case, the parameter “user_engagement_msec” was attached to the next event except for session_start, page_view, and first_visit events. The session’s total engagement time is 143367 milliseconds or 143 seconds.

It’s worth noting that the engagement_time_msec metric can’t be used in GA4 Explore Segments. However, you can view the user engagement duration data through the GA4 Exploration Report. This report shows the cumulative time for the user engagement event, which can be viewed using the user engagement metric. To access this report, simply go to the explore section in your admin page’s left-hand menu and click “Create a new exploration.” Then, add the “Event Name” Dimension and “User Engagement” metric to display the data.

User Engagement Metric Data in GA4 Explore Report
User Engagement Metric Data in GA4 Explore Report

What’s “user_engagement” event?

The “user_engagement” event is triggered when a user engages with a website or app. Google Analytics 4 tracks the frequency of these engagements; users can find this data in the Event Standard GA4 report. It’s important to note that this metric differs from the “engagement_time_msec” parameter  discussed earlier, which records the time spent on the platform. 

user_engagement event data in GA4 Event Report
user_engagement event data in GA4 Event Report

When analyzing the report, you may notice that the count of “user_engagement” events is higher than that of unique users. This happens because users can generate multiple engagement events during their visit. This difference in numbers highlights the significance of considering user engagement events and unique user counts to understand user behavior and interaction patterns on the platform comprehensively.

You can also create a report in GA4 exploration that will show user_engagement event count. To do this, go to the explore section in the left-hand menu of your admin page and click “Create a new exploration.” Add the “Event Name” Dimension and “Event Count” metric. If you need more information on creating exploration reports, please refer to our article on this topic.

Event Report in GA4 Exploration
Event Report in GA4 Exploration

What are the core User Engagement metrics used in GA4?

The core metrics used for measuring user engagement in Google Analytics 4 are:

  • Engagement rate.
  • Bounce rate.
  • Average engagement time.
  • Average engagement time per session.
  • Engaged sessions.
  • Engaged sessions per user.
  • User engagement.
  • Lifetime engaged sessions.
  • Lifetime engagement duration.

In the following sections, we will examine each metric in more detail.

What’s considered an engaged session in Google Analytics 4?

One of the most frequently asked questions about Google Analytics 4 is what qualifies as an “engaged session.” Some people believe that a session in which a user spends at least 10 seconds on your website counts as an engaged session. However, this is neither right nor wrong. 

In fact, a session is considered engaged if it meets at least one of the following criteria:

  • The minimum engagement time threshold set by the analyst in the Google Analytics 4 Data Stream settings.
  • The session has two pageviews (screenviews) or at least one conversion.

By default, the minimum threshold is set at 10 seconds of engagement time. This means that the user needs to actively engage with the content or product for at least 10 seconds, rather than simply spending that amount of time on the website. 

While some people argue that 10 seconds is not enough to qualify as an engaged session, this is only partly true. The 10-second threshold is not solely about engagement; it’s also about whether the website content is relevant. If a user spends less than 10 seconds on your website, it means that the website content is not relevant to the ad or organic search query. Therefore, Google Analytics 4 uses 10 seconds as a default. 

However, you can easily adjust this number if you want to. Here’s how:

  1. Open Google Analytics 4 and go to Admin.
  2. Select Data Streams and go to Data Stream Details.
  3. Click on “Configure Tag Settings” and then click on “Show All.”
  4. Click on “Adjust Session Timeout.”
  5. Modify “Adjust Timer for Engaged Sessions” and save your changes.
Adjust timer for engaged sessions
Adjust timer for engaged sessions in GA4 Admin Data Stream Details

So, in a nutshell, a session is considered engaged if a website or app user spends more than 10 seconds of engagement time on your website sent to Google Analytics 4 via “user_engagement_msec” event parameter or have at least two page views (screen views) or a user made at least one conversion.

As a result, Google Analytics 4 uses a few metrics based on engaged sessions. They are:

GA4 metricDefinition
engaged sessionsnumber of engaged sessions that meets the minimum threshold defined by GA4 user in GA4 interface, at least 2 pageviews or 1 conversion
engaged sessions per usernumber of engaged session generated by the specific user 
lifetime engaged sessionsnumber of engaged sessions generated by the specific user for users’ lifetime
lifetime engagement durationamount of engagement time spent by user on your website for users’ lifetime

Now that we have discussed engaged sessions, let’s look at the second metric – engagement rate. 

What’s the engagement rate and bounce rate in Google Analytics 4?

Unlike Universal Analytics, Google Analytics 4 uses engagement rate instead of bounce rate, and even though Google added bounce rate into Google Analytics 4 on July 11, 2022, the primary metric is still engagement rate.

In two words, the engagement rate is defined in terms of engaged sessions, which we discussed earlier. 

The engagement rate is the percentage of engaged sessions on your website or mobile app, while the bounce rate is the opposite of the engagement rate. 

Therefore, you can find the bounce rate or engagement rate using the following formulas:

Engagement rate = Number of Engaged Sessions / Total Number of Sessions
Bounce rate = 1 - Engagement rate

You can also find the following metrics in GA4 besides the engagement and bounce rates. 

GA4 metricDefinition
average engagement timeThe average length of time that the app was in the foreground, or the web site had focus in the browser for the specific number of users. It’s mainly used in users-scope reports.
average engagement time per sessionAverage user engagement duration per session. It’s mainly used in session-scope reports.

Where to find User Engagement metrics in Google Analytics 4?

As mentioned above, some engagement metrics are user-scope metrics, while other metrics are session-scope metrics. Therefore, you can’t find and use all metrics in the same report.

The main report in Google Analytics 4, where you can find session-scope metrics, is “Traffic acquisition report”. It includes the following metrics:

  • Engaged sessions
  • Average engagement time per session
  • Engaged sessions per user
  • Engagement rate

To find user-scope engagement metrics, you should use “User acquisition report”. It includes such metrics as:

  • Engaged sessions
  • Engagement rate
  • Engaged session per user
  • Average engagement time

In order to find other metrics that were mentioned early but are not available in these two acquisition reports, you should use Google Analytics 4 Explorations, for instance, a free form report. It will also allow you to access such metrics as lifetime engaged sessions and lifetime engagement duration. 

How to work with GA4 User Engagement metrics in BigQuery?

Besides working with engagement metrics in the Google Analytics 4 interface, GA4 uploads this data in BigQuery if you have active product linking. Therefore, it’s also necessary to cast light on how to work with these metrics there. 

First, Google Analytics 4 data in BigQuery includes “engagement_time_msec” parameter in every event besides session_start, page_view and first_visit. Besides that, every GA4 event in BigQuery also has the “ga_session_id” parameter. This parameter is the unique id of the users’ session that allows you to quickly calculate the number of sessions for the specific date and select the events users performed within the specific session.

Thus, in order to calculate the total amount of engagement time of the specific session, you can use this SQL example:

SELECT 
(SELECT params.value.int_value FROM UNNEST(ev.event_params) params WHERE params.key = 'ga_session_id')  as session_id,
SUM(CASE WHEN (SELECT params.value.int_value FROM UNNEST(ev.event_params) params WHERE params.key = 'engagement_time_msec') > 0 THEN (SELECT params.value.int_value FROM UNNEST(ev.event_params) params WHERE params.key = 'engagement_time_msec') ELSE 0 END) / 1000  as engagement_time

FROM `{Your BigQuery Project table with GA4 data}` as ev 

GROUP BY
1
BigQuery Sessions Engagement Time Calculation
BigQuery Sessions Engagement Time Calculation

Of course, you can modify this code in order to get the average engagement time per session of the specific date. Besides that, you can adjust this code to calculate the “average engagement time per user” or “lifetime engagement time” using “user_pseudo_id” or “user_id” variables.

Second, apart from  “engagement_time_msec” parameter available in BigQuery, it also includes two other parameters that can be not so self-explanatory: 

  1. session_engaged
  2. engaged_session_event

The first parameter shows whether the session met the minimum threshold and was considered an engaged session or not. If it’s an engaged session, session_engaged will have “1” in event_params.value.string_value.  If the session is not engaged, it will be equal “0”. Such events as session_start and first_visit usually don’t have “session_engaged” parameter. 

The second parameter includes the number of sessions the user is engaged in. The value usually equals 1, but the value can increase if a user visits your website or app from many devices or browsers and can be recognised as the same user, usually using the “user_id” parameter. 

After we have clarified all key definitions of user engagement in Google Analytics 4, it’s an excellent moment to discuss how we can use all of what we have learned to improve your business. 

How to use User Engagement to improve your business?

The engagement rate has many similar things to the bounce rate, even if it’s slightly different. Many analysts look at the engagement ratio in Google Analytics 4 as an improved version of Universal Analytics bounce rate because if someone lands on your article, reads 50% of that, spends 20 seconds and finds the information needed and leaves your website, it doesn’t mean that the website wasn’t relevant to the user. In this case, Google Analytics 4 shows a better view of such cases.

Since these two metrics have many things in common, they can also be used similarly to find better insights on improving your business. The critical element of the analysis is segmentation. If you see that the traffic that lands on the specific page has a lower engagement rate than other pages in Google Analytics 4, it can mean one of three things: whether the traffic is low quality, the page they land doesn’t address why they land on it, or there is a problem with the GA4 code implementation. 

The same aspect can be extrapolated across many dimensions in Google Analytics 4. Like pages, you can compare default or custom channel grouping, countries, regions, demographic audiences, and so on. 

How to use User Engagement in GA4 to find business insights
How to use User Engagement in GA4 to find business insights

You can even go beyond that and compare custom audiences, see which one has a higher engagement rate and try to find events or patterns that determine it. If you can find a set of events that improve lifetime engagement time, it will also improve retention rate. Thus, it will boost your returning traffic and the overall amount of traffic as well. 

Besides that, one of the analysis techniques is to compare your business metric to the metric standard in your niche, which is called benchmark. 

What’s the benchmark for Engagement Rate?

Since Google Analytics 4 has existed for a few years, and many companies started to migrate to it in 2023, it can still be early to look at the benchmark of user engagement metrics in your niche. 

However, some companies already presented their reports. For instance, according to firstpagesage.com, the average user engagement metric was

71% for B2C websites 
63% for B2B websites

Of course, if you have an ecommerce website, you can’t compare it with an entertainment website (games, movies), and it’s much better to look at the engagement rate in your specific niche. Therefore, the firstpagesage.com also looked at the engagement rate in multiple niches: ecommerce, industrial IoT, engineering, entertainment and so on.

Average Engagement-Rate vs. Industry, prepared by Firstpagesage.com
Average Engagement-Rate vs. Industry, prepared by Firstpagesage.com

Apart from this company, Orbit Media conducted its own research and found that the average engagement rate was around 55%. However, the sample included only 65 websites. 

Takeaways: User Engagement as a measure of relevance

Unlike Universal Analytics, Google Analytics 4 uses user engagement as the primary metric to detect whether your website or app content is relevant to the users. 

If the user spends more than 10 seconds (by default) actively engaging with your website, visits at least two pages or makes at least one conversion, Google Analytics 4 will label a user’s session as engaged. 

The high engagement rate means that your content is relevant to the search query or ad a user uses, while the low engagement rate helps you figure out which page or channel should be improved to meet users’ requirements better. 

Besides comparing engagement rates between your pages, channels and other dimensions, you can also look at industry benchmarks to calibrate your metric and see how your business performs compared to competitors. 

All in all, user engagement is one of the core metrics of Google Analytics 4, and it will be with us for years or decades. 

If you found that this article didn’t answer your questions or have a question about something mentioned, please don’t hesitate to comment below. 


Frequently Asked Questions


What is user engagement in Google Analytics 4?

User engagement measures the amount of time a user spends on your website or in your app actively engaging with your content.

What is “engagement_time_msec” parameter in Google Analytics 4?

It’s a special parameter that shows the engagement time a user spends on your website after the previous event was sent into Google Analytics 4. This parameter is not sent for page_view, first_visit and session_start events because there is no engagement time before them.

What is the engagement rate in Google Analytics 4?

The engagement rate is calculated as number of engaged session divided by number of total session. Engaged session is session in which users spends at least 10 seconds actively engaging with your content, or visits two pages, or makes at least one conversion.

How does Google Analytics 4 measure user engagement?

User Engagement is measured using “engagement_time_msec” parameter, which is added to every next event (besides first_visit, pageview and session_start) and shows the total time spent actively engaging with the content after the previous event. After that, GA4 sums “engagement_time_msec” values of all events in the session, and it’s session engagement time.

What’s “session_engaged” parameter of GA4 events in BigQuery?

This parameter shows whether the session met the minimum threshold and was considered an engaged session or not. If it’s an engaged session, session_engaged will have “1” in event_params.value.string_value.  If the session is not engaged, it will be equal “0”. Such events as session_start and first_visit usually don’t have “session_engaged” parameter. 

What’s “engaged_session_event” parameter of GA4 events in BigQuery?

This parameter includes the number of sessions the user is engaged in. The value usually equals 1, but the value can increase if a user visits your website or app from many devices or browsers and can be recognised as the same user, usually using the “user_id” parameter. 

Written By

Ihar Vakulski

With over 8 years of experience working with SaaS, iGaming, and eCommerce companies, Ihar shares expert insights on building and scaling businesses for sustainable growth and success.

KEEP LEARNING

Leave a comment

Your email address will not be published. Required fields are marked *

Leave a Comment

Your email address will not be published. Required fields are marked *

[custom_comment_form]