Skip to content

SDK data collection

When you integrate the Braze SDK with your app or site, Braze automatically collects certain types of data. Some of this data is essential for our processes and some of this data can be toggled on or off based on your needs. Integrators can also configure Braze to collect additional types of data to further power your segmentation and messaging.

Braze is designed to allow for flexible data collection. The Braze SDK can be integrated in three ways:

  • Minimum integration: Braze automatically collects data that is necessary to enable communication with the Braze services.
  • Optional data collected by default: Braze automatically captures some data that is broadly useful for most of our customers’ use cases. Integrators can opt to disable this automatically collected data if it is non-essential to the minimum integration.
  • Personalized integration: Integrators have the flexibility to collect data in addition to the default optional data.

Minimum integration

The following lists the strictly-necessary data generated and received by Braze when an integrator chooses to initialize the SDK. These elements are non-configurable and are essential in core platform functions. With the exception of session start and end, all other automatically tracked data does not count toward your data point allotment.

Attribute Platform Description Why it’s Collected
App-Version-Name /
App-Version-Code
Android, iOS, Web The most recent app version This attribute is 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.
Country Android, iOS Country identified via IP address geolocation This attribute is used to target messages based on location.
Device ID Android, iOS, Web Device identifier, a randomly generated string This attribute is used to differentiate users’ devices and ensure messages are sent to the correct intended device.
IDFV iOS Device identifier—IDFV collection is now optional on our Swift SDK Used to differentiate users’ devices, and ensure messages are sent to the correct intended device.
OS and OS version Android, iOS, Web Currently reported device/browser and device/browser version This attribute is used to ensure messages are only sent to compatible devices. It can also be used within segmentation to target users to upgrade app versions.
Session start and session end Android, iOS, Web When the user begins using your integrated app or site The Braze SDK reports session data used by the Braze dashboard to calculate user engagement and other analytics integral to understanding your users. Exactly when the session start and session end is called by your app or site is configurable by a developer (Android, iOS, Web).
SDK message interaction data Android, iOS, Web Push direct opens, in-app message interactions, Content Card interactions This attribute is used for quality control purposes, like checking that a message was received and that sending isn’t duplicated.
SDK version Android, iOS, Web Current SDK version This attribute is used to ensure messages are only sent to compatible devices and to ensure no disruption of the service.
Session ID and session timestamp Android, iOS, Web Session identifier, a 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 servers (which the device stores and sends back) to know if the user is eligible for any new messages.

Calculated metrics

The Braze backend generates metrics calculated on SDK data, message interaction data related to non-SDK messages, and derived information. For clarity, this calculated data is not tracked by the SDK but generated by the Braze services, and a user profile will display both tracked data and generated data.

Calculated metrics include the following attributes.

Attribute Description
First used app Time
Last used app Time
Total session count Number
Clicked card Number
Last received any message Time
Last received email campaign Time
Last received push campaign Time
Number of feedback items Number
Number of sessions in the last Y days Number and time
Received message from campaign Boolean. This filter allows you to target users based on their having (not) received a previous campaign.
Received message from campaign with tag Boolean. This filter allows you to target users based on their having (not) received a campaign that currently has a tag.
Retarget campaign Boolean. This filter allows you to target users based on whether or not they have opened, or clicked on a specific email, push, or in-app message in the past.
Uninstalled Boolean and time

Optional data collected by default

In addition to the minimum integration data, the following attributes are automatically captured by Braze when an integrator initializes the SDK. An integrator can opt-out of collecting these attributes to allow for a minimum integration.

Attribute Platform Description Why it’s Collected
Browser name Web Name of the browser This attribute is used to ensure messages are only sent to compatible browsers. It can also be used for browser-based segmentation.
Device Ad Tracking Enabled iOS adTrackingEnabled attribute for iOS This attribute tracks whether or not this app has Ad Tracking enabled.
Device IDFA iOS Device identifier for advertisers Optionally used to track data.
Device locale Android, iOS The default locale of the device This attribute is used to translate messages to a user’s preferred language.
Device model Android, iOS The specific hardware of the device This attribute is used to ensure messages are only sent to compatible devices. It can also be used within segmentation.
Device brand Android The brand of device (for example, Samsung) This attribute is used to ensure messages are only sent to compatible devices.
Device wireless carrier Android, iOS The mobile carrier This attribute is optionally used for message targeting.
Language Android, iOS, Web Device/browser language This attribute is used to translate messages to a user’s preferred language.
Notification settings Android, iOS, Web Whether this app has push notifications enabled. This attribute is used to enable push notifications.
Resolution Android, iOS, Web Device/browser resolution Optionally used for device-based message targeting. The format of this value is “<width>x<height>”.
Time zone Android, iOS, Web Device/browser time zone This attribute is used to ensure messages are sent at the appropriate time, according to each user’s local time zone.
User agent Web User agent This attribute is used to ensure messages are only sent to compatible devices. It can also be used within segmentation.

To learn more about tracking device-level properties such as device wireless carrier, time zone, resolution, etc.), see the platform specific documentation: Android, iOS, Web.

Personalized integration

To make the most out of Braze, integrators often implement the Braze SDKs and log custom attributes, custom events and purchase events that are pertinent to their business on top of the automatically collected data.

A personalized integration allows for customized communication that is relevant to your users’ experience.

HOW HELPFUL WAS THIS PAGE?
New Stuff!