Sessions
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
| Platform | A new session starts |
|---|---|
| Web | After 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 Android | At launch, and on return to the foreground after more than 30 seconds in the background |
| Every platform | On 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
| Platform | Measured from | Sent on |
|---|---|---|
| Web | Time the page was visible and interacted with in the last 30 s | $page_leave, as active_ms |
| iOS and Android | Time 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.
Identity
How Rabolic links browsers, app installs and server events to one person with identify(), when people are merged, what reset() does, and what doesn't link people yet.
Key events and conversions
Mark the events that matter as key events, and choose the conversions that count as success. How they shape Overview, sessions, journeys, retention and funnels in Rabolic.