SessionStorage
Definition
This document offers a comprehensive guide on how the Pulse SDK utilizes SessionStorage, detailing the types of data stored and the services that interact with this storage.
The list and porpose of each key in SessionStorage
- paa_first_navigation
- paa_tab_id
- paa_tab_opener
- paa_last_location
- paa_tsp
paa_first_navigation
The paa_first_navigation record contains data { firstNavigation, astNavigationCount, lastNavigationUrl }, and the SDK updates or sets the record each time it tries to detect an opener or trigger an event.
The paa_first_navigation record can only be set by the Pulse Tracker SDK. The SDK sets this record in two scenarios:
- When the SDK initializes on the page.
- When a navigation occurs on the page.
- When a popup event occurs.
The paa_unpublished data is used exclusively in the TabOpenerDetector.
paa_tab_id
The paa_tab_id record contains a UUID value of the tab. During initialization, the SDK checks if a paa_tab_id record already exists in session storage. If it does not, the SDK generates a new UUID and sets it as the paa_tab_id.
The paa_tab_id record can only be set by the Pulse Tracker SDK.
The paa_tab_id data is used exclusively in the TabManagerService.
paa_tab_opener
The paa_tab_opener record contains an object with values such as { id, type, url, name, group, element }. During initialization, the SDK attempts to detect the tab opener. If the opener is detected, the SDK stores the data in session storage under the paa_tab_opener key. When the tab was opened by a declared click (see Declared Navigation Source), the object also holds { navigateDeclared, navigateLabel }, and the first navigation event of the tab reports the label.
The paa_tab_opener record can only be set by the Pulse Tracker SDK.
The paa_tab_opener data is used exclusively in the TabOpenerDetector.
paa_last_location
The paa_last_location record contains an object with values such as { locationURL, timestamp }. During navigation or tab closing, the SDK sets the location URL and timestamp in session storage under the paa_last_location key.
The paa_last_location record can only be set by the Pulse Tracker SDK.
The paa_last_location data is used exclusively in the LocationHistoryTracker.
paa_tsp
The paa_tsp record is a presence marker with the value '1'. The SDK sets it the first time it evaluates the traffic source in a tab, even for a direct landing with no source.
The marker means that the tab's own landing source (referrer, UTM parameters or click id) has already been counted. While it is present, a reload or a Back/Forward load of the tab is not treated as a new arrival, so it cannot rotate the session or take the stored traffic source back from another tab. Only a new navigation in the tab can.
The paa_tsp record can only be set by the Pulse Tracker SDK. It lives only as long as the tab. In the anonymous and page-session modes it is kept in memory instead of SessionStorage.
The paa_tsp data is used exclusively in the TrafficSourceService.