Braze
This page describes how to use Census with Braze.

Note on Braze API Costs

Braze prices its API on a per data point update basis. Census ensures that only fields that need to be updated are sent (rather than a copy of the entire record). Please be aware that large datasets, which change often can increase your Braze API usage. Read More.

๐Ÿƒโ€โ™€๏ธ Getting Started

In this guide, we will show you how to connect Braze to Census and create your first sync.

Prerequisites

1. Create a Braze API key

Braze lets you create a number of API keys, each with their own set of permissions. You'll almost certainly want to create a new API key for Census rather than reusing an existing one.
Within Braze's left navigation bar, scroll down to the very bottom. Under App Settings and click Developer Console.
Then, inside the API Settings tab, under Rest API Keys, click + Create New API Key.
Provide a name you'll recognize ("Census" is a good choice) and select the following permissions:
  • All User Data permissions, except for users.delete
You must include users.delete if you want to do the remove option of Mirroring usersโ€‹
  • segments.list
  • This permission set may change as we add support for more Braze objects so you may want to grant more permissions now or plan to update these permissions in the future.
Scroll down and click Save API Key.
Finally, copy the long code you see under Identifier. We'll use that in a minute.

2. Select your Braze API Endpoint

Braze requires that we use a slightly different URL to access your account depending on where it's been set up. See the full list of all Braze API Endpoints. In general, you just need the number from the URL you see in your browser when you're signed into Braze. For example, if your Braze URL is https://dashboard-03.braze.com/, then your API Endpoint should be https://rest.iad-03.braze.com.

3. Create the Census Connection

Great! Now let's pull it all together.
  1. 1.
    In the Connections page, click on Add Service, and select "Braze"
  2. 2.
    You can provide whatever name you like for the connection
  3. 3.
    Provide the appropriate Braze Endpoint URL
  4. 4.
    Copy and paste your new Braze API key
Click Connect
After the Connection Test is Green, you're all set and ready to get syncing! ๐ŸŽ‰

๐Ÿ—„ Supported Objects

Census currently supports syncing to the following Braze objects.
Object Name
Supported?
Identifiers
User
โœ…
External User ID
Event
โœ…
Event ID
Subscription Group Memberships
โœ…
โ€‹See Hereโ€‹
Census supports custom fields on both Braze User and Event objects. Additionally, Census supports sending structured data to Braze:
  • โ€‹User Push Tokens - To send push tokens, your data should be structured as an array of objects with 2-3 values: app_id, token, and an optional device_id.
  • Nested Custom Attributes - Both objects and arrays are supported. As of April 2022, this feature is still in early access. You may need to contact your Braze account manager for access.

โœ‰๏ธ Braze Subscription Group Memberships

Census offers a way to manage your Braze Subscription Groups via your data hub. The current behavior is that you are to "Mirror" the subscribed users from your user base. It is required that you have, within the source:
  • The Subscription Group Id in Braze
  • Braze User External Id
This source model should be all of your Subscribed users for their Subscription groups. If a previously-synced subscription group / user pair no longer appears in your data source, Census will unsubscribe that user from that subscription group.
If you have a query that returns the external id, subscription group id, and status columns. Your source model should logically look like this:
SELECT
external_id, subscription_group_id
FROM
subscription_table
WHERE
status = 'subscribed'
Only the Braze User External Id and the Subscription Group Id should be mapped fields. This is a special unsubscribing mirror for user/group pairs that no longer appear in the data source.
โ€‹
โ€‹Contact us if you want Census to support more objects for Braze.

๐Ÿ”„ Supported Sync Behaviors

Learn more about all of our sync behaviors on our Core Concepts page.
Behaviors
Supported?
Objects?
Update or Create
โ€‹โœ…โ€‹
User
Mirror
โœ…
Append
โœ…
Event

Mirror Mode Options

Braze's Mirror behavior optionally supports a choice of two actions when a record is removed from the source. This can be configured when setting up the sync initially. The first time the sync is performed, the records will be used as a basis for mirroring behaviour in future syncs:
  • Delete record - This is the typical behavior for most mirror syncs. When a record is removed from the source, the corresponding record will be deleted from Braze.
  • Null out fields - This is a new behavior for mirror syncs in Braze. In this case, when a record is removed from the source, the currently mapped fields of the synced will be removed from the destination record (by setting them to Null). The identifier will not be removed from the destination record.
  • Subscription Group Membership - This will unsubscribe users from the corresponding subscription group, as described above.
Regardless of which option is selected, mirror syncs identify deletions of each type by comparing against the data they have already sent -- not the data that might or might not already exist in Braze. This means that the first sync will be an upsert for all records, and the second and following syncs will account for deletions from the source data.
โ€‹Contact us if you want Census to support more sync behaviors for Braze.

Data Points

In order to minimize your API usage with Braze to ensure that your organization is only updating the data points that have actually changed, Census exports the mapped fields from Braze and scans the data in your data source (including on Full Syncs). If there is a difference, Census will send that data point over from the source. If there is not, Census will not send that data point write over.
Note that certain built-in fields in Braze, such as Country and Gender, have automatic standardization that happens in Braze. i.e.: "United States" from SQL becomes "US" from Braze's API.
โ€‹
So when using these type of values, we recommend either:
  • Pre-standardize your fields to match Brazeโ€™s format (i.e. "US")
  • Use Custom Attributes to store them instead

๐Ÿš‘ Need help connecting to Braze?

โ€‹Contact us via [email protected] or start a conversation with us via the in-app chat.