Back to blog
|8 min read

How GA4 Counts Sessions: What Analysts Get Wrong

Sessions in GA4 behave differently from sessions in Universal Analytics, and the differences are not intuitive. Analysts who carry over their UA mental model will misinterpret session data in ways that lead to wrong conclusions about traffic trends, campaign performance, and site behaviour.

The GA4 Session Definition

In GA4, a session begins when a user arrives on your site and GA4 assigns a ga_session_id, a timestamp based identifier appended to the user's client ID. A new session starts only after a 30-minute period of inactivity.

Unlike Universal Analytics, GA4 does not create a new session when the clock ticks past midnight, when a user arrives via a different campaign source mid session, or when a UTM parameter changes mid session.

This means a user who visits your site at 11:45 PM and continues browsing past midnight counts as one session in GA4, where it would have counted as two in UA.

Similarly, a user who clicks a social media link, browses for 20 minutes, then clicks a paid search ad and keeps browsing without a 30-minute gap is counted as one session in GA4, and the first source gets the attribution by default.

This last touch within session behaviour is one of the most consequential differences for campaign reporting.

Why GA4 Sessions Are Lower Than UA Sessions

For most properties, GA4 reports materially fewer sessions than UA did for the same traffic. Three factors explain most of the difference.

First, the midnight reset removal: any visitor who spans midnight generates one fewer session in GA4 than in UA. On properties with evening traffic peaks, this can account for 3 to 8% of sessions.

Second, campaign source changes no longer generate new sessions. In UA, a user who clicked a paid ad after arriving via organic would start a new session.

In GA4, it is still one session, reducing session counts for sites with high levels of multi source visit behaviour.

Third, GA4 applies stricter identity resolution when Google Signals is enabled, potentially merging what were counted as separate sessions in UA into a single cross device session.

Understanding these mechanical differences is essential before presenting session trend comparisons to stakeholders who were familiar with UA benchmarks.

Session Quality Signals: What Replaces Bounce Rate

GA4 introduced engaged sessions as the primary session quality indicator.

An engaged session is one where the user was active for more than 10 seconds, triggered a conversion event, or viewed at least two pages or screens.

The engagement rate (engaged sessions as a percentage of total sessions) replaces bounce rate in GA4's default reporting.

The 10-second threshold is both GA4's biggest improvement over bounce rate and its most common source of confusion.

A user who reads a long form article and closes the tab after 8 minutes without scrolling counts as engaged because they exceeded 10 seconds.

A user who lands on a product page and immediately adds to cart without another page view also counts as engaged due to the conversion event.

This makes engagement rate a genuinely better signal of session quality than bounce rate, but it also means you cannot benchmark it directly against UA's historical bounce rates.

Ready to audit your GA4 property?

Run a full GA4 audit in under 10 minutes. Free to start.

Start Free Audit