What is a session?

A session is one continuous visit, ended by inactivity. The 30-minute rule, midnight and campaign resets, and why session counts differ between tools.

What is a session?

A session is one continuous visit to a site: a group of pageviews and events from the same visitor with no long gap between them. The near-universal rule ends a session after 30 minutes of inactivity. Sessions are how analytics turns a stream of individual hits into visits that can be counted and compared.

The formula.

A new session starts when the gap since the visitor's last activity exceeds the timeout

timeout
30 minutes of inactivity in almost every tool. Some allow it to be configured.
activity
Any recorded hit: a pageview, a custom event, sometimes an engagement ping.

The timeout is a convention inherited from early log analysis, not a measurement of human behaviour. It is why session counts differ between tools that otherwise agree on pageviews.

A worked example.

One visitor, one afternoon.

14:02, lands on the homepageSession 1 starts
14:05, views pricingSession 1 continues
14:07, opens a docs page and leaves the tabSession 1 continues
15:20, comes back and clicks signupSession 2 starts, 73 minutes of inactivity

2 sessions, 4 pageviews, 1 unique visitor

Nothing about the person changed. The session count is a product of the timeout rule, which is exactly why sessions are a reporting convenience rather than a fact about behaviour.

What ends a session

Inactivity is the main rule, and there are three others that catch people out.

  1. 30 minutes without any recorded activity. The near-universal default.
  2. Midnight in the reporting timezone, in most tools. A visit spanning midnight is split into two sessions, which is why overnight traffic looks odd.
  3. A new campaign. In many tools, arriving with different UTM parameters starts a fresh session so the new campaign can be credited. This is the reason tagging internal links destroys attribution.
  4. In cookieless analytics, the daily identifier rotation. A visit cannot continue past the point where the identifier changes.

Together these mean a long visit can produce several sessions without the visitor ever leaving, which is worth remembering before treating sessions per visitor as a behavioural signal.

Why session counts differ between tools

Different timeouts

Thirty minutes is standard but not universal, and a tool that allows configuration will have been configured by someone at some point.

Different campaign rules

Tools that restart a session on a new campaign report more sessions than tools that do not, from identical traffic.

Different bot filtering

Crawler sessions are single-page and numerous. Filtering at ingest versus at read time produces different totals for the same period.

Blocking

A tool loaded from a third-party domain loses sessions to content blockers that a first-party one keeps. This alone routinely explains a 10% to 30% gap.

See it on real data

The live demo is a fully populated dashboard with real demo traffic. No signup and no card required.

Open the live demo
The Mrkr visitor list with per-visitor session detail.

Sessions without cookies

A session does not require a cookie. It requires knowing that two hits came from the same visitor within a short window, which a daily-rotating hash of request signals provides perfectly well.

That is why cookieless analytics gives you complete session-level reporting: sessions, entry and exit pages, within-session funnels, campaign to conversion, revenue by source. Everything that happens inside a visit is measurable.

The boundary is at the edge of the day. A visitor returning tomorrow starts a new session belonging to a new identifier, so sessions-per-visitor over long windows is not something cookieless data can honestly report. Cookie mode or your own user id extends it, and cookie mode requires consent on that site.

How Mrkr defines a session

Mrkr groups a visitor's hits into a session with a 30-minute inactivity timeout, ends sessions at the day boundary in line with the daily identifier rotation, and keeps the campaign parameters that started the session attached to it.

That last behaviour is what makes within-session attribution exact: a purchase in the same visit carries the campaign that brought the visitor, with no cookie involved.

Bot and crawler traffic is classified before sessionisation, so a crawl does not become thousands of one-page sessions inflating your totals and your bounce rate.

Questions, answered.

Related terms.

  • What is unique visitor?

    A unique visitor is one person counted once within a reporting period, no matter how many times they visit or how many pages they view.

  • What is pageview?

    A pageview is a single recorded view of a page on your site.

  • What is bounce rate?

    Bounce rate is the share of sessions that end without a second interaction: one page loads, nothing else is recorded, and the visitor leaves.

  • What is landing page?

    In analytics, a landing page is the first page a visitor sees in a session, whatever page that happens to be.

  • What is cookieless analytics?

    Cookieless analytics measures website traffic without storing a cookie, a localStorage value or any other identifier on the visitor's device.

Where this shows up in Mrkr

Your first visitor is already here.

Drop in the script and watch them land. It takes about a minute.