Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Braze Cloud-Mode (Actions) Destination


Destination Info
  • Accepts Page, Alias, Group, Identify and Track calls.
  • Refer to it as Braze Cloud Mode (Actions) in the Integrations object
Components
  • Server
Connection Modes
Device-modeCloud-mode
Web Web
Mobile Mobile
Server Server
(information)

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(link takes you to an external page), formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences.

(information)

This page is about Braze Cloud-mode (Actions)

This page is about the Actions-framework Braze Segment destination. For the non-Actions Braze destination, see the relevant documentation.

Both destinations receive data from Segment. For the Braze source, that sends data to Segment, see the Braze source docs.


Benefits of Braze Cloud-Mode (Actions) vs Braze (Classic)

benefits-of-braze-cloud-mode-actions-vs-braze-classic page anchor

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).

  1. From the Segment web app, navigate to Connections > Catalog.
  2. Search for "Braze" in the Catalog in the Destinations Catalog and select Braze.
  3. Choose which of your sources to connect the destination to and follow the steps to create your destination.
  4. In the Settings tab, 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(link takes you to an external page) in the Braze documentation.
(information)

Identifier requirements

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.


Segment's introduced the following v2 Actions to add 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.
(warning)

Reauthorization might be required

You might need to reauthorize your Braze account to use all of the features associated with v2 Actions.

Sync modes

sync-modes page anchor

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.

Property nameTypeRequiredDescription
API Keypassword
required

Created under Developer Console in the Braze Dashboard.


App IDstring

Optional

The app identifier used to reference specific Apps in requests made to the Braze API. Created under Developer Console in the Braze Dashboard.


REST Endpointselect
required

Braze Cloud Mode (Actions) has the following presets

Preset NameTriggerDefault Action
Order Completed CallsEvent event = "Order Completed"Track Purchase
Identify CallsEvent type = "identify"Update User Profile
Track CallsEvent type = "track" and event != "Order Completed"Track Event

Build your own Mappings. Combine supported triggers with the following Braze Cloud Mode-supported actions:

(information)

Mapping limits per destination

Individual destination instances have support a maximum of 50 mappings.

Update a user's profile attributes in Braze

Update User Profile is a Cloud action. The default Trigger is type = "identify"

Property nameTypeRequiredDescription
External User IDSTRING

Optional

The unique user identifier


User Alias ObjectOBJECT

Optional


Braze User IdentifierSTRING

Optional

The unique user identifier


CountrySTRING

Optional

The country code of the user


Current LocationOBJECT

Optional

The user's current longitude/latitude.


Date of First SessionDATETIME

Optional

The date the user first used the app


Date of Last SessionDATETIME

Optional

The date the user last used the app


Date of BirthDATETIME

Optional

The user's date of birth


EmailSTRING

Optional

The user's email


Email SubscribeSTRING

Optional

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 DisabledBOOLEAN

Optional

Set to true to disable the open tracking pixel from being added to all future emails sent to this user.


Email Click Tracking DisabledBOOLEAN

Optional

Set to true to disable the click tracking for all links within a future email, sent to this user.


Facebook Attribution DataOBJECT

Optional

Hash of Facebook attribution containing any of id (string), likes (array of strings), num_friends (integer).


First NameSTRING

Optional

The user's first name


GenderSTRING

Optional

The user's gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown).


Home CitySTRING

Optional

The user's home city.


Image URLSTRING

Optional

URL of image to be associated with user profile.


LanguageSTRING

Optional

The user's preferred language.


Last NameSTRING

Optional

The user's last name


Marked Email as Spam AtDATETIME

Optional

The date the user marked their email as spam.


Phone NumberSTRING

Optional

The user's phone number


Push SubscribeSTRING

Optional

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 TokensOBJECT

Optional

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 zoneSTRING

Optional

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 DataOBJECT

Optional

Hash containing any of id (integer), screen_name (string, Twitter handle), followers_count (integer), friends_count (integer), statuses_count (integer).


Custom AttributesOBJECT

Optional

Hash of custom attributes to send to Braze


Update Existing OnlyBOOLEAN

Optional

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 BrazeBOOLEAN

Optional

If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.

Record custom events in Braze

Track Event is a Cloud action. The default Trigger is type = "track" and event != "Order Completed"

Property nameTypeRequiredDescription
External User IDSTRING

Optional

The unique user identifier


User Alias ObjectOBJECT

Optional


EmailSTRING

Optional

The user email


Braze User IdentifierSTRING

Optional

The unique user identifier


Event NameSTRING
required

The event name


TimeDATETIME
required

When the event occurred.


Event PropertiesOBJECT

Optional

Properties of the event


