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.