Braze Cloud Mode (Actions) Destination
Additional versions of this destination are available
This page is about the Braze Cloud Mode (Actions) Destination. See below for information about other versions of the Braze destination:
Braze, formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences.
Good to know: This page is about the Actions-framework Braze Segment destination. There’s also a page about the non-Actions Braze destination. Both of these destinations receives data from Segment. There’s also the Braze source, which sends data to Segment!
Benefits of Braze Cloud Mode (Actions) vs Braze Classic
Braze Cloud Mode (Actions) provides the following benefit over Braze Classic:
- E-commerce mappings. Segment implementations that don’t follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can use Event Triggers to log purchases in Braze Cloud Mode (Actions).
Getting Started
- From the Segment web app, click Catalog.
- Search for “Braze” in the Catalog, select Braze Cloud Mode (Actions), and choose which of your sources to connect the destination to.
- Add the following Connection Settings:
- API Key: Created under Developer Console in the Braze Dashboard.
- App ID: The app identifier used to reference specific Apps in requests made to the Braze API. Created under Developer Console in the Braze Dashboard.
- REST Endpoint: Your Braze REST Endpoint. For more information, see API Overview in the Braze documentation.
Braze now supports sending email
as an identifier. Braze requires that you include userId
, braze_id
, or email
for all calls made in cloud-mode. Segment sends a braze_id
if the userId
is missing. When you use a device-mode connection, Braze automatically tracks anonymous activity using the braze_id
if a userId
is missing.
Actions v2
Segment’s introduced the following v2 Actions to add additional functionality to the Braze Cloud Mode (Actions) destination:
These Actions support the following features:
- Sync modes: Control how Segment updates your downstream destination by selecting a sync mode, or a strategy for updating your downstream data.
- Dynamic dropdowns: When creating or updating a mapping in the Segment app, the dropdown auto-populates all of the available properties directly from Braze.
- Create and modify data: Use Sync modes to create objects in your downstream destination without having to leave the Segment app.
You might need to reauthorize your Braze account to use all of the features associated with v2 Actions.
Sync modes
Sync modes allow users to define how Segment should update the data in your destination.
Sync modes available for v2 Actions include:
- Upsert: Update existing records and add new ones, if necessary.
- Add: Add records to a list, segment, or journey.
Destination Settings
Setting | Description |
---|---|
API Key | Required. Created under Developer Console in the Braze Dashboard. |
App ID | The app identifier used to reference specific Apps in requests made to the Braze API. Created under Developer Console in the Braze Dashboard. |
REST Endpoint | Required. Your Braze REST endpoint. See more details |
Available Presets
Braze Cloud Mode (Actions) has the following presets:
Preset Name | Trigger | Default Action |
---|---|---|
Order Completed Calls | Event event = "Order Completed" |
Track Purchase |
Track Calls | Event type = "track" and event != "Order Completed" |
Track Event |
Identify Calls | Event type = "identify" |
Update User Profile |
Available Actions
Build your own Mappings. Combine supported triggers with the following Braze Cloud Mode-supported actions:
Mapping limits per destination
Individual destination instances have support a maximum of 50 mappings.
Update User Profile
Update a user’s profile attributes in Braze
Update User Profile is a Cloud action. The default Trigger is: type = "identify"
Field | Description |
---|---|
External User ID | Type: STRING The unique user identifier |
User Alias Object | Type: OBJECT A user alias object. See the docs. |
Braze User Identifier | Type: STRING The unique user identifier |
Country | Type: STRING The country code of the user |
Current Location | Type: OBJECT The user’s current longitude/latitude. |
Date of First Session | Type: DATETIME The date the user first used the app |
Date of Last Session | Type: DATETIME The date the user last used the app |
Date of Birth | Type: DATETIME The user’s date of birth |
Type: STRING The user’s email |
|
Email Subscribe | Type: STRING The user’s email subscription preference: “opted_in” (explicitly registered to receive email messages), “unsubscribed” (explicitly opted out of email messages), and “subscribed” (neither opted in nor out). |
Email Open Tracking Disabled | Type: BOOLEAN Set to true to disable the open tracking pixel from being added to all future emails sent to this user. |
Email Click Tracking Disabled | Type: BOOLEAN Set to true to disable the click tracking for all links within a future email, sent to this user. |
Facebook Attribution Data | Type: OBJECT Hash of Facebook attribution containing any of |
First Name | Type: STRING The user’s first name |
Gender | Type: STRING The user’s gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown). |
Home City | Type: STRING The user’s home city. |
Image URL | Type: STRING URL of image to be associated with user profile. |
Language | Type: STRING The user’s preferred language. |
Last Name | Type: STRING The user’s last name |
Marked Email as Spam At | Type: DATETIME The date the user marked their email as spam. |
Phone Number | Type: STRING The user’s phone number |
Push Subscribe | Type: STRING The user’s push subscription preference: “opted_in” (explicitly registered to receive push messages), “unsubscribed” (explicitly opted out of push messages), and “subscribed” (neither opted in nor out). |
Push Tokens | Type: OBJECT Array of objects with app_id and token string. You may optionally provide a device_id for the device this token is associated with, e.g., [{“app_id”: App Identifier, “token”: “abcd”, “device_id”: “optional_field_value”}]. If a device_id is not provided, one will be randomly generated. |
Time zone | Type: STRING The user’s time zone name from IANA Time Zone Database (e.g., “America/New_York” or “Eastern Time (US & Canada)”). Only valid time zone values will be set. |
Twitter Attribution Data | Type: OBJECT Hash containing any of id (integer), screen_name (string, Twitter handle), followers_count (integer), friends_count (integer), statuses_count (integer). |
Custom Attributes | Type: OBJECT Hash of custom attributes to send to Braze |
Update Existing Only | Type: BOOLEAN Setting this flag to true will put the API in “Update Only” mode. When using a “user_alias”, “Update Only” mode is always true. |
Batch Data to Braze | Type: BOOLEAN If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. |
Track Event
Record custom events in Braze
Track Event is a Cloud action. The default Trigger is: type = "track" and event != "Order Completed"
Field | Description |
---|---|
External User ID | Type: STRING The unique user identifier |
User Alias Object | Type: OBJECT A user alias object. See the docs. |
Type: STRING The user email |
|
Braze User Identifier | Type: STRING The unique user identifier |
Event Name* | Type: STRING The event name |
Time* | Type: DATETIME When the event occurred. |
Event Properties | Type: OBJECT Properties of the event |
Update Existing Only | Type: BOOLEAN Setting this flag to true will put the API in “Update Only” mode. When using a “user_alias”, “Update Only” mode is always true. |
Batch Data to Braze | Type: BOOLEAN If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. |
Track Purchase
Record purchases in Braze
Track Purchase is a Cloud action. The default Trigger is: event = "Order Completed"
Field | Description |
---|---|
External User ID | Type: STRING The unique user identifier |
User Alias Object | Type: OBJECT A user alias object. See the docs. |
Type: STRING The user email |
|
Braze User Identifier | Type: STRING The unique user identifier |
Time* | Type: DATETIME When the event occurred. |
Products* | Type: OBJECT Products purchased |
Event Properties | Type: OBJECT Properties of the event |
Update Existing Only | Type: BOOLEAN Setting this flag to true will put the API in “Update Only” mode. When using a “user_alias”, “Update Only” mode is always true. |
Batch Data to Braze | Type: BOOLEAN If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. |
Debounce Middleware
When enabled, it ensures that only events where at least one changed trait value are sent to Braze, and events with duplicate traits are not sent. Debounce functionality requires a frontend client to work. Therefore, it cannot be used with server-side libraries or with Engage.
Debounce Middleware is a Web action. The default Trigger is: type = "identify" or type = "group"
This action does not have any fields.
Identify User
Identifies an unidentified (alias-only) user. Use alongside the Create Alias action, or with user aliases you have already defined.
Identify User is a Cloud action.
Field | Description |
---|---|
External ID* | Type: STRING The external ID of the user to identify. |
User Alias Object* | Type: OBJECT A user alias object. See the docs. |
Merge Behavior | Type: STRING Sets the endpoint to merge some fields found exclusively on the anonymous user to the identified user. See the docs. |
Create Alias
Create new user aliases for existing identified users, or to create new unidentified users.
Create Alias is a Cloud action. The default Trigger is: event = "Create Alias"
Field | Description |
---|---|
External ID | Type: STRING The external ID of the user to create an alias for. |
Alias Name* | Type: STRING The alias identifier |
Alias Label* | Type: STRING A label indicating the type of alias |
Update User Profile V2
Update a user’s profile attributes in Braze
Update User Profile V2 is a Cloud action. The default Trigger is: type = "identify"
Field | Description |
---|---|
External User ID | Type: STRING The unique user identifier |
User Alias Object | Type: OBJECT A user alias object. See the docs. |
Braze User Identifier | Type: STRING The unique user identifier |
Country | Type: STRING The country code of the user |
Current Location | Type: OBJECT The user’s current longitude/latitude. |
Date of First Session | Type: DATETIME The date the user first used the app |
Date of Last Session | Type: DATETIME The date the user last used the app |
Date of Birth | Type: DATETIME The user’s date of birth |
Type: STRING The user’s email |
|
Email Subscribe | Type: STRING The user’s email subscription preference: “opted_in” (explicitly registered to receive email messages), “unsubscribed” (explicitly opted out of email messages), and “subscribed” (neither opted in nor out). |
Email Open Tracking Disabled | Type: BOOLEAN Set to true to disable the open tracking pixel from being added to all future emails sent to this user. |
Email Click Tracking Disabled | Type: BOOLEAN Set to true to disable the click tracking for all links within a future email, sent to this user. |
Facebook Attribution Data | Type: OBJECT Hash of Facebook attribution containing any of |
First Name | Type: STRING The user’s first name |
Gender | Type: STRING The user’s gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown). |
Home City | Type: STRING The user’s home city. |
Image URL | Type: STRING URL of image to be associated with user profile. |
Language | Type: STRING The user’s preferred language. |
Last Name | Type: STRING The user’s last name |
Marked Email as Spam At | Type: DATETIME The date the user marked their email as spam. |
Phone Number | Type: STRING The user’s phone number |
Push Subscribe | Type: STRING The user’s push subscription preference: “opted_in” (explicitly registered to receive push messages), “unsubscribed” (explicitly opted out of push messages), and “subscribed” (neither opted in nor out). |
Push Tokens | Type: OBJECT Array of objects with app_id and token string. You may optionally provide a device_id for the device this token is associated with, e.g., [{“app_id”: App Identifier, “token”: “abcd”, “device_id”: “optional_field_value”}]. If a device_id is not provided, one will be randomly generated. |
Time zone | Type: STRING The user’s time zone name from IANA Time Zone Database (e.g., “America/New_York” or “Eastern Time (US & Canada)”). Only valid time zone values will be set. |
Twitter Attribution Data | Type: OBJECT Hash containing any of id (integer), screen_name (string, Twitter handle), followers_count (integer), friends_count (integer), statuses_count (integer). |
Custom Attributes | Type: OBJECT Hash of custom attributes to send to Braze |
Batch Data to Braze | Type: BOOLEAN If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. |
Track Event V2
Record custom events in Braze
Track Event V2 is a Cloud action. The default Trigger is: type = "track" and event != "Order Completed"
Field | Description |
---|---|
External User ID | Type: STRING The unique user identifier |
User Alias Object | Type: OBJECT A user alias object. See the docs. |
Type: STRING The user email |
|
Braze User Identifier | Type: STRING The unique user identifier |
Event Name* | Type: STRING The event name |
Time* | Type: DATETIME When the event occurred. |
Event Properties | Type: OBJECT Properties of the event |
Batch Data to Braze | Type: BOOLEAN If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. |
Identify User V2
Identifies an unidentified (alias-only) user. Use alongside the Create Alias action, or with user aliases you have already defined.
Identify User V2 is a Cloud action.
Field | Description |
---|---|
External ID* | Type: STRING The external ID of the user to identify. |
User Alias Object* | Type: OBJECT A user alias object. See the docs. |
Merge Behavior | Type: STRING Sets the endpoint to merge some fields found exclusively on the anonymous user to the identified user. See the docs. |
Create Alias V2
Create new user aliases for existing identified users, or to create new unidentified users.
Create Alias V2 is a Cloud action. The default Trigger is: event = "Create Alias"
Field | Description |
---|---|
External ID | Type: STRING The external ID of the user to create an alias for. |
Alias Name* | Type: STRING The alias identifier |
Alias Label* | Type: STRING A label indicating the type of alias |
Track Purchase V2
Record purchases in Braze
Track Purchase V2 is a Cloud action. The default Trigger is: event = "Order Completed"
Field | Description |
---|---|
External User ID | Type: STRING The unique user identifier |
User Alias Object | Type: OBJECT A user alias object. See the docs. |
Type: STRING The user email |
|
Braze User Identifier | Type: STRING The unique user identifier |
Time* | Type: DATETIME When the event occurred. |
Products* | Type: OBJECT Products purchased |
Event Properties | Type: OBJECT Properties of the event |
Batch Data to Braze | Type: BOOLEAN If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. |
Migration from Braze Classic
Keep the following in mind if you plan to move to Braze (Actions) from the classic Braze destination.
Braze-cloud settings mapping
braze-cloud Classic Destination Setting | How to enable in braze-cloud (Actions) | |
---|---|---|
Connection Settings | ||
App Identifier Cloud Device-web |
This setting is not necessary in Braze Web Mode (Actions). |
|
REST API Key Cloud |
This setting is renamed API Key, and is available during initial configuration, or on the Settings tab after configuration. |
|
Custom API Endpoint Device-web |
This setting is not needed in Braze Web Mode (Actions). |
|
Appboy Datacenter Cloud |
This setting is covered by the REST API Endpoint |
|
Log Purchase when Revenue is present Device-web |
Modify the Trigger for the Track Purchase action to recreate this behavior in Braze (Actions). By default, events named “Order Completed” trigger this action, but you can update the Trigger to check for a property named |
|
Custom REST API Endpoint Cloud |
Select from the available REST Endpoints during initial configuration, or on the Destination’s Settings tab. |
|
Safari Website Push ID Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Braze Web SDK Version Device-web |
Hardcoded to version #.## |
|
Connection Mode Cloud Device-web |
Choose the version of the Braze (Actions) destination that matches your connection mode. |
|
In-App Messaging | ||
Enable Automatic In-App Message Registration Device-web |
Unsupported, available only on Mobile. |
|
Automatically send In-App Messages Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Do Not Load Font Awesome Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Enable HTML In-App Messages Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Open In-App Messages in New Tab Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Page | ||
Track All Pages Device-web |
Track Custom Event action Trigger the action on Page calls. |
|
Track Only Named Pages Device-web |
Track Custom Event action Trigger the action on Page calls where the |
|
Other Settings | ||
Allow Crawler Activity Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Enable Logging Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Minimum Interval Between Trigger Actions in Seconds Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Only Track Known Users Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Open News Feed Cards in New Tab Device-web |
Available as a setting in Braze Web Mode (Actions) |
|
Session Timeout in Seconds Device-web |
Available as a setting in Braze Web Mode (Actions) |
Troubleshooting
Missing required fields
Braze requires one of either external_id
, user_alias
, or braze_id
to be present in all events sent. If events are failing to send, please check your event mappings to make sure these fields are resolving to valid values.
Missing events
When an event is sent under an alias, the event may seem to be missing when the alias cannot be found in Braze. This may be due to incorrect search for the alias in Braze. To search for an alias in Braze, use the format “Alias Label:Alias Name”. For example, if the “Alias Label” field is set as email and “Alias Name” field is set as email address (for example: “test@email.com”), use “email:test@email.com” to search for the alias in Braze.
This page was last modified: 17 Oct 2024
Need support?
Questions? Problems? Need more info? Contact Segment Support for assistance!