Update Existing OnlyBOOLEAN

Optional

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 BrazeBOOLEAN

Optional

If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.

Record purchases in Braze

Track Purchase is a Cloud action. The default Trigger is event = "Order Completed"

Property nameTypeRequiredDescription
External User IDSTRING

Optional

The unique user identifier


User Alias ObjectOBJECT

Optional


EmailSTRING

Optional

The user email


Braze User IdentifierSTRING

Optional

The unique user identifier


TimeDATETIME
required

When the event occurred.


ProductsOBJECT
required

Products purchased


Event PropertiesOBJECT

Optional

Properties of the event


Update Existing OnlyBOOLEAN

Optional

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 BrazeBOOLEAN

Optional

If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.

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.

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.

Property nameTypeRequiredDescription
External IDSTRING
required

The external ID of the user to identify.


User Alias ObjectOBJECT
required

Merge BehaviorSTRING

Optional

Sets the endpoint to merge some fields found exclusively on the anonymous user to the identified user. See the docs(link takes you to an external page).

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"

Property nameTypeRequiredDescription
External IDSTRING

Optional

The external ID of the user to create an alias for.


Alias NameSTRING
required

The alias identifier


Alias LabelSTRING
required

A label indicating the type of alias

Update a user's profile attributes in Braze

Update User Profile V2 is a Cloud action. The default Trigger is type = "identify"

Property nameTypeRequiredDescription
External User IDSTRING

Optional

The unique user identifier


User Alias ObjectOBJECT

Optional


Braze User IdentifierSTRING

Optional

The unique user identifier


CountrySTRING

Optional

The country code of the user


Current LocationOBJECT

Optional

The user's current longitude/latitude.


Date of First SessionDATETIME

Optional

The date the user first used the app


Date of Last SessionDATETIME

Optional

The date the user last used the app


Date of BirthDATETIME

Optional

The user's date of birth


EmailSTRING

Optional

The user's email


Email SubscribeSTRING

Optional

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 DisabledBOOLEAN

Optional

Set to true to disable the open tracking pixel from being added to all future emails sent to this user.


Email Click Tracking DisabledBOOLEAN

Optional

Set to true to disable the click tracking for all links within a future email, sent to this user.


Facebook Attribution DataOBJECT

Optional

Hash of Facebook attribution containing any of id (string), likes (array of strings), num_friends (integer).


First NameSTRING

Optional

The user's first name


GenderSTRING

Optional

The user's gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown).


Home CitySTRING

Optional

The user's home city.


Image URLSTRING

Optional

URL of image to be associated with user profile.


LanguageSTRING

Optional

The user's preferred language.


Last NameSTRING

Optional

The user's last name


Marked Email as Spam AtDATETIME

Optional

The date the user marked their email as spam.


Phone NumberSTRING

Optional

The user's phone number


Push SubscribeSTRING

Optional

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 TokensOBJECT

Optional

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 zoneSTRING

Optional

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 DataOBJECT

Optional

Hash containing any of id (integer), screen_name (string, Twitter handle), followers_count (integer), friends_count (integer), statuses_count (integer).


Custom AttributesOBJECT

Optional

Hash of custom attributes to send to Braze


Batch Data to BrazeBOOLEAN

Optional

If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.

Record custom events in Braze

Track Event V2 is a Cloud action. The default Trigger is type = "track" and event != "Order Completed"

Property nameTypeRequiredDescription
External User IDSTRING

Optional

The unique user identifier


User Alias ObjectOBJECT

Optional


EmailSTRING

Optional

The user email


Braze User IdentifierSTRING

Optional

The unique user identifier


Event NameSTRING
required

The event name


TimeDATETIME
required

When the event occurred.


Event PropertiesOBJECT

Optional

Properties of the event


Batch Data to BrazeBOOLEAN

Optional

If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.

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.

Property nameTypeRequiredDescription
External IDSTRING
required

The external ID of the user to identify.


User Alias ObjectOBJECT

Optional


Email to IdentifySTRING

Optional

Email address to identify user.


PrioritizationOBJECT

Optional

Prioritization settings for user merging if multiple users are found. Required when email_to_identify is provided.


Merge BehaviorSTRING

Optional

Sets the endpoint to merge some fields found exclusively on the anonymous user to the identified user. See the docs(link takes you to an external page).

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"

Property nameTypeRequiredDescription
External IDSTRING

Optional

The external ID of the user to create an alias for.


Alias NameSTRING
required

The alias identifier


Alias LabelSTRING
required

A label indicating the type of alias

Record purchases in Braze

Track Purchase V2 is a Cloud action. The default Trigger is event = "Order Completed"

Property nameTypeRequiredDescription
External User IDSTRING

