Braze Connector Setup Guide
This article describes how to set up the Braze connector in your Customer Data Hub account.
Connector Actions
Action Name | AudienceStream | EventStream |
---|---|---|
Track User (Batch) | ✓ | ✓ |
Track User (Non-Batch) | ✓ | ✓ |
Delete User (Non-Batch) | ✓ | ✓ |
Update User Subscription Group Status (Non-Batch) | ✓ | ✗ |
Send Campaign Message | ✓ | ✓ |
Send Canvas Message | ✓ | ✓ |
Send Transactional Email | ✓ | ✓ |
Identify User | ✓ | ✓ |
Consent Categories
- Analytics
- Mobile
- Personalization
Configure Settings
Go to the Connector Marketplace and add a new connector. Read the Connector Overview article for general instructions on how to add a connector.
After adding the connector, configure the following settings:
- API Endpoint
Required: Select API endpoint for the instance your account is provisioned to.
For more information, see Braze API Endpoints. - API Key
Required: Provide API key with permission enabled forusers.track
andusers.delete
.
For more information, see Braze App Group REST API Keys.
For additional information see Braze Documentation Braze Technology Partners: Tealium.
Action Settings - Parameters and Options
This section describes how to set up parameters and options for each action.
The Track User action contains the same functionality for both AudienceStream and EventStream. As a best practice, set the user attribute mappings for the AudienceStream action and the event and purchase mappings for the EventStream action.
Action - Track User (Batch/Non-Batch)
We recommend mapping as many ID parameters as possible. When an action triggers with multiple IDs mapped, the first non-blank value is selected based on the following priority order:
- External ID
- Braze ID
- Alias Name/Alias Label
For more information, see Braze API: User Track.
Batch Limits
This action uses batched requests to support high-volume data transfers to the vendor. For more information, see Batched Actions. Requests are queued until one of the following thresholds is met or the profile is published:
- Max number of requests: 75
- Max time since oldest request: 10 minutes
- Max size of requests: 1 MB
User ID
Parameter | Description |
---|---|
External ID | External ID of the user. |
Braze ID | Braze ID of the user. |
User Alias Name | The alias name of the user. When specifying a user alias, both Alias Name and Alias Label should be set. |
User Alias Label | The alias label of the user. When specifying a user alias, both Alias Name and Alias Label should be set. |
User Attributes
We recommend following the Braze best practice of only sending changed user attributes and avoiding sending unchanged attributes. You can do this using visit and visitor attribute enrichments and rules that recognize when an attribute has changed. For more information, see Enrichment Rules.
Empty values are converted to null and removed from the Braze user profile.
Parameter | Description |
---|---|
Country | The country of the user. |
Current Location - Latitude | The current latitude for the user to be tracked |
Current Location - Longitude | The current longitude for the user. |
Date of First Session | The date of the first session of the user. |
Date of Last Session | The date of the last session of the user. |
Date of Birth | The date of birth for the user. |
Email Address | The email address for the user. |
Email Subscription Status | The email subscription status for the user. |
The hash containing any of id (string), likes (array of strings), num_friends (integer). |
|
First Name | The first name of the user. |
Gender | The gender of the user. M , F , O (other), N (not applicable), P (prefer not to say) or nil (unknown). |
Home City | The home city for the user. |
Image URL | The URL of an image to be associated with user profile. |
Language | The language preference of the user in ISO-639-1 format. See list of accepted language codes. |
Last Name | The last name of the user. |
Marked Email As Spam At | Date at which the user’s email was marked as spam. Appears in ISO 8601 format or in yyyy-MM-dd’T’HH:mm:ss:SSSZ format. |
Phone Number | The telephone number of the user. |
Push Subscription Status | Set to opt_in (explicitly registered to receive push messages), unsubscribed (explicitly opted out of push messages), or subscribed (neither opted in nor out). |
Push Tokens ID Array | An array of app ID’s to use with push token migration. For more information, see Braze API: Migration via API. |
Push Tokens Array | An array of push tokens. |
Push Tokens Device ID Array | An array of device ID’s to use with push token migration. For more information, see Braze API: Migration via API. |
Time Zone | The time zone name from IANA Time Zone Database. Example: America/New_York or Eastern Time (US & Canada) . Invalid time zone values are ignored. |
Hash containing any of ID (integer), screen name (string, Twitter handle), followers count (integer), friends count (integer), statuses count (integer). | |
Update Existing Only (Users) | Set to true or false . If no user value exists, one is created by default. If set to true, only existing users are updated and new users are not created. |
Modify User Attributes
Modify numeric user attributes with the following operations:
- Increment (accepts positive or negative values)
- Decrement
- Add
Modify array attributes by adding or removing values from existing arrays.
Events
An event name must be mapped to Name.
Map array attributes of equal length to send multiple events. Single value attributes can be used and will apply to each event.
Parameter | Description |
---|---|
App ID | The App Identifier API key or app_id associated with a specific app in your app group. For more information, see Braze API: App Identifier API key. |
Name (Required) |
The name of the event. |
Time | The time of the event. Automatically set to now unless a value is mapped. |
Update Existing Only (Events) | Set to true or false. If no event value exists, one is created by default. If set to true, only existing events are updated and no new events are created |
Event Template Variables
Provide template variables as data input (see:template variables).
Name nested template variables with the dot notation (Example: items.name
).
Nested template variables are typically built from data layer list attributes.
Event Templates
Provide templates to be referenced in Body Data (see:Trimou templating engine).
Templates are injected by name with double curly braces into supported fields (Example: {{SomeTemplateName}}
).
Purchases
To map data for purchases, you must map the values for Product ID, Currency, and Price. Map array attributes of equal length to send multiple events. Single value attributes can be used and will apply to each event.
The following code sample shows a Braze best practice example for receiving a single event containing purchases for multiple products:
// event to Tealium:
{
[...]
"tealium_event": "purchase",
"product_name": ["Backpack", "Pencil", "Notebook"],
"product_quantity": [1, 5, 3],
"product_category": ["Travel", "Office", "Office"],
"product_price": [39.95, 1.99, 3.99],
"order_currency": "USD"
}
Map the corresponding product array attributes to the Braze parameters:
product_name
> Product IDproduct_quantity
> Quantityproduct_price
> Price
The results of this example sends the following purchases object to Braze, representing each product accordingly:
// payload to Braze via Tealium Connector:
{
"purchases": [
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Backpack",
"currency" : "USD",
"price" : 39.95,
"time" : "2013-07-16T19:20:30+01:00",
},
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Pencil",
"currency" : "USD",
"price" : 1.99,
"time" : "2013-07-16T19:20:30+01:00",
},
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Backpack",
"currency" : "USD",
"price" : 3.99,
"time" : "2013-07-16T19:20:30+01:00",
}
]
}
Parameter | Description |
---|---|
App ID | The Event Application ID. |
Product ID | An array of product IDs. Required for purchase events. |
Currency | The ISO 4217 alphabetic currency code of the purchase. Required for purchase events. |
Price | An array of product prices. Required for purchase events. |
Quantity | An array of product quantities. |
Purchase Time | The time of the purchase in ISO 8601 format. Automatically set to now unless explicitly mapped. |
Update Existing Only (Purchases) | (Optional) Values are true or false . By defauilt, if a purchase value exists, one is created by default. If set to true , only existing purchases are updated and no new purchases are created. |
Purchase Template Variables
Provide template variables as data input (see:template variables).
Name nested template variables with the dot notation (Example: items.name
).
Nested template variables are typically built from data layer list attributes.
Purchase Templates
Define a template to send nested objects.
When a template is defined, the mappings from the Purchases section are ignored.
Provide templates to be referenced in Body Data (see:Trimou templating engine).
Templates are injected by name with double curly braces into supported fields (Example: {{SomeTemplateName}}
).
Action - Delete User (Non-Batch)
Only one of External ID, Braze ID, and User Alias is needed in each action. However, we recommend mapping as many attributes as you can. When IDs are mapped, the first non-blank value is selected based on the following priority order:
- External ID
- Braze ID
- Alias Name
- Alias Label
For more information, see Braze API: User Delete Endpoint.
Parameters
Parameter | Description |
---|---|
External ID | External ID of the user to delete. |
Braze ID | Braze ID of the user to delete. |
User Alias Name | The alias name of the user to be deleted. When specifying a user alias, Alias Name and Alias Label should both be set. |
User Alias Label | The alias label of the user to be deleted. When specifying a user alias, Alias Name and Alias Label should both be set. |
Action - Update User Subscription Group Status (Non-Batch)
For more information, see Braze API: Subscription Groups Endpoints.
Parameters
Parameter | Description |
---|---|
Group Type (Required) |
The subscription group type to manage (SMS or EMAIL ). |
Update Type (Required) |
The subscription state to set (SUBSCRIBE or UNSUBSCRIBE ). |
Subscription Group ID (Required) |
The ID of the subscription group. |
External ID | The external ID of the user or users. |
(Used with EMAIL subscription groups.) The email address of the user. Email is required if External ID is not set. |
|
Phone | (Used with SMS subscription groups.) The phone number in E.164 format. Example: +1415555371 Phone is required if External ID is not set. |
Send Campaign Message
Batch Limits
This action uses batched requests to support high-volume data transfers to the vendor. For more information, see Batched Actions. Requests are queued until one of the following thresholds is met or the profile is published:
- Max number of requests: 50
- Max time since oldest request: 10 minutes
- Max size of requests: 1 MB
Parameters
Parameter | Description |
---|---|
Campaign ID | (Required) The campaign ID. |
Send ID | Key either generated by Braze or created by you for a given message send under which the analytics should be tracked. |
Alias Name | The value of the alias. |
Alias Label | The key of the alias. |
External User ID | A value used to identify the same user profile across multiple devices. |
Send to Existing Only | Defaults to true . If false , an attributes object must also be included. |
Trigger Properties | Personalization key-value pairs that can be referenced in your message template. Use templating for nested objects. |
Recipient Attributes | Create or update a recipient attribute. |
Template Variables | Provide template variables as data input for Templates. See Template Variables Guide documentation for usage examples. Name nested template variables with the dot notation. Example: items.name .Nested template variables are typically built from data layer list attributes. |
Templates | Provide templates to be referenced in Trigger Properties, see Templates Guide. Templates are injected by name with double curly braces into supported fields (Example: {{SomeTemplateName}} ). |
Send Canvas Message
Batch Limits
This action uses batched requests to support high-volume data transfers to the vendor. For more information, see Batched Actions. Requests are queued until one of the following thresholds is met or the profile is published:
- Max number of requests: 50
- Max time since oldest request: 10 minutes
- Max size of requests: 1 MB
Parameters
Parameter | Description |
---|---|
Canvas Data | Canvas ID - Random key generated by Braze for a given Canvas within the Braze dashboard. |
Alias Name | The alias value. |
Alias Label | The alias key. |
External User ID | A value used to identify the same user profile across multiple devices. |
Send to Existing Only | Defaults to true . If false , an attributes object must also be included. |
Trigger Properties | Personalization key-value pairs that can be referenced in your message template. Use templating for nested objects. |
Recipient Attributes | Create or update a recipient attribute. |
Canvas Entry Properties | Personalization key-value pairs that can be referenced in your message template. Use templating for nested objects. |
Template Variables | Provide template variables as data input for Templates. See Template Variables Guide documentation for usage examples. Name nested template variables with the dot notation. Example: items.name .Nested template variables are typically built from data layer list attributes. |
Templates | Provide templates to be referenced in Trigger Properties, see Templates Guide. Templates are injected by name with double curly braces into supported fields (Example: {{SomeTemplateName}} ). |
Send Transactional Email
Parameters
Parameter | Description |
---|---|
Campaign ID | (Required) The campaign ID. |
External Send ID | Identifier for a particular send. When passed, this identifier will also be used as a deduplication key, which Braze will store for 24 hours. |
Alias Name | The alias value. |
Alias Label | The alias key. |
External User ID | A value used to identify the same user profile across multiple devices. |
Trigger Properties | Personalization key-value pairs that can be referenced in your message template. Use templating for nested objects. |
Recipient Attributes | Create or update a recipient attribute. |
Template Variables | Provide template variables as data input for Templates. See Template Variables Guide documentation for usage examples. Name nested template variables with the dot notation. Example: items.name .Nested template variables are typically built from data layer list attributes. |
Templates | Provide templates to be referenced in Trigger Properties, see Templates Guide. Templates are injected by name with double curly braces into supported fields (Example: {{SomeTemplateName}} ). |
Identify User
Batch Limits
This action uses batched requests to support high-volume data transfers to the vendor. For more information, see Batched Actions. Requests are queued until one of the following thresholds is met or the profile is published:
- Max number of requests: 50
- Max time since oldest request: 10 minutes
- Max size of requests: 1 MB
Parameters
Parameter | Description |
---|---|
External ID | Select an attribute to map to an external ID in Braze. |
Alias Name | (Required) The alias name. |
Alias Label | (Required) The alias label. |
Frequently Asked Questions
How does this connector work with other Braze integrations?
In addition to the Track User API, Braze has additional data collection methods, both of which support mapping of user attributes in Braze. Tealium supports Braze SDKs for Web and Native Mobile in the following two independent, but similar integrations:
- Braze Web SDK Tag Setup, Braze Initial SDK Setup
- Tealium Remote Command for Braze on Android and iOS/Swift (Learn more)
These integrations are alternative methods used for Braze to collect user behavior data that is similar to the data collected in the event and purchase actions of the connector.
This page was last updated: November 10, 2023