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)
  • 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 for users.track and users.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. Requests are queued until one of the following thresholds is met:

  • 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.
Facebook 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.
Twitter 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 ID
  • product_quantity > Quantity
  • product_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 thePurchasessection 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.
Email (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.

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:

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.

Was this page helpful?

This page was last updated: December 8, 2021