What session length is and how it is counted
Session length is the time from opening the app to backgrounding it. Most mobile analytics systems
add an inactivity timeout: if there has been no interaction for 30 minutes, the next open counts
as a new session.
App opened: 14:00:00
Last action: 14:06:47
Moved to background: 14:06:52
Session length = 6 min 52 sec
At the aggregate level, teams track:
– The mean — the overall engagement figure
– The median — resistant to outliers from very long sessions
– The distribution — what share of sessions runs under 1 min, 1–5 min, 5–15 min, over 15 min
Interpretation: when a long session is bad
A long session does not always mean engagement:
| Scenario | Session length | Interpretation |
|---|---|---|
| Someone browses the catalogue and buys | 8 min | Positive — a session with a conversion |
| Someone cannot find what they want | 12 min | Negative — an experience problem |
| Someone browses and does not buy | 6 min | Neutral — depends on the context |
| Someone opens and closes immediately | 0.5 min | Negative — a bounce |
Tip: always split session length into sessions with a purchase and sessions without one. The
gap between those two figures matters more than the headline number. If purchasing sessions run two
to three times longer, search and navigation are working — the job is to bring more people to a
decision.
How session length relates to personalization
In-app personalization affects session length directly:
- Relevant recommendations cut search time — the session is shorter, the conversion rate higher
- A personalized home screen leads to the right section faster
- In-app messages about discounts or new arrivals increase browsing depth
The correlation between session length and revenue is usually non-linear: a rise from 3 to 5 minutes
often comes with a rise in conversion, but growth beyond 10 minutes no longer does.
Technical details
- Background versus foreground: a session should be counted only in the foreground. Background
processes such as push reception and sync must not extend it. - Accuracy on iOS: the system can terminate background processes within seconds. The
session-ended event has to be sent synchronously as the app moves to the background. - Splitting by platform: iOS and Android often report different session lengths because of
differences in user behaviour and navigation patterns — the back button on Android, gestures on
iOS.