Pendo Mobile SDK data collection

Last updated:

The article explains which type of data Pendo collects about your end-users.

Data storage locations

Event data collected by the SDK is sent to Pendo’s backend and is stored and processed in the Google Cloud Platform (GCP). By default, Pendo subscriptions are hosted in a US-based GCP region. Alternatively, customers can request that a Pendo subscription be hosted in EU-based GCP regions. There is no information transfer between the US and EU regions.

Data segregation

The following approaches are used to segregate customer data:

  • For Google Cloud Storage (object storage), customer-specific buckets are used.
  • For Google Datastore (data lake), customer-specific namespaces are used.
  • For Google BigQuery (data warehouse), customer-specific datasets are used.

Automated data collection

The following table summarizes the type of data that the Pendo SDK collects:

Data Details
Auto-generated App ID on device A unique string that identifies the user’s device and your app to Pendo. If you have additional applications on your device using Pendo, they will each get a different Device ID, such that they cannot be tracked back to the same device.
The device ID is generated randomly for each Pendo SDK integration and stored in local storage. If the end-user clears the app's local storage, the new ID is regenerated.
Visitor ID

Pendo requires an ID for each visitor who uses your application. Each customer chooses what to use for their Visitor ID. Customers can start an identified session by passing any string as visitorId to Pendo.startSession. Customers can start an anonymous session by passing null or empty string as the visitorId to Pendo.startSession.

Note: The generated anonymous id can't be tracked back to a user.

Generic Usage Analytics

The following information is sent automatically:

  • Session start time
  • Session end time
  • Application in foreground
  • Application in background 
Device Data

The following information is sent automatically:

  • Device OS (for example, iOS, Android)
  • Device OS version (for example, iOS 13)
  • Device Model (for example, iPhone XS)
  • Device Manufacturer (for example, Samsung)
  • Device Locale / Default Display Language
  • Device Height & Width (in device-independent pixels)
  • App Version
  • Screen (for example, 5.3")
  • Device Type (for example, Phone, Tablet)
Screen Events

Events for screens the user visited in the application (ScreenView and ScreenLeft). Screen view events are sent regardless of tagging.

Screen data includes:

  • Screen’s structural elements
  • An optional hash of screen texts
  • An optional hash of screen title (iOS only)

You can turn off collecting and sending a hash of screen texts and a hash of screen titles (iOS only).

Feature Clicks

Features the user clicked in the application. Feature click events are sent regardless of tagging. A feature's data includes:

  • Structural details for each element
  • An optional hash of feature text and a hash of its accessibility label

You can turn off collecting and sending a hash of feature text and a hash of its accessibility label

Guide Analytics

Analytics related to any in-application guides you have built, for example:

“Guide ID”

"guide viewed"/

“guide dismissed”/

“Guide button clicked”/

“Poll submitted”/

“Poll response: 5”


Optional data collection

Our customers have many configuration options, and each customer configures their instance of Pendo slightly differently.  The following are OPTIONAL categories of data that you could direct us to collect:

Data Details
User Metadata Metadata about users that you may or may not associate with their Visitor ID. This data comes in the form of Key, Value pairs.
Account ID Pendo allows passing an accountId for each visitor that uses your application to identify a logical user group or an internal account ID. Customers can pass any string as accountId to Pendo.startSession.
Account Metadata Metadata about users’ accounts that you may or may not associate with their Account ID. This data comes in the form of Key, Value pairs.
Code Events (Track Events)

Code events can be sent by the hosting application. A code event includes a string-based event name and a set of key-value pairs for event properties. For example:

Event name: "could not connect to server"

Parameter name: error ID

Parameter value: 404




Was this article helpful?
2 out of 2 found this helpful