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 choosing the wrong one quietly changes the story your report tells. This guide defines each one, gives you the formula behind it, and shows which to put on a scorecard depending on what you are trying to say.
If GA4 itself is still new to you, start with our Google Analytics 4 for beginners guide and come back. 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 actually 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. This is the metric GA4 labels simply as "Users" in most standard reports, so the headline "Users" number is really Active users.
That naming choice trips up almost everyone. When a stakeholder asks how many users you had, the default GA4 card is answering with Active users, a slightly smaller and 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 counts everything that person does until the visit ends. A session ends after 30 minutes of inactivity by default (the session timeout), so if someone reads, walks away for an hour, then returns, that counts as two sessions.
Sessions almost always outnumber users, because the same person can visit more than once in the reporting period. One user who comes back three times produces one user and three sessions. Sessions can also fragment: crossing midnight, leaving the site idle past the timeout, or arriving through a fresh campaign link can split what felt like 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, which is usually a good sign.
Engaged sessions: the quality filter
Engaged sessions are GA4's answer to the old, much-criticised bounce rate. A session counts as 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).
Because a key event can mark a session as engaged, the way you define key events directly shapes this metric. If you are not sure which actions to flag, our guide on choosing GA4 key events walks through it.
Engagement rate and bounce rate
From engaged sessions you get 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 simply the inverse: the share of sessions that did not engage. It is no longer "single-page visits" the way it was in Universal Analytics.
A worked example
Say a campaign week looks like this: 800 active users, 1,000 sessions, and 650 engaged sessions. Reading it through the formulas:
- Sessions exceed users (1,000 vs 800), so on average each person visited 1.25 times. You have some repeat traffic.
- Engagement rate = 650 ÷ 1,000 = 65%.
- Bounce rate = 1 − 0.65 = 35%.
Notice that all 650 engaged sessions came from somewhere inside those 800 active users, but you cannot divide one by the other to get a per-person rate. Engagement rate is always sessions over sessions, never sessions over users. Keeping the denominator straight is the whole game.
The 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 who triggered 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 cleared the quality bar | 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 being asked:
- Reach: use Users. "How many people did we touch?" New vs returning is the same metric split by whether GA4 has seen that user before.
- Volume: use Sessions. "How busy was the site?" Sessions track traffic and effort, and they are the right base for cost-per-visit or pages-per-session.
- Quality: use Engaged sessions or Engagement rate. "Did the traffic actually do anything?" This is what separates a spike of curious clicks from genuine interest.
New vs returning users sits inside the Users metric: returning users came back in 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. The discipline is to match the card's label to its denominator: a card titled "Engagement rate" should pull engaged sessions over sessions, not engaged sessions over users. Mismatched bases are the most common reason a report looks wrong to a client who knows their own numbers.
A clean default for a top-line report is three cards: Users for reach, Sessions for volume, and Engagement rate for quality. That trio tells the whole story in one row, and each number stands on a base that genuinely supports it.
The takeaway
Users count people, Sessions count visits, and Engaged sessions count the visits that mattered. Engagement rate divides engaged sessions by sessions, and bounce rate is just one minus that. Get the denominator right and your GA4 charts stop arguing with each other.