This article summarizes data that is automatically and optionally collected with mobile implementations of Pendo using the SDK. For a general overview of data collected by Pendo, and the relevant security and privacy measures, see Data collection and compliance.
Automated data collection
The mobile SDK collects the following data automatically:
Auto-generated Device ID
The Device ID is a unique string generated randomly for each Pendo SDK implementation that identifies the visitor’s device used to access your application.
Device ID isn't maintained across multiple applications. If you have more than one application, a different Device ID is applied for each application that a visitor uses, which means that visits to different applications can’t be tracked back to the same device.
The Device ID is stored locally. If the visitor clears the application’s local storage, a new Device ID is generated.
Device data
The following information associated with the device used by a visitor of your application is collected and sent automatically to Pendo:
- Device operating system (OS), such as iOS or Android
- Device OS version, such as iOS 17.4.1 or Android 14.0
- Device Model, such as iPhone XS
- Device Manufacturer, such as Samsung
- Device Locale or Default Display Language
- Device Height and Width in device-independent pixels
- App Version
- Screen, for example, 5.3"
- Device Type, such as Phone or Tablet
Visitor ID
Pendo requires a unique identifier for each end user of your application. Each end user is represented in Pendo by a Visitor ID. You decide what data to use for Visitor IDs. For more information, see Choose IDs and metadata.
An identified visitor session starts by passing any string as the Visitor ID to Pendo.startSession
. An anonymous visitor session starts by passing null or an empty string as Visitor ID to Pendo.startSession
. The auto-generated anonymous ID can’t be tracked back to the visitor.
Generic usage analytics
Usage analytics sent automatically to Pendo includes session start and end time, and application foreground and background.
A session starts when a visitor prompts the call to startSession
at a point during their interaction with your application that you decide. Generally, the call to startSession
is set for when a visitor signs in or, if the visitor is anonymous, when the application is opened. The session end time is calculated when the visitor closes the application or if the application's developer calls Pendo.endSession
.
Foreground events are sent when the application is visible on the visitor's screen and can interact with it. Background events are sent when the application is behind the scenes, for example, if a phone call interrupted usage.
When a visitor returns after the application has been in the background for more than 30 minutes, and if the operating system didn't close the app during that time, then the SDK starts a new session with the same Visitor and Account IDs as before.
Page events
Page events in a mobile implementation are screen events associated with different pages (screens) of your application, such as Page Load (a screen event sent when a visitor accesses a specific screen) and Page Unload (a screen event sent when a visitor leaves a specific screen).
Page Load events are relevant only to frameworks that support codeless tracking and are sent regardless of tagging. Screen data includes:
- The screen’s structural elements.
- An optional hash of screen texts.
- An optional hash of screen title (iOS only).
For information about how Pendo collects and sends a on-way hash of screen snd title text, see Text capture in Pendo for mobile in this article.
Click events
Pendo automatically captures click events. Click events are relevant only to frameworks that support codeless tracking and are sent regardless of tagging. Screen data includes:They capture visitor interactions with interactive elements of your application. A click event's data includes:
- Structural details for each element.
- An optional hash of element text and a hash of its accessibility label.
For information about how Pendo collects and sends a on-way hash of element text and accessibility labels, see Text capture in Pendo for mobile in this article.
Guide analytics
Pendo automatically captures analytics related to any in-app guides that you’ve built, such as:
- Guide ID
- Guide viewed
- Guide dismissed
- Guide button clicked
- Poll submitted
- Poll response: 5
Optional data collection
You can collect the following optional categories of data with a mobile implementation of Pendo.
Visitor metadata
Visitor metadata is additional data about the end users (visitors) of your application. This data is directly associated with a Visitor ID. This data comes in the form of key-value pairs. For more information, see Choose IDs and metadata.
Account ID
An Account ID is typically a business name or a unique number that represents a user group that visitors belong to. You can pass any string as the Account ID to Pendo.startSession
. For more information, see Choose IDs and metadata.
Account metadata
This is additional data about the accounts of the visitors to your application. This data is directly associated with an Account ID. This data comes in the form of key-value pairs. For more information, see Choose IDs and metadata.
Track Events
Track Events can be sent by the hosting application. A Track Event includes a string-based event name and a set of key-value pairs for event properties. For more information, see Track Events.
Text capture in Pendo for mobile
To safeguard sensitive information, text data collected from mobile devices undergoes one-way hashing using the SHA256 algorithm. This transforms text values from screens, titles, elements, and accessibility labels into irreversible hash values that are truncated to 8 bytes, providing an additional layer of security.
To turn off collecting and sending hashes of text, contact Pendo Support. This can limit your ability to uniquely tag specific parts of your application and leverage insights from Pendo analytics.