The Session Analysis of MoEngage Analytics helps you understand the user interaction with your web and mobile apps. Session analysis is used for product and design improvements. Sessions provide the quality of the user sessions on your app and web.
You can use Session Analysis to answer the following questions:
- Session Duration & Average Session Duration
- Total number of Sessions and Number of Sessions Per User
- Number of Events in Session, Number of Unique Events in Session, Events per Session and Unique Events per session
- Count of Sessions with specific Event (Example Conversion)
- Average Duration between two user sessions
Pre-requisites for Session Analysis
For Session analysis, the app version is
- android SDK version 9.7.01 or higher.
- iOS SDK version 5.2.5 or higher.
A session is a group of interactions performed by the user on your website or app in a defined time period. Sessions are primarily tracked using events/activities performed by the user on the device.
Sessions are device-specific. User activity or events that are part of the server, will not be part of any session.
The very first event or activity performed by the user on a device starts the session. The session start time is marked.
Session end is defined as the following scenarios:
User Logs out of application
- Source Change
If the current session is active and the user has entered the session from another traffic source.
If the user is inactive for longer than the defined inactivity period (default 30 mins)
Every session has a session start time and a session end time. All the events or activities performed between the session start and end time are part of the session. Session duration is determined as the difference between the session start time and session end time.
Inactivity time is the time window when the user is not performing any event or activity. The default inactivity period when the session is considered to end is 30 minutes and the session end time is configurable. Contact email@example.com to configure the session end time on user inactivity.
If the inactivity time is more than the defined inactivity period of the session end, then the session ends, and the time at which the last event was performed is the session end time.
All sessions have the source information. Source has properties such as the traffic source, medium, campaign, and so on which are fetched from the respective UTM parameters. The source can be organic or paid. If a session is in progress and the user visits your website or 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.
Events performed by the user in a session are interactive events when:
- A new session is started even when the app or website is in the background.
- The session is extended even when the app or website is in the background.
- Have information on source and session
Events required for internal usage or technical purposes and events not generated by users are considered Non-Interaction Events. The Non-Interaction Events do not affect normal session calculations. Following are the non-interaction 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
- 'Notification Received', is a non-interaction event. No addition in session time for the event and it is not be counted as an event in the session.
For more information on specifying non-interactive events, refer to Developer Docs.
UTM parameter is mandatory for Session Analysis. For more information, refer to Source Analysis.