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.

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.

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 on demo traffic, with no signup and no card.

Open the live demo

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.

How long is a session in analytics?

It ends after 30 minutes of inactivity in almost every tool. There is no maximum length as long as activity continues, though most tools also close sessions at midnight in the reporting timezone.

What is the difference between a session and a unique visitor?

A session is one visit. A unique visitor is one person in the reporting period, and can produce several sessions. Sessions are always greater than or equal to unique visitors over the same window.

Can you track sessions without cookies?

Yes. Sessionisation needs to recognise the same visitor for minutes, not months, and a daily-rotating salted hash does that without storing anything on the device. What it cannot do is link today's session to one from last week.

Start with one line of HTML.Your first visitors show up within a minute.