Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Apr 29, 2024

Automatically track sessions

Analytics Auto Tracking helps you to automatically track user behaviors like sessions start/stop, page view change and web events like clicking or mouseover.

Session Tracking

You can track the session both in a web app or a React Native app by using Analytics. A web session can be defined in different ways. To keep it simple we define a web session as being active when the page is not hidden and inactive when the page is hidden. A session in a React Native app is active when the app is in the foreground and inactive when the app is in the background.

For example:

Analytics.autoTrack('session', {
// REQUIRED, turn on/off the auto tracking
enable: true,
// OPTIONAL, the attributes of the event, you can either pass an object or a function
// which allows you to define dynamic attributes
attributes: {
attr: 'attr'
},
// when using function
// attributes: () => {
// const attr = somewhere();
// return {
// myAttr: attr
// }
// },
// OPTIONAL, the service provider, by default is the Amazon Pinpoint
provider: 'AWSPinpoint'
});

When the page is loaded, the Analytics module will send an event to the Amazon Pinpoint Service.

{
eventType: '_session_start',
attributes: {
attr: 'attr'
}
}

To keep backward compatibility, the auto tracking of the session is enabled by default. You can turn it off by:

Analytics.configure({
// OPTIONAL - Allow recording session events. Default is true.
autoSessionRecord: false
});

or

Analytics.autoTrack('session', {
enable: false
});
// Note: this must be called before Amplify.configure() or Analytics.configure() to cancel the session_start event

Note: Amplify doesn't capture the location automatically. Instead, you can add the location information in the default config when you configure Analytics or while updating the end point.