Session counting explained

At a glance: The sessions counting metric is used by advertisers to measure app user engagement on a given day or in the context of app use during a given period using daily active users (DAU), monthly active users (MAU), and retention metrics. 


Sessions counting matters

The number of sessions performed by users is an important metric.

  • It impacts aggregate data, retention, and Cohort reports.
  • Activity metrics like DAU and MAU are based on session counting.
  • The default loyal-user-metric depends on session counting. The default setting is 3 sessions after the initial app open.
  • Session metrics of organic and non-organic users are available in the Cohort dashboard.

Counting sessions principles

Session reporting

The SDK reports a session when any of the following occur:

  • A user launches the app.
  • On each occasion that the app is brought from the foreground from the background.
  • Explicit session report by the developer (Android only). This is used for example, by utility apps that are always in the background.
  • Sessions reporting is controlled by the developer by setting the minimum time between sessions setting in the SDK. 

Session counting

Session counting, distinct from session reporting, is performed by the AppsFlyer platform. The platform counts the sessions reported by the SDK.

Session-based metrics

The metrics based on sessions are as follows:

  • Sessions (count of sessions)
  • Loyal users (3 app opens)
  • Daily active users (DAU)
  • Monthly active users (MAU)
  • Retention

Session reporting by the SDK

Explicit session reporting by the developer (Android apps only)

Use logSession() in Android to explicitly report a session. An equivalent call is not available in iOS.

  • Apps that work in the background continuously may require some logic implemented by the developer to count sessions. For example, utility apps like battery savers, launchers, screen locks, and antivirus apps. For these types of apps, consider reporting a session daily at midnight or some other interval appropriate to the app.
  • In other cases, they may want to increase the number of sessions when users perform some in-app action, such as pressing the clear memory button and so on.

Setting minimum time between app launches

In the SDK set the minimum time that can lapse between two sessions for them to be counted separately.

Use setMinTimeBetweenSessions (Android, iOS) to control the minimum amount of time that must occur between sessions so that each of them is counted. 

  • [Default] five-seconds. Means at least 5 seconds must elapse before another session is reported. 
  • The API allows setting the minimum required time between sessions.
Was this article helpful?