Concepts

Sessions

How Rabolic starts and ends sessions on the web (30 minutes without events) and in apps (30 seconds in the background), active time, conversions and revenue in a session.

A session is one visit to your website or one stretch of use of your app. The SDK creates the session id, so it knows about tabs, the app going to the background and the app's lifecycle.

When a session starts

PlatformA new session starts
WebAfter 30 minutes without an event. Also when a page loads with campaign parameters (utm_*, gclid, fbclid, ttclid, msclkid) that differ from the current session's
iOS and AndroidAt launch, and on return to the foreground after more than 30 seconds in the background
Every platformOn reset()
  • Tabs share a session on the web. The session id and last activity live in localStorage.
  • Each device has its own sessions. They all belong to the same person once identify() links the devices.
  • A session that crosses midnight or the end of a month is still one session.

Changing the timeouts

In Project settings → Project → Sessions:

  • Web inactivity timeout: 15, 30, 60 or 120 minutes.
  • Mobile background timeout: 10 seconds, 30 seconds, 2 minutes or 5 minutes.

The SDKs read the timeouts from the project's remote config, which they cache for up to 5 minutes.

Server events and the HTTP API

  • Events sent with a publishable key but without a session id get one from Rabolic, with the web timeout.
  • Events from your server with a secret key aren't part of a session.

Active time

PlatformMeasured fromSent on
WebTime the page was visible and interacted with in the last 30 s$page_leave, as active_ms
iOS and AndroidTime in the foreground$app_background, as foreground_ms

Time in the background never counts.

Conversions and revenue in a session

  • A session is converted when it contains one of the project's conversion events. This is worked out when the report runs, so changing your conversions changes past sessions consistently. See Key events and conversions.
  • A session's revenue is the verified purchases the same person made from the start of the session until 30 minutes after its last event. A payment your server confirms a moment later still counts.

What a session isn't

Rabolic records the events your site and apps send, not the screen. There is no session replay, no heatmap and no click map.

See Sessions in the dashboard.