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: ```javascript 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. ```javascript { 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: ```javascript Analytics.configure({ // OPTIONAL - Allow recording session events. Default is true. autoSessionRecord: false, }); ``` or ```javascript Analytics.autoTrack('session', { enable: false }); // Note: this must be called before Amplify.configure() or Analytics.configure() to cancel the session_start event ``` import js0 from '/src/fragments/lib/analytics/js/autotrack/page-tracking.mdx'; Note: Amplify doesn't capture the location automatically. Instead, you can add the location information in the default config when you [configure Analytics](https://docs.amplify.aws/lib/analytics/getting-started/q/platform/js#set-up-existing-analytics-backend) or while [updating the end point](https://docs.amplify.aws/lib/analytics/getting-started/q/platform/js#update-endpoint).