
What a Session Is
A session is a single visit to your website: one person arriving, doing things — viewing pages, clicking, converting — and leaving. It is the unit most traffic reporting is denominated in, which is exactly why you need to know how your analytics tool defines it, because two tools counting the same visitors will happily report different session totals and both will be "right."
How GA4 Actually Counts Sessions
In GA4, a session begins when the automatically collected session_start event fires — the first event from a user who has no session currently open. The session then stays alive as long as events keep arriving, and ends after 30 minutes of inactivity (the default timeout, adjustable from 5 minutes up to 7 hours 55 minutes in the data stream settings). Come back 29 minutes after your last click and you are still in the same session; come back 31 minutes later and a fresh session_start fires.
Two Universal Analytics behaviors are gone, and they matter for anyone comparing eras. UA cut every session at midnight, so a visit spanning 11:55 PM to 12:10 AM counted as two sessions; GA4 lets it run as one. UA also started a new session whenever the campaign source changed mid-visit — click a Google result, then click a newsletter link five minutes later, and UA logged two sessions; GA4 keeps it as one session and attributes it to the first source. On top of that, GA4 estimates session counts using an efficient approximation (HyperLogLog++) rather than exhaustively counting IDs. Net effect: GA4 reports fewer GA4 sessions than UA would for identical traffic, and none of that difference is lost visitors.
Under the hood, every event in a session carries a ga_session_id and a ga_session_number parameter — the first stitches events into a visit, the second counts how many sessions that user has had. If you ever export GA4 to BigQuery, those two parameters are how you rebuild sessions yourself.
Session Behavior: UA vs GA4 Side by Side
| Behavior | Universal Analytics | GA4 |
|---|---|---|
| Session starts when… | First hit (pageview, event) arrives | session_start event fires automatically |
| Inactivity timeout | 30 minutes (adjustable) | 30 minutes (adjustable, 5 min to 7h55m) |
| Crossing midnight | Session split into two | No split — one continuous session |
| Campaign source changes mid-visit | New session started | Same session continues; first source wins |
| Counting method | Direct count of session IDs | Statistical estimate (HyperLogLog++) |
| Bounce definition | Single-hit session, engagement ignored | Any session that is not "engaged" (10+ seconds, 2+ pageviews, or a key event) |
| Typical result | More sessions reported | Fewer sessions for the same traffic |
How to Check Your Sessions
- In GA4, open Reports → Acquisition → Traffic acquisition — the Sessions column here is session-scoped and grouped by Session default channel group.
- Compare Sessions with Engaged sessions in the same table; a wide gap on organic landing pages usually means the SERP promise and the page content disagree.
- To inspect a single page, go to Reports → Engagement → Landing page and read sessions per landing page rather than pageviews, which double-count multi-page visits.
- Check your timeout under Admin → Data streams → your stream → Configure tag settings → Adjust session timeout before assuming the default applies.
- Verify tracking with DebugView: load your site with debug mode on and confirm
session_startfires once, not on every page.
Common Mistakes and Fixes
- Comparing UA sessions to GA4 sessions 1:1. The midnight and campaign-change splits alone guarantee UA numbers run higher. Fix: never trend across the July 2023 migration line; if a stakeholder insists, show both definitions and explain the break.
- Expecting sessions to equal Search Console clicks. A click is counted on Google's side; a session needs your tag to fire and survive consent and ad blockers. Fix: treat a 10–20% gap as normal plumbing, not data loss.
- Reporting pageviews when you mean sessions. Views count every page load; sessions count visits. Fix: pick the session-scoped metric for traffic reporting and say which one you used.
- Ignoring engaged sessions. Raw session counts reward clickbait rankings that bounce instantly. Fix: report engagement rate next to sessions — see the bounce rate entry for how GA4 flips that logic.
- Fiddling with the timeout to inflate or deflate numbers. Shortening the timeout manufactures sessions from thin air. Fix: leave it at 30 minutes unless your product genuinely involves long idle stretches (video, dashboards), and document any change.
Sessions FAQ
Is a session the same as a user?
No. One user can generate many sessions — a reader who visits every morning is one user and thirty sessions a month. Users answer "how many people," sessions answer "how many visits."
Is a session the same as a pageview?
No. A session contains one or more pageviews. A five-page visit is one session, five views — which is why sessions and views should never be swapped mid-report.
Why does GA4 show fewer sessions than Universal Analytics did?
No midnight splits, no campaign-change splits, and estimated counting. Same humans, stricter definition. It is the counting that changed in Google Analytics, not your traffic.
Can one session span two days?
In GA4, yes — a visit that starts at 11:50 PM and stays active past midnight remains one session. In UA it would have been chopped into two at 12:00 AM.
What is a good number of sessions?
Whatever number is growing and converting. Sessions are a volume metric with no intrinsic quality; pair them with engagement rate and key events before drawing conclusions.
Going Deeper
For building session-based organic reports that actually inform decisions, see GA4 for SEO: organic-only reports and engagement metrics.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







