Skip to content
accs-net.com

Press Esc to close

Engaged Sessions

In Google Analytics 4, an engaged session is one that lasted over 10 seconds, had a key event, or had 2 or more page views.

Any one of those three conditions is enough. GA4 counts these visits in the Engaged sessions metric and builds engagement rate from them.

Key events are what GA4 called conversions until Google renamed them to match how Google Ads defines conversions.

What Counts as an Engaged Session in GA4

GA4 checks every session against three conditions joined with OR, and one match is enough:

GA4 engaged session conditions: more than 10 seconds of engagement, 2 or more page views, or a key event, any one of which marks the session as engaged
Condition What GA4 checks Can you change it?
Longer than 10 seconds Time the visitor spent with the page in focus, measured as engagement time Yes, in the web stream tag settings
2 or more page views Two or more page_view or screen_view events in the same session No
A key event Any event marked as a key event in Admin, fired during the session Indirectly, by choosing which events are key events

Once a session meets one condition, it stays engaged for the rest of the visit. Nothing switches it back.

On content sites, the 10-second rule does most of the work, because many readers never open a second page.

On stores and SaaS sites, the second page view and key events carry more weight, since people browse before they act.

A Worked Example: Four Sessions

Here are four example visits to one website on the same day, and how GA4 classifies each of them:

Session What happened Engaged? Why
A Reads one blog post for 45 seconds, then leaves Yes Longer than 10 seconds
B Opens the pricing page, then the features page, all within 6 seconds Yes 2 page views
C Lands on a contact page and submits the form after 4 seconds, which fires generate_lead, marked as a key event Yes Key event
D Opens one page and closes it after 5 seconds No None of the three conditions

Sessions A, B and C each pass a different test. Session D fails all three, so it counts as a bounce.

Session C shows why key events matter: a short, focused visit that converts is still a good visit.

Engagement Rate Formula

Engagement rate is the share of all sessions in a period that were engaged:

Engagement rate = Engaged sessions ÷ Sessions × 100%

In the example above, 3 of 4 sessions were engaged, so the engagement rate is 75 percent.

Bounce rate is the opposite: sessions that were not engaged, divided by all sessions. Here it’s 25 percent.

The two always add up to 100 percent, because GA4 calculates both from the same engaged sessions count.

Engaged Sessions per User

Engaged sessions per user shows how often the average person comes back for a meaningful visit:

Engaged sessions per user = Engaged sessions ÷ Active users

Say sessions A and D came from the same person, and B and C from two others. That’s 3 engaged sessions and 3 active users.

The result is 1.0 engaged session per user. Over a month, values above 1 suggest people return and engage more than once.

The GA4 Data API has no ready metric for this, so in Looker Studio or Power BI you divide engagedSessions by activeUsers yourself.

Sessions vs Engaged Sessions vs Active Users

  • Sessions count every visit GA4 recorded, engaged or not.
  • Engaged sessions count only visits that met at least one of the three conditions.
  • Active users count distinct people who engaged with your site or app in the period.

The Users column in standard GA4 reports shows active users. Google’s user metrics guide says reports only show active users.

How to Change the 10-Second Threshold

The 10-second default is set separately for each web data stream, not for the whole property:

  1. Open Admin, then Data streams, and select your web stream.
  2. Open Configure tag settings and click Show all.
  3. Open Adjust session timeout.
  4. Choose the seconds under Adjust timer for engaged sessions and click Save.

Most sites should keep 10 seconds, so their numbers stay comparable with benchmarks and older reports.

A higher threshold can make sense for video or documentation sites, where quick lookups inflate engagement.

Treat any change as a break in your trend line, and write down the date you made it.

The session_engaged Parameter in BigQuery

In the BigQuery export, each event carries a session_engaged parameter, stored as the text value 1 once the session is engaged.

Events fired before the session qualified can still carry 0, so don’t just count rows where the flag is 1.

Group events by user and session instead, and count a session as engaged if any of its events has the flag:

SELECT
  COUNT(*) AS engaged_sessions
FROM (
  SELECT
    user_pseudo_id,
    (SELECT value.int_value FROM UNNEST(event_params)
     WHERE key = 'ga_session_id') AS ga_session_id,
    MAX(
      (SELECT value.string_value FROM UNNEST(event_params)
       WHERE key = 'session_engaged')
    ) AS engaged_flag
  FROM `project.analytics_XXXXX.events_*`
  WHERE _TABLE_SUFFIX BETWEEN '20261001' AND '20261028'
  GROUP BY user_pseudo_id, ga_session_id
)
WHERE engaged_flag = '1';

Always filter on _TABLE_SUFFIX. The events tables grow fast, and unfiltered scans get expensive.

Expect small differences from GA4 reports. Google says reports estimate session counts, while BigQuery counts them exactly.

Where to Find Engaged Sessions in GA4

  • Reports, Acquisition, Traffic acquisition shows engaged sessions and engagement rate by session source and medium.
  • Customize report lets you add Engaged sessions as a metric to other standard reports.
  • Explorations, Free form lets you add Engaged sessions and slice it by any dimension.
  • The Data API returns it as engagedSessions, and engagement rate as engagementRate.

Why GA4 Uses Engaged Sessions Instead of Bounce Rate

Universal Analytics counted any single-page visit as a bounce, however long the visitor stayed.

A reader who spent 12 minutes on one article counted the same as someone who left after half a second.

GA4 fixes that. The time rule rewards long reads, the second page view rewards browsing, and key events reward action.

Google’s engagement metrics guide gives the official definitions of engaged sessions, engagement rate and bounce rate.

When Engaged Sessions Look Wrong

  • Background tabs. A page opened in a tab the visitor never looks at may never reach 10 seconds of engagement.
  • Single-page apps. If route changes don’t send page_view, the two-page rule never fires.
  • A key event that fires too often. If a key event fires on page load, every session becomes engaged.
  • Bots. Crawlers that run JavaScript add short sessions and pull engagement rate down.

How to Check Your Engaged Sessions Data

  1. Open DebugView, start a test visit, stay 12 seconds and watch session_engaged change to 1.
  2. Check the engaged session timer in the tag settings of every web stream.
  3. Review your key events in Admin. A sudden jump in engagement rate often follows a new key event.
  4. Compare one day of BigQuery counts with the GA4 report and expect a small gap, not a match.

Engaged sessions are the cleanest visit-quality count in GA4. Treat a sudden swing as a tracking change until you prove otherwise.

Frequently Asked Questions

What is an engaged session in GA4?

A session that lasted over 10 seconds, had a key event, or had 2 or more page or screen views. One condition is enough.

How is engagement rate calculated?

Engaged sessions divided by all sessions. With 620 engaged sessions out of 1,000, engagement rate is 62 percent and bounce rate is 38 percent.

What is the difference between sessions and engaged sessions?

Sessions count every visit. Engaged sessions count only visits that met at least one engagement condition, so they’re always a subset of sessions.

How do I calculate engaged sessions per user?

Divide engaged sessions by active users for the same period. In the Data API, use engagedSessions and activeUsers and divide them yourself.

Can I change the 10-second threshold?

Yes. Open your web stream, then Configure tag settings, Show all, Adjust session timeout, and set the timer for engaged sessions.

Why is my engagement rate close to 100 percent?

Usually a key event fires on every page load, so every session qualifies. Check your key events in Admin and test them in DebugView.

Tom Martin
Written by

Tom Martin

Web analytics specialist with deep expertise in Google Analytics, Tag Manager, and e-commerce tracking. Helping businesses understand their data without the noise — practical guides, honest reviews, and real-world implementation experience.