SDK data collection options

Braze is designed to allow for flexible data collection via our SDKs and APIs. The Braze SDK can be integrated in three ways:

  • Personalized Integration; integrators have the flexibility to collect data in addition to Automatically Collected Data.
  • Automatically Collected Integration; integrators can benefit from automatically captured data (this includes all the Minimum Integration data) without integrating additional data.
  • Minimum Integration; integrators can disable Automatically Collected Data to only receive data that is strictly necessary to enable communication with the Braze Services.

Personalized integration

To make the most out of the Braze Platform functionality, integrators most commonly implement the Braze SDKs and log Custom Attributes, Custom Events and Purchase Events that are pertinent to their business on top of Automatically Collected Data (including Minimum Integration).

A personalized integration allows for customized communication that is relevant to the user experience.

Automatically collected integration

Listed below are the automatically captured data generated and received by Braze when an integrator initializes the SDK; this includes properties found in the Minimum Integration table.

Attribute Platform Description Why it’s Collected
Browser Name Web Name of the browser. Used to ensure messages are only sent to compatible browsers. It can also be used for browser-based segmentation.
Time Zone Android, iOS, Web Device/browser time zone. Used to ensure messages are sent at the appropriate time, according to each user’s local time zone.
Resolution Android, iOS, Web Device/browser resolution. It can optionally be used for device-based message targeting.
Language Android, iOS, Web Device/browser language. Used to translate messages to a user’s preferred language.
User Agent Web User agent. Used to ensure messages are only sent to compatible devices. It can also be used within segmentation.
Device Locale Android, iOS The default locale of the device. Used to translate messages to a user’s preferred language.
Device Model Android, iOS The specific hardware of the device. Used to ensure messages are only sent to compatible devices. It can also be used within segmentation.
Device Wireless Carrier Android, iOS The mobile carrier. It can optionally be used for message targeting.
IDFA iOS The advertiser identifier. This value is only sent to Braze when (1) users opt-in, and (2) the IDFA is set in the Braze SDK integration.
Country Android, iOS, Web Country Identified via IP Address Geolocation. It can be used to target messages based on location.

All the above fields can be disabled to allow for a Minimum Integration:

Minimum integration

Listed below is the strictly necessary data generated and received by Braze when an integrator chooses to initialize the SDK for communication and disable automatically captured data. These elements are non-configurable and are essential in out-of-the-box platform functions.

Attribute Platform Description Why it’s Collected
OS and OS Version Android, iOS, Web Currently reported device/browser and device/browser version. Used to ensure messages are only sent to compatible devices. It can also be used within segmentation to target users to upgrade app versions.
IDFV iOS Device identifier. Used to identify anonymous users, differentiate users’ devices, and ensure messages are sent to the correct intended device.
Device ID Android, iOS, Web Device identifier, an out-of-the-box randomly generated string. Used to identify anonymous users, differentiate users’ devices, and ensure messages are sent to the correct intended device.
Session ID & Session Timestamp Android, iOS, Web Session identifier, an out-of-the-box randomly generated string and session timestamp. Used to determine whether the user is starting a new or existing session and to determine re-eligibility of messages intended for this user.

Certain messaging channels such as in-app messages and Content Cards are synchronized to the device upon session start. Our backend will then use data related to when it last contacted Braze’s servers (which the device stores and sends back) to know if the user is eligible for any new messages.
SDK Version Android, iOS, Web Current SDK version. Used to ensure messages are only sent to compatible devices and to ensure no disruption of the service.
App-Version-Name /
App-Version-Code
Android, iOS, Web App version name. Used to ensure messages related to app version compatibility are sent to the correct devices. It can be used to notify users of service disruption or bugs.
SDK Message Interaction Data Android, iOS, Web Push direct opens, in-app message interactions, Content Card interactions. Used for quality control purposes like checking that a message was received and that sending isn’t duplicated.

The Braze backend/service generates metrics calculated on SDK data (e.g., total number of sessions conversion events, Random Bucket Numbers, etc.) message interaction data related to non-SDK message (i.e., SMS sends), and derived information, i.e., an uninstall from a push bounce. For clarity, this calculated data is not tracked by the SDK but generated by the Braze Services, and exporting a User Profile will display both tracked data and generated data.

WAS THIS PAGE HELPFUL?
New Stuff!