Optional

The unique user identifier


User Alias ObjectOBJECT

Optional


EmailSTRING

Optional

The user email


Braze User IdentifierSTRING

Optional

The unique user identifier


TimeDATETIME
required

When the event occurred.


ProductsOBJECT
required

Products purchased


Event PropertiesOBJECT

Optional

Properties of the event


Batch Data to BrazeBOOLEAN

Optional

If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.

Trigger a Braze Campaign via API-triggered delivery

Trigger Campaign is a Cloud action. The default Trigger is type = "track"

Property nameTypeRequiredDescription
Campaign IDSTRING
required

The ID of the Braze campaign to trigger. The campaign must be an API-triggered campaign created in Braze.


Send IDSTRING

Optional

Optional string to identify the send. This can be used for send level analytics, or to cancel a send.


Trigger PropertiesOBJECT

Optional

Optional data that will be used to personalize the campaign message. Personalization key-value pairs that will apply to all users in this request.


BroadcastBOOLEAN

Optional

If set to true, and if the audience is not provided, the campaign will be sent to all the users in the segment targeted by the campaign. It can not be used with "recipients".


AttachmentsOBJECT

Optional

Attachments to send along with the campaign. Limited to 2MB per file.


RecipientsOBJECT

Optional

An array of user identifiers to send the campaign to. It can not be used with "broadcast".


PrioritizationOBJECT

Optional

Prioritization settings; required when using email in recipients. This prioritization will be applied to all recipients.


AudienceOBJECT

Optional

A standard audience object to specify the users to send the campaign to. Including "audience" will only send to users in the audience

Upserts or deletes items in a catalog

Upsert Catalog Item is a Cloud action.

Property nameTypeRequiredDescription
Catalog item to upsertOBJECT

Optional

The item to upsert in the catalog. The item object should contain fields that exist in the catalog. The item object should not contain the id field.


Item IDSTRING
required

The unique identifier for the item. Maximum 250 characters. Supported characters: letters, numbers, hyphens, and underscores.


Batch Data to Braze?BOOLEAN

Optional

If true, Segment will batch events before sending to Braze.


OperationSTRING
required

Whether to select an existing catalog or create a new one in Braze.


Catalog NameSTRING

Optional

The unique name of the catalog.


Catalog NameSTRING

Optional

The name of the catalog. Must be unique. Maximum 250 characters. Supported characters: letters, numbers, hyphens, and underscores.


Catalog DescriptionSTRING

Optional

The description of the catalog. Maximum 250 characters.


Catalog FieldsOBJECT

Optional

A list of fields to create in the catalog. Maximum 500 fields. ID field is added by default.


Select or Create a CatalogOBJECT

Optional

Select an existing catalog or create a new one in Braze.

Trigger a Braze Canvas to deliver a cross-channel message to the specified user.

Trigger Canvas is a Cloud action. The default Trigger is type = "track"

Property nameTypeRequiredDescription
Canvas IDSTRING
required

The ID of the canvas to trigger. The canvas must be API-triggered and the status must be "Draft" or "Active".


Canvas Entry PropertiesOBJECT

Optional

Optional data that will be used to personalize the canvas message. Personalization key-value pairs that will apply to all users in this request.


BroadcastBOOLEAN

Optional

If set to true, the canvas will be sent to all the users in the segment targeted by the canvas. It cannot be used with "recipients".


RecipientsOBJECT

Optional

An array of user identifiers to send the canvas to. It cannot be used with "broadcast".


PrioritizationOBJECT

Optional

Prioritization settings; required when using email in recipients. This prioritization will be applied to all recipients.


AudienceOBJECT

Optional

A standard audience object to specify the users to send the canvas to. Including "audience" will only send to users in the audience


Migration from Braze Classic

migration-from-braze-classic page anchor

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 SettingHow to enable in Braze-cloud (Actions)
CONNECTION SETTINGS
REST API Key
cloud

This setting is renamed API Key, and is available during initial configuration, or on the Settings tab after configuration.

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 revenue. The event must have a products array with product_id and price.

Custom REST API Endpoint
cloud

Select from the available REST Endpoints during initial configuration, or on the Destination's Settings tab.

Connection Mode
clouddevice-web

Choose the version of the Braze (Actions) destination that matches your connection mode.

IN-APP MESSAGING
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 name property exists.

OTHER SETTINGS

Missing required fields
missing-required-fields page anchor

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, check your event mappings to make sure these fields are resolving to valid values.

Missing events

missing-events page anchor

When an event is sent under an alias, it might appear to be missing if the alias cannot be found in Braze. This might be due to an 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", you should search for the alias using "email:test@email.com".