What is a Session?
A session is a time-bounded container of user activity on your site or app. It groups events like Pageview, Screen View, and custom Event interactions into a single visit for analysis. Most analytics tools use an inactivity timeout (commonly 30 minutes) to decide when one session ends and the next begins. Sessions power downstream metrics such as Pages Per Session, Engagement Rate, and Engagement Time.
How does a Session work?
When a user lands on your site (often their First Visit), the platform creates a session identifier and starts counting events until the inactivity threshold is hit. In GA4, this is initiated by the session_start
event and stored with a session_id
. GA4 sessions can span midnight and usually do not restart on traffic-source changes mid-visit; attribution can still update per event, but the session container remains. In alternatives like Matomo, Plausible, or Simple Analytics the mechanics are similar (visit container + inactivity window), with minor naming and calculation differences.
Traffic source within a session
Each session has a default acquisition source derived from referrer/UTM data: Source, Referral, Direct, paid, etc. This is used for session-level reporting and funnels; event-level reports may show more granular attribution.
Common pitfalls
- Tab parking: Long idle periods break a visit into multiple sessions even if the user never closed the tab.
- Cross-domain flows: If identity/parameters aren’t preserved, a single real visit can appear as multiple sessions across domains. (See also Cross-Device Tracking and Client ID.)
- Metric mix-ups: Sessions ≠ users; one user can create multiple sessions. Compare Sessions per user and Engaged Sessions to judge quality, not just volume.
Why sessions matter
Sessions are the backbone for conversion analysis and pacing. They frame when interactions happened and with what marketing touch, so rates like Conversion Rate and campaign ROI make sense. In privacy-light tools (e.g., Plausible, Matomo, Simple Analytics), the session abstraction still enables trend analysis without heavy personal identifiers.