Sessions: what a session is and when it resets
A session is a group of interactions from one visitor within a bounded time window. It starts on the first event and ends after a period of inactivity (commonly 30 minutes, configurable). The reset rules differ by tool — and historically Universal Analytics also restarted sessions at midnight and on a new campaign — so the same traffic produces different session counts in different products.
What this means
A session bundles the events one visitor fires during a continuous period of activity. The session opens on the first event and is held open as long as new events keep arriving. After a gap longer than the inactivity timeout — 30 minutes by default in GA4 — the next event opens a new session.
When a session resets
Inactivity is the main trigger, but it is not the only one historically. Universal Analytics also forced a new session at midnight in the property's time zone and whenever a visitor arrived on a new campaign (a new utm_campaign or source). GA4 dropped the midnight and campaign resets and keys sessions on the inactivity timeout plus a session_start event, so UA and GA4 session totals are not directly comparable.
- Inactivity timeout: default 30 minutes, configurable
- Universal Analytics also reset at midnight and on a new campaign
- GA4 keys on session_start and the inactivity timeout only
How it misleads
Because the timeout and reset rules are tool-specific, comparing session counts across products is unreliable. A long-running tab, a returning visitor after a coffee break, or a campaign change can split what feels like one visit into several sessions — or merge several into one.
How it appears in analytics and logs
A session count tells you roughly how many distinct visits happened. A jump can be real visits, a shorter timeout, or campaign/midnight resets inflating the count in older tools — check the session definition before comparing across products.
Diagnostic use case
Use sessions as a visit-level unit between pageviews and users, while remembering the timeout and reset rules that decide where one session ends and the next begins.
What WebmasterID can help detect
WebmasterID groups events into sessions first-party with a documented timeout, so your visit counts do not depend on third-party cookies or cross-site identity.
Common mistakes
- Comparing session counts between GA4 and Universal Analytics as if equal.
- Forgetting that the inactivity timeout is configurable.
- Treating one session as one person.
Privacy and accuracy notes
A session is a time-bounded grouping of events, not a person. It can be derived without third-party cookies; WebmasterID groups sessions first-party without cross-site identifiers.
Related pages
- Average session duration and its blind spots
Average session duration is the mean length of sessions. Its core blind spot: duration is measured from the timestamps of events, so the time spent on the final page of a session — the exit page — typically counts as zero because no later event marks its end. This systematically undercounts real reading time, and GA4 replaced it with average engagement time, which is measured differently.
- Engagement rate and engaged sessions
Engagement rate is the percentage of sessions that were 'engaged'. In GA4 an engaged session is one that lasted longer than a threshold (10 seconds by default), had a key event/conversion, or had at least two pageviews. Engagement rate is the inverse of GA4 bounce rate, and its threshold is configurable — so the number depends on a setting most people never check.
- Pageviews: what the metric counts
A pageview is recorded when a page is loaded (or a virtual page is rendered in a single-page app). It is the oldest web-analytics metric and the easiest to misread: pageviews count loads, not people, and modern apps and prefetching can inflate or hide them. This page defines the metric and its caveats.
- Event Explorer
See the session_start events behind each session.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.