Open any GA4 report and you will see three numbers that look almost interchangeable: Users, Sessions, and Engaged sessions. They are not the same, and picking the wrong one changes what your report says. This guide defines each, gives the formula behind it, and shows which to put on a scorecard.
If GA4 is still new to you, start with our Google Analytics 4 for beginners guide. Here we assume you can read a GA4 report but mix up the terms.
Users: people, not visits
A user is a single person (more precisely, a single browser or device) who visited your site. GA4 tracks two user metrics, and the difference matters.
- Total users: every unique person who triggered any event, including people who landed and left instantly.
- Active users: users who had at least one engaged session. GA4 labels this "Users" in most standard reports, so the headline "Users" number is really Active users.
That naming trips up almost everyone. When a stakeholder asks how many users you had, the default GA4 card answers with Active users, a slightly smaller, more meaningful number than Total users.
Sessions: one visit each
A session is one visit. It begins when GA4 fires the session_start event and covers everything that person does until the visit ends. A session ends after 30 minutes of inactivity by default (the session timeout), so if someone walks away for an hour then returns, that is two sessions.
Sessions almost always outnumber users, because the same person can visit more than once in the period. One user who comes back three times is one user and three sessions. Sessions can also fragment: crossing midnight, idling past the timeout, or arriving through a fresh campaign link can split one visit into two.
Rule of thumb: if Sessions and Users are nearly equal, most people visited once. If Sessions run well above Users, you have a returning audience, usually a good sign.
Engaged sessions: the quality filter
Engaged sessions are GA4's answer to the much-criticised bounce rate. A session is engaged if it meets any one of three conditions:
- It lasts 10 seconds or longer, or
- It includes 2 or more page or screen views, or
- It fires at least one key event (the conversions you have flagged as important).
| The visit | 10s or more | 2+ pages | Key event | GA4 counts it as |
|---|---|---|---|---|
| Reads one page for 6 seconds, leaves | ✕ | ✕ | ✕ | Not engaged |
| Reads one page for 2 minutes | ✓ | ✕ | ✕ | Engaged |
| Clicks through 3 pages in 7 seconds | ✕ | ✓ | ✕ | Engaged |
| Lands and taps Call within 4 seconds | ✕ | ✕ | ✓ | Engaged |
Because a key event can make a session engaged, how you define key events shapes this metric. Unsure which actions to flag? See choosing GA4 key events.
Engagement rate and bounce rate
Engaged sessions give you GA4's two headline quality ratios:
- Engagement rate = engaged sessions ÷ sessions. The share of visits that met the engagement bar.
- Bounce rate = 1 − engagement rate. In GA4, bounce rate is the inverse: the share of sessions that did not engage, no longer "single-page visits" as in Universal Analytics.
A worked example
Say a campaign week has 800 active users, 1,000 sessions, and 650 engaged sessions. Through the formulas:
- Sessions exceed users (1,000 vs 800), so each person visited 1.25 times on average. You have some repeat traffic.
- Engagement rate = 650 ÷ 1,000 = 65%.
- Bounce rate = 1 − 0.65 = 35%.
All 650 engaged sessions came from within those 800 active users, but you cannot divide one by the other to get a per-person rate. Engagement rate is sessions over sessions, never sessions over users.
Wrong base
650 ÷ 800 = 81%
Engaged sessions over users mixes visits with people. GA4 has no metric that means this.
Right base
650 ÷ 1,000 = 65%
Engaged sessions over sessions: the engagement rate GA4 reports.
A number is only as honest as its denominator. Most GA4 reporting mistakes are a quality ratio divided by the wrong base.
The three at a glance
| Metric | What it counts | Formula or rule |
|---|---|---|
| Total users | Every unique person triggering any event | Distinct count of users |
| Active users ("Users") | People with at least one engaged session | Users with engaged sessions ≥ 1 |
| Sessions | Visits, each starting with session_start | Ends after 30 min of inactivity |
| Engaged sessions | Visits that engaged | 10s+ OR 2+ views OR 1+ key event |
| Engagement rate | Share of visits that engaged | engaged sessions ÷ sessions |
| Bounce rate | Share of visits that did not engage | 1 − engagement rate |
Which one to report
Each metric answers a different question, so pick by the question you are asked:
Reach
Users
"How many people did we touch?" New vs returning is the same metric, split by whether GA4 has seen that user before.
Volume
Sessions
"How busy was the site?" The right base for cost per visit or pages per session.
Quality
Engagement rate
"Did the traffic do anything?" Separates a spike of curious clicks from genuine interest.
Returning users came back within the reporting window, and a high returning share usually signals a loyal audience rather than a one-off campaign bump.
In Clearly
When you build a scorecard in Clearly, the metric picker offers all of these side by side. Match the card's label to its denominator: a card titled "Engagement rate" should pull engaged sessions over sessions, not over users. Mismatched bases are the most common reason a report looks wrong to a client who knows their numbers.
A clean top-line default is three cards: Users for reach, Sessions for volume, Engagement rate for quality. Each one sits on a base that supports it.
The takeaway
Users count people, Sessions count visits, and Engaged sessions count the visits that mattered. Engagement rate is engaged sessions over sessions, and bounce rate is one minus that. Check the denominator before you compare any two GA4 rates.