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 requires that you include a userId or braze_id 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.
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: STRINGThe unique user identifier |
| User Alias Object | Type: OBJECTA user alias object. See the docs. |
| Braze User Identifier | Type: STRINGThe unique user identifier |
| Country | Type: STRINGThe country code of the user |
| Current Location | Type: OBJECTThe user’s current longitude/latitude. |
| Date of First Session | Type: DATETIMEThe date the user first used the app |
| Date of Last Session | Type: DATETIMEThe date the user last used the app |
| Date of Birth | Type: DATETIMEThe user’s date of birth |
Type: STRINGThe user’s email |
|
| Email Subscribe | Type: STRINGThe 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: BOOLEANSet to true to disable the open tracking pixel from being added to all future emails sent to this user. |
| Email Click Tracking Disabled | Type: BOOLEANSet to true to disable the click tracking for all links within a future email, sent to this user. |
| Facebook Attribution Data | Type: OBJECTHash of Facebook attribution containing any of |
| First Name | Type: STRINGThe user’s first name |
| Gender | Type: STRINGThe user’s gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown). |
| Home City | Type: STRINGThe user’s home city. |
| Image URL | Type: STRINGURL of image to be associated with user profile. |
| Language | Type: STRINGThe user’s preferred language. |
| Last Name | Type: STRINGThe user’s last name |
| Marked Email as Spam At | Type: DATETIMEThe date the user marked their email as spam. |
| Phone Number | Type: STRINGThe user’s phone number |
| Push Subscribe | Type: STRINGThe 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: OBJECTArray 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: STRINGThe 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: OBJECTHash containing any of id (integer), screen_name (string, Twitter handle), followers_count (integer), friends_count (integer), statuses_count (integer). |
| Custom Attributes | Type: OBJECTHash of custom attributes to send to Braze |
| Update Existing Only | Type: BOOLEANSetting 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: BOOLEANIf 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: STRINGThe unique user identifier |
| User Alias Object | Type: OBJECTA user alias object. See the docs. |
Type: STRINGThe user email |
|
| Braze User Identifier | Type: STRINGThe unique user identifier |
| Event Name* | Type: STRINGThe event name |
| Time* | Type: DATETIMEWhen the event occurred. |
| Event Properties | Type: OBJECTProperties of the event |
| Update Existing Only | Type: BOOLEANSetting 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: BOOLEANIf 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: STRINGThe unique user identifier |
| User Alias Object | Type: OBJECTA user alias object. See the docs. |
Type: STRINGThe user email |
|
| Braze User Identifier | Type: STRINGThe unique user identifier |
| Time* | Type: DATETIMEWhen the event occurred. |
| Products* | Type: OBJECTProducts purchased |
| Event Properties | Type: OBJECTProperties of the event |
| Update Existing Only | Type: BOOLEANSetting 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: BOOLEANIf 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: STRINGThe external ID of the user to identify. |
| User Alias Object* | Type: OBJECTA user alias object. See the docs. |
| Merge Behavior | Type: STRINGSets 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: STRINGThe external ID of the user to create an alias for. |
| Alias Name* | Type: STRINGThe alias identifier |
| Alias Label* | Type: STRINGA label indicating the type of alias |
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: 05 Aug 2024
Need support?
Questions? Problems? Need more info? Contact Segment Support for assistance!