User Session

The Session Analysis of MoEngage Analytics helps you understand all about the users' interaction with your web and mobile apps. Session analysis is being used for products & design improvements. Sessions provide the quality of the user sessions on your app and web. 

You can use Session Analysis to answer questions as - 

  • Session Duration & Average Session Duration
  • Total No of Sessions & No of Sessions Per User
  • No of Events in Session, No of Unique Events in Session, Events per Session & Unique Events per session
  • Count of Sessions with specific Event (Example Conversion)
  • Average Duration between two user sessions

Let’s dive a little deeper and see how it works.

Session Definition

A session is a group of interactions done by the user on website/app in a defined time period. Sessions are primarily being tracked using events/activities performed by the user on the device.

Sessions are device-specific. User activity/events which are coming directly from the server, will not be part of any session.

Session Calculation

The very first event/activity done by the user on a device starts the session. This marks the session start time.

For the session end, there are multiple scenarios - 

  1. Logout - User Logs out of application
  2. Source Change - If the current session is running and user come from another traffic source
  3. Inactivity - If the user is inactive for longer then the defined inactivity period (default 30 mins)

In the above scenarios, the last event marks the session end.

Every session has a session start time and a session end time. All the event/activities done between the session start and end time are part of the session. Session duration is determined by session start time and session end time.

Inactivity Time

Inactivity time is the time window when the user is not performing any event/activity. The default inactivity period for the session end is 30 minutes, but this can be modified. You can connect with us to get it changed for your website/app.

If the inactivity time is more than the defined inactivity period for the session end, then the session ends, and the time at which the last event was performed would be the session end time.


Source Change

All sessions have the source information. Source has properties such as the traffic source, medium, campaign, etc. which are fetched from the respective UTM parameters. The source can be organic or paid. If a session is in progress and the user lands on your website/app with a different source, the current session will end and a new session will start with the new source. A source is considered to be different only if one or more source properties are not exactly the same as the current source properties.
Read more about Source Analysis by clicking here.

Non-Interaction Events

A session consists of events performed by the user. Events performed by the user are interactive events. These events:

  • Start a new session, even when the app/site is in the background
  • Extend the session, even when the app/site is in the background
  • Have information on source and session

There are some events that might be required for internal usage or technical purposes. These events may not be generated by users and do not affect normal session calculations. These are Non-Interaction Events. These events:

  • Do not start a new session, even when the app/site is in the foreground
  • Do not extend the session
  • Do not have information on source and session

For example, 'Notification Received', this is a non-interaction event. It won't cause any addition in session time and will not be counted as an event in the session.

To specify events as a non-interactive event, please check our developer docs.

UTM parameter is a must for Session Analysis. Read more about this in Source Analysis by clicking here.

For Source & Session analysis, the app should have android SDK on or above version 9.7.01 and iOS SDK should be on or above version 5.2.5.

Was this article helpful?
4 out of 4 found this helpful