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 that logs into your application. Each customer chooses what to use for their Visitor IDs. Customers can send an anonymous ID that can’t be tracked back to a user.

Customers can also send the string ANONYMOUS for Pendo to create an anonymous ID for them, which is unique for each app on each device.

The Pendo.startSession API accepts null for Visitor and Account ID’s to start the anonymous session.

Generic Usage Analytics

The following information is sent automatically:

  • Session start time
  • Session end time
  • Session duration (how much time a user spends in the app)
  • 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’s data include:

  • Screen’s structural elements
  • An optional hash of screen texts 

It is possible to globally disable sending screen text labels & screen’s title text.

Button Clicks

Buttons the user clicked in the application. Button click events are sent regardless of tagging. A button’s data includes:

  • Structural details for each Element
  • An optional element text and its accessibility text label

It is possible to turn off sending button text & accessibility labels.

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 Optional parameter that can be sent from the app to identify a logical user group or an internal account ID
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