Adopture Docs
Tracking

Sessions

How Adopture tracks user sessions automatically.

Sessions represent individual periods of user activity in your app. Adopture tracks sessions automatically, so there is no manual setup required.

How Sessions Work

A new session starts when:

  • The app is launched for the first time
  • The app returns from the background after at least 30 minutes of inactivity

Each session is assigned a unique UUID that is attached to every event recorded during that session.

Session Timeout

The session timeout is 30 minutes of inactivity. If a user backgrounds your app and returns within 30 minutes, the existing session continues. If they return after 30 minutes or more, a new session begins.

Automatic Session Events

When autoCapture is enabled (the default), a session_start event is tracked automatically at the beginning of each session. You don't need to call anything for this to happen.

Session Metrics

Sessions are used to calculate several key metrics in your dashboard:

  • Session count — The total number of sessions over a given time period
  • Average session duration — How long users spend in your app per session
  • Bounce rate — The percentage of sessions with only a single event

These metrics appear in the Overview section and can be viewed over time in the Timeseries chart.

Resetting Sessions

In some cases, you may want to force a new session. For example, when a user logs out, you might want to clear all state and start fresh:

await Adopture.reset();

The reset method clears the current user data, flushes the event queue, and starts a new session with a fresh session ID. Use this when the identity context of your app changes (such as a logout/login flow).

On this page