# Braze Cloud-Mode (Actions) Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Braze Cloud Mode (Actions)** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)

### Components

* Server

## Connection Modes

[Learn more about connection modes.](/docs/segment/connections/destinations/#connection-modes)

### Device-Mode

* web: no
* mobile: no
* server: no

### Cloud-Mode

* web: yes
* mobile: yes
* server: yes

> \[!NOTE]
>
> This page is about the Braze Cloud-Mode (Actions) Destination. See below for information about other versions of the Braze destination:
>
> * [Braze Web-Mode (Actions)](/docs/segment/connections/destinations/catalog/actions-braze-web/)
> * [Braze (Classic)](/docs/segment/connections/destinations/catalog/braze)

[Braze](https://www.braze.com/), formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences.

> \[!NOTE]
>
> This page is about the [Actions-framework](/docs/segment/connections/destinations/actions/) Braze Segment destination. For the non-Actions Braze destination, see [the relevant documentation](/docs/segment/connections/destinations/catalog/braze/).
>
> Both destinations receive data *from* Segment. For the Braze source, that sends data *to* Segment, see [the Braze source docs](/docs/segment/connections/sources/catalog/cloud-apps/braze/).

## 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

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](https://www.braze.com/docs/api/basics/) in the Braze documentation.

> \[!NOTE]
>
> 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 functionality to the Braze cloud-mode (Actions) destination:

* [Update User Profile v2](#update-user-profile-v2)
* [Track Event v2](#track-event-v2)
* [Identify User v2](#identify-user-v2)
* [Create Alias v2](#create-alias-v2)
* [Track Purchase v2](#track-purchase-v2)

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

## Braze Ecommerce Recommended events (beta)

Braze now recommends sending ecommerce events using the new Braze [Ecommerce Recommended events](https://www.braze.com/docs/user_guide/data/activation/custom_data/recommended_events) API.
Segment has added support, currently in beta, to send to the following Braze Ecommerce Recommended events:

* `ecommerce.order_placed`, using the `Order Placed (beta)` Preset.
* `ecommerce.checkout_started`, using the `Checkout Started (beta)` Preset.
* `ecommerce.order_refunded`, using the `Order Refunded (beta)` Preset.
* `ecommerce.order_cancelled`, using the `Order Cancelled (beta)` Preset.
* `ecommerce.product_viewed`, using the `Product Viewed (beta)` Preset.

Segment does not yet support Braze's `ecommerce.product_viewed` event.

Segment purchase events can still be sent to Braze using the `Track Purchase V2` Action, though this does not send to the [Braze Recommended Ecommerce Order Placed](https://www.braze.com/docs/user_guide/data/activation/custom_data/recommended_events/ecommerce_events/?tab=ecommerce.order_placed) event.

## Destination Settings

| Field         | Description                                                                                                                                   | Required | Type     |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| API Key       | Created under Developer Console in the Braze Dashboard.                                                                                       | Yes      | password |
| 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. | No       | string   |
| REST Endpoint | Your Braze REST endpoint. \[See more details]\(https://www.braze.com/docs/api/basics/#endpoints)                                              | Yes      | select   |

## Available Presets

Braze Cloud Mode (Actions) has the following presets

| Preset Name             | Trigger                                                                                                                                                                        | Default Action                   |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- |
| Checkout Started (beta) | Event event = "Checkout Started"                                                                                                                                               | Ecommerce Event (multi product)  |
| Product Viewed (beta)   | Event event = "Product Viewed"                                                                                                                                                 | Ecommerce Event (single product) |
| Identify Calls          | Event type = "identify"                                                                                                                                                        | Update User Profile              |
| Order Placed (beta)     | Event event = "Order Completed"                                                                                                                                                | Ecommerce Event (multi product)  |
| Track Calls             | Event type = "track" and event != "Order Completed" and event != "Checkout Started" and event != "Order Refunded" and event != "Order Cancelled" and event != "Product Viewed" | Track Event                      |
| Order Refunded (beta)   | Event event = "Order Refunded"                                                                                                                                                 | Ecommerce Event (multi product)  |
| Order Cancelled (beta)  | Event event = "Order Cancelled"                                                                                                                                                | Ecommerce Event (multi product)  |

## Available Actions

Build your own Mappings. Combine supported [triggers](/docs/segment/connections/destinations/actions/#components-of-a-destination-action) with the following Braze Cloud Mode-supported actions:

> \[!NOTE]
>
> Individual destination instances have support a maximum of 50 mappings.

* [Update User Profile](#update-user-profile-1)
* [Track Event](#track-event-40)
* [Track Purchase](#track-purchase-5)
* [Debounce Middleware](#debounce-middleware-1)
* [Identify User](#identify-user-24)
* [Create Alias](#create-alias)
* [Update User Profile V2](#update-user-profile-v2)
* [Track Event V2](#track-event-v2-2)
* [Identify User V2](#identify-user-v2-2)
* [Create Alias V2](#create-alias-v2)
* [Track Purchase V2](#track-purchase-v2)
* [Trigger Campaign](#trigger-campaign)
* [Upsert Catalog Item](#upsert-catalog-item)
* [Trigger Canvas](#trigger-canvas)
* [Ecommerce Event (single product)](#ecommerce-event-single-product)
* [Ecommerce Event (multi product)](#ecommerce-event-multi-product)

### 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                                                                                                                                                                                                                                                                                            | Required | Type     |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | -------- |
| External User ID              | The unique user identifier                                                                                                                                                                                                                                                                             | No       | STRING   |
| User Alias Object             | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                                                                                                                                                                                           | No       | OBJECT   |
| Braze User Identifier         | The unique user identifier                                                                                                                                                                                                                                                                             | No       | STRING   |
| Country                       | The country code of the user                                                                                                                                                                                                                                                                           | No       | STRING   |
| Current Location              | The user's current longitude/latitude.                                                                                                                                                                                                                                                                 | No       | OBJECT   |
| Date of First Session         | The date the user first used the app                                                                                                                                                                                                                                                                   | No       | DATETIME |
| Date of Last Session          | The date the user last used the app                                                                                                                                                                                                                                                                    | No       | DATETIME |
| Date of Birth                 | The user's date of birth                                                                                                                                                                                                                                                                               | No       | DATETIME |
| Email                         | The user's email                                                                                                                                                                                                                                                                                       | No       | STRING   |
| Email Subscribe               | 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).                                                                                         | No       | STRING   |
| Email Open Tracking Disabled  | Set to true to disable the open tracking pixel from being added to all future emails sent to this user.                                                                                                                                                                                                | No       | BOOLEAN  |
| Email Click Tracking Disabled | Set to true to disable the click tracking for all links within a future email, sent to this user.                                                                                                                                                                                                      | No       | BOOLEAN  |
| Facebook Attribution Data     | Hash of Facebook attribution containing any of \`id\` (string), \`likes\` (array of strings), \`num\_friends\` (integer).                                                                                                                                                                              | No       | OBJECT   |
| First Name                    | The user's first name                                                                                                                                                                                                                                                                                  | No       | STRING   |
| Gender                        | The user's gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown).                                                                                                                                                                                              | No       | STRING   |
| Home City                     | The user's home city.                                                                                                                                                                                                                                                                                  | No       | STRING   |
| Image URL                     | URL of image to be associated with user profile.                                                                                                                                                                                                                                                       | No       | STRING   |
| Language                      | The user's preferred language.                                                                                                                                                                                                                                                                         | No       | STRING   |
| Last Name                     | The user's last name                                                                                                                                                                                                                                                                                   | No       | STRING   |
| Marked Email as Spam At       | The date the user marked their email as spam.                                                                                                                                                                                                                                                          | No       | DATETIME |
| Phone Number                  | The user's phone number                                                                                                                                                                                                                                                                                | No       | STRING   |
| Push Subscribe                | 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).                                                                                            | No       | STRING   |
| Push Tokens                   | 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. | No       | OBJECT   |
| Time zone                     | 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.                                                                                                                                          | No       | STRING   |
| Twitter Attribution Data      | Hash containing any of id (integer), screen\_name (string, Twitter handle), followers\_count (integer), friends\_count (integer), statuses\_count (integer).                                                                                                                                           | No       | OBJECT   |
| Subscription Groups           | Array of objects used to manage a user's subscription status for specific subscription groups.                                                                                                                                                                                                         | No       | OBJECT   |
| Custom Attributes             | Hash of custom attributes to send to Braze                                                                                                                                                                                                                                                             | No       | OBJECT   |
| Update Existing Only          | Setting this flag to true will put the API in "Update Only" mode. When using a "user\_alias", "Update Only" mode is always true.                                                                                                                                                                       | No       | BOOLEAN  |
| Batch Data to Braze           | If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.                                                                                                                                                                            | No       | BOOLEAN  |

### 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                                                                                                                      | Required | Type     |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| External User ID      | The unique user identifier                                                                                                       | No       | STRING   |
| User Alias Object     | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                     | No       | OBJECT   |
| Email                 | The user email                                                                                                                   | No       | STRING   |
| Braze User Identifier | The unique user identifier                                                                                                       | No       | STRING   |
| Event Name            | The event name                                                                                                                   | Yes      | STRING   |
| Time                  | When the event occurred.                                                                                                         | Yes      | DATETIME |
| Event Properties      | Properties of the event                                                                                                          | No       | OBJECT   |
| Update Existing Only  | Setting this flag to true will put the API in "Update Only" mode. When using a "user\_alias", "Update Only" mode is always true. | No       | BOOLEAN  |
| Batch Data to Braze   | If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.      | No       | BOOLEAN  |

### Track Purchase

Records purchases in Braze. Consider using the **"Order Placed (beta)"** mapping instead, which uses Braze's newer, preferred method that maps to Braze's [Ecommerce Recommended Order Placed event](https://www.braze.com/docs/user_guide/data/activation/custom_data/recommended_events/ecommerce_events/?tab=ecommerce.order_placed).

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

| Field                 | Description                                                                                                                      | Required | Type     |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| External User ID      | The unique user identifier                                                                                                       | No       | STRING   |
| User Alias Object     | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                     | No       | OBJECT   |
| Email                 | The user email                                                                                                                   | No       | STRING   |
| Braze User Identifier | The unique user identifier                                                                                                       | No       | STRING   |
| Time                  | When the event occurred.                                                                                                         | Yes      | DATETIME |
| Products              | Products purchased                                                                                                               | Yes      | OBJECT   |
| Event Properties      | Properties of the event                                                                                                          | No       | OBJECT   |
| Update Existing Only  | Setting this flag to true will put the API in "Update Only" mode. When using a "user\_alias", "Update Only" mode is always true. | No       | BOOLEAN  |
| Batch Data to Braze   | If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.      | No       | BOOLEAN  |

### 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                                                                                                                                                                                                            | Required | Type   |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| External ID       | The external ID of the user to identify.                                                                                                                                                                               | Yes      | STRING |
| User Alias Object | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                                                                                                           | Yes      | OBJECT |
| Merge Behavior    | Sets the endpoint to merge some fields found exclusively on the anonymous user to the identified user. See \[the docs]\(https://www.braze.com/docs/api/endpoints/user\_data/post\_user\_identify/#request-parameters). | No       | STRING |

### 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                                         | Required | Type   |
| ----------- | --------------------------------------------------- | -------- | ------ |
| External ID | The external ID of the user to create an alias for. | No       | STRING |
| Alias Name  | The alias identifier                                | Yes      | STRING |
| Alias Label | A label indicating the type of alias                | Yes      | STRING |

### 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                                                                                                                                                                                                                                                                                            | Required | Type     |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | -------- |
| External User ID              | The unique user identifier                                                                                                                                                                                                                                                                             | No       | STRING   |
| User Alias Object             | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                                                                                                                                                                                           | No       | OBJECT   |
| Braze User Identifier         | The unique user identifier                                                                                                                                                                                                                                                                             | No       | STRING   |
| Country                       | The country code of the user                                                                                                                                                                                                                                                                           | No       | STRING   |
| Current Location              | The user's current longitude/latitude.                                                                                                                                                                                                                                                                 | No       | OBJECT   |
| Date of First Session         | The date the user first used the app                                                                                                                                                                                                                                                                   | No       | DATETIME |
| Date of Last Session          | The date the user last used the app                                                                                                                                                                                                                                                                    | No       | DATETIME |
| Date of Birth                 | The user's date of birth                                                                                                                                                                                                                                                                               | No       | DATETIME |
| Email                         | The user's email                                                                                                                                                                                                                                                                                       | No       | STRING   |
| Email Subscribe               | 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).                                                                                         | No       | STRING   |
| Email Open Tracking Disabled  | Set to true to disable the open tracking pixel from being added to all future emails sent to this user.                                                                                                                                                                                                | No       | BOOLEAN  |
| Email Click Tracking Disabled | Set to true to disable the click tracking for all links within a future email, sent to this user.                                                                                                                                                                                                      | No       | BOOLEAN  |
| Facebook Attribution Data     | Hash of Facebook attribution containing any of \`id\` (string), \`likes\` (array of strings), \`num\_friends\` (integer).                                                                                                                                                                              | No       | OBJECT   |
| First Name                    | The user's first name                                                                                                                                                                                                                                                                                  | No       | STRING   |
| Gender                        | The user's gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown).                                                                                                                                                                                              | No       | STRING   |
| Home City                     | The user's home city.                                                                                                                                                                                                                                                                                  | No       | STRING   |
| Image URL                     | URL of image to be associated with user profile.                                                                                                                                                                                                                                                       | No       | STRING   |
| Language                      | The user's preferred language.                                                                                                                                                                                                                                                                         | No       | STRING   |
| Last Name                     | The user's last name                                                                                                                                                                                                                                                                                   | No       | STRING   |
| Marked Email as Spam At       | The date the user marked their email as spam.                                                                                                                                                                                                                                                          | No       | DATETIME |
| Phone Number                  | The user's phone number                                                                                                                                                                                                                                                                                | No       | STRING   |
| Push Subscribe                | 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).                                                                                            | No       | STRING   |
| Push Tokens                   | 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. | No       | OBJECT   |
| Time zone                     | 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.                                                                                                                                          | No       | STRING   |
| Twitter Attribution Data      | Hash containing any of id (integer), screen\_name (string, Twitter handle), followers\_count (integer), friends\_count (integer), statuses\_count (integer).                                                                                                                                           | No       | OBJECT   |
| Subscription Groups           | Array of objects used to manage a user's subscription status for specific subscription groups.                                                                                                                                                                                                         | No       | OBJECT   |
| Custom Attributes             | Hash of custom attributes to send to Braze                                                                                                                                                                                                                                                             | No       | OBJECT   |
| Batch Data to Braze           | If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.                                                                                                                                                                            | No       | BOOLEAN  |

### 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                                                                                                                 | Required | Type     |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| External User ID      | The unique user identifier                                                                                                  | No       | STRING   |
| User Alias Object     | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                | No       | OBJECT   |
| Email                 | The user email                                                                                                              | No       | STRING   |
| Braze User Identifier | The unique user identifier                                                                                                  | No       | STRING   |
| Event Name            | The event name                                                                                                              | Yes      | STRING   |
| Time                  | When the event occurred.                                                                                                    | Yes      | DATETIME |
| Event Properties      | Properties of the event                                                                                                     | No       | OBJECT   |
| Batch Data to Braze   | If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. | No       | BOOLEAN  |

### 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                                                                                                                                                                                                            | Required | Type   |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| External ID       | The external ID of the user to identify.                                                                                                                                                                               | Yes      | STRING |
| User Alias Object | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                                                                                                           | No       | OBJECT |
| Email to Identify | Email address to identify user.                                                                                                                                                                                        | No       | STRING |
| Prioritization    | Prioritization settings for user merging if multiple users are found. Required when email\_to\_identify is provided.                                                                                                   | No       | OBJECT |
| Merge Behavior    | Sets the endpoint to merge some fields found exclusively on the anonymous user to the identified user. See \[the docs]\(https://www.braze.com/docs/api/endpoints/user\_data/post\_user\_identify/#request-parameters). | No       | STRING |

### 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                                         | Required | Type   |
| ----------- | --------------------------------------------------- | -------- | ------ |
| External ID | The external ID of the user to create an alias for. | No       | STRING |
| Alias Name  | The alias identifier                                | Yes      | STRING |
| Alias Label | A label indicating the type of alias                | Yes      | STRING |

### Track Purchase V2

Records purchases in Braze. Consider using the **"Order Placed (beta)"** mapping instead, which uses Braze's newer, preferred method that maps to Braze's [Ecommerce Recommended Order Placed event](https://www.braze.com/docs/user_guide/data/activation/custom_data/recommended_events/ecommerce_events/?tab=ecommerce.order_placed).

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

| Field                 | Description                                                                                                                 | Required | Type     |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------- | -------- | -------- |
| External User ID      | The unique user identifier                                                                                                  | No       | STRING   |
| User Alias Object     | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                | No       | OBJECT   |
| Email                 | The user email                                                                                                              | No       | STRING   |
| Braze User Identifier | The unique user identifier                                                                                                  | No       | STRING   |
| Time                  | When the event occurred.                                                                                                    | Yes      | DATETIME |
| Products              | Products purchased                                                                                                          | Yes      | OBJECT   |
| Event Properties      | Properties of the event                                                                                                     | No       | OBJECT   |
| Batch Data to Braze   | If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events. | No       | BOOLEAN  |

### Trigger Campaign

Trigger a Braze Campaign via API-triggered delivery

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

| Field              | Description                                                                                                                                                                    | Required | Type    |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- |
| Campaign ID        | The ID of the Braze campaign to trigger. The campaign must be an API-triggered campaign created in Braze.                                                                      | Yes      | STRING  |
| Send ID            | Optional string to identify the send. This can be used for send level analytics, or to cancel a send.                                                                          | No       | STRING  |
| Trigger Properties | Optional data that will be used to personalize the campaign message. Personalization key-value pairs that will apply to all users in this request.                             | No       | OBJECT  |
| Broadcast          | 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". | No       | BOOLEAN |
| Attachments        | Attachments to send along with the campaign. Limited to 2MB per file.                                                                                                          | No       | OBJECT  |
| Recipients         | An array of user identifiers to send the campaign to. It can not be used with "broadcast".                                                                                     | No       | OBJECT  |
| Prioritization     | Prioritization settings; required when using email in recipients. This prioritization will be applied to all recipients.                                                       | No       | OBJECT  |
| Audience           | A standard audience object to specify the users to send the campaign to. Including "audience" will only send to users in the audience                                          | No       | OBJECT  |

### Upsert Catalog Item

Upserts or deletes items in a catalog

Upsert Catalog Item is a **Cloud** action.

| Field                      | Description                                                                                                                                          | Required | Type    |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Catalog item to upsert     | 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. | No       | OBJECT  |
| Item ID                    | The unique identifier for the item. Maximum 250 characters. Supported characters: letters, numbers, hyphens, and underscores.                        | Yes      | STRING  |
| Batch Data to Braze?       | If true, Segment will batch events before sending to Braze.                                                                                          | No       | BOOLEAN |
| Operation                  | Whether to select an existing catalog or create a new one in Braze.                                                                                  | Yes      | STRING  |
| Catalog Name               | The unique name of the catalog.                                                                                                                      | No       | STRING  |
| Catalog Name               | The name of the catalog. Must be unique. Maximum 250 characters. Supported characters: letters, numbers, hyphens, and underscores.                   | No       | STRING  |
| Catalog Description        | The description of the catalog. Maximum 250 characters.                                                                                              | No       | STRING  |
| Catalog Fields             | A list of fields to create in the catalog. Maximum 500 fields. ID field is added by default.                                                         | No       | OBJECT  |
| Select or Create a Catalog | Select an existing catalog or create a new one in Braze.                                                                                             | No       | OBJECT  |

### Trigger Canvas

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"`

| Field                   | Description                                                                                                                                      | Required | Type    |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- |
| Canvas ID               | The ID of the canvas to trigger. The canvas must be API-triggered and the status must be "Draft" or "Active".                                    | Yes      | STRING  |
| Canvas Entry Properties | Optional data that will be used to personalize the canvas message. Personalization key-value pairs that will apply to all users in this request. | No       | OBJECT  |
| Broadcast               | 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".             | No       | BOOLEAN |
| Recipients              | An array of user identifiers to send the canvas to. It cannot be used with "broadcast".                                                          | No       | OBJECT  |
| Prioritization          | Prioritization settings; required when using email in recipients. This prioritization will be applied to all recipients.                         | No       | OBJECT  |
| Audience                | A standard audience object to specify the users to send the canvas to. Including "audience" will only send to users in the audience              | No       | OBJECT  |

### Ecommerce Event (single product)

(Beta) Send a single product [Ecommerce Recommended event](https://www.braze.com/docs/user_guide/data/activation/custom_data/recommended_events/ecommerce_events) to Braze.

Ecommerce Event (single product) is a **Cloud** action.

| Field                 | Description                                                                                                                                                             | Required | Type    |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Ecommerce Event Name  | The name of the Braze ecommerce recommended event                                                                                                                       | Yes      | STRING  |
| External User ID      | The unique user identifier                                                                                                                                              | No       | STRING  |
| User Alias Object     | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                                                            | No       | OBJECT  |
| Email                 | The user email                                                                                                                                                          | No       | STRING  |
| Phone Number          | The user's phone number                                                                                                                                                 | No       | STRING  |
| Braze User Identifier | The unique user identifier                                                                                                                                              | No       | STRING  |
| Cancel Reason         | Reason why the order was cancelled.                                                                                                                                     | No       | STRING  |
| Time                  | Timestamp for when the event occurred.                                                                                                                                  | Yes      | STRING  |
| Checkout ID           | Unique identifier for the checkout.                                                                                                                                     | No       | STRING  |
| Order ID              | Unique identifier for the order placed.                                                                                                                                 | No       | STRING  |
| Cart ID               | Unique identifier for the cart. If no value is passed, Braze will determine a default value (shared across cart, checkout, and order events) for the user cart mapping. | No       | STRING  |
| Total Value           | Total monetary value of the cart.                                                                                                                                       | No       | NUMBER  |
| Total Discounts       | Total amount of discounts applied to the order.                                                                                                                         | No       | NUMBER  |
| Discounts             | Details of all discounts applied to the order.                                                                                                                          | No       | OBJECT  |
| Currency              | Currency code for the transaction. Defaults to USD if no value passed.                                                                                                  | Yes      | STRING  |
| Source                | Source the event is derived from.                                                                                                                                       | Yes      | STRING  |
| Metadata              | Additional metadata for the ecommerce event.                                                                                                                            | No       | OBJECT  |
| Batch Data to Braze   | If true, Segment will batch events before sending to Braze’s user track endpoint.                                                                                       | Yes      | BOOLEAN |
| Maximum Batch Size    | Maximum number of events to include in each batch. Actual batch sizes may be lower.                                                                                     | Yes      | NUMBER  |
| Product               | Product details associated with the ecommerce event.                                                                                                                    | Yes      | OBJECT  |

### Ecommerce Event (multi product)

(Beta) Send a multi product [Ecommerce Recommended event](https://www.braze.com/docs/user_guide/data/activation/custom_data/recommended_events/ecommerce_events) to Braze.

Ecommerce Event (multi product) is a **Cloud** action.

| Field                 | Description                                                                                                                                                                                  | Required | Type    |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Ecommerce Event Name  | The name of the Braze ecommerce recommended event                                                                                                                                            | Yes      | STRING  |
| External User ID      | The unique user identifier                                                                                                                                                                   | No       | STRING  |
| User Alias Object     | A user alias object. See \[the docs]\(https://www.braze.com/docs/api/objects\_filters/user\_alias\_object/).                                                                                 | No       | OBJECT  |
| Email                 | The user email                                                                                                                                                                               | No       | STRING  |
| Phone Number          | The user's phone number                                                                                                                                                                      | No       | STRING  |
| Braze User Identifier | The unique user identifier                                                                                                                                                                   | No       | STRING  |
| Cancel Reason         | Reason why the order was cancelled.                                                                                                                                                          | No       | STRING  |
| Time                  | Timestamp for when the event occurred.                                                                                                                                                       | Yes      | STRING  |
| Checkout ID           | Unique identifier for the checkout.                                                                                                                                                          | No       | STRING  |
| Order ID              | Unique identifier for the order placed.                                                                                                                                                      | No       | STRING  |
| Cart ID               | Unique identifier for the cart. If no value is passed, Braze will determine a default value (shared across cart, checkout, and order events) for the user cart mapping.                      | No       | STRING  |
| Total Value           | Total monetary value of the cart.                                                                                                                                                            | No       | NUMBER  |
| Total Discounts       | Total amount of discounts applied to the order.                                                                                                                                              | No       | NUMBER  |
| Discounts             | Details of all discounts applied to the order.                                                                                                                                               | No       | OBJECT  |
| Currency              | Currency code for the transaction. Defaults to USD if no value passed.                                                                                                                       | Yes      | STRING  |
| Source                | Source the event is derived from.                                                                                                                                                            | Yes      | STRING  |
| Metadata              | Additional metadata for the ecommerce event.                                                                                                                                                 | No       | OBJECT  |
| Batch Data to Braze   | If true, Segment will batch events before sending to Braze’s user track endpoint.                                                                                                            | Yes      | BOOLEAN |
| Maximum Batch Size    | Maximum number of events to include in each batch. Actual batch sizes may be lower.                                                                                                          | Yes      | NUMBER  |
| Products              | List of products associated with the ecommerce event. Standard product fields are mapped by default. Any additional fields added into a product item will be sent as product level metadata. | Yes      | OBJECT  |

## 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 mappings

#### 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** (CLOUD, DEVICE-WEB):
  * Choose the version of the Braze (Actions) destination that matches your connection mode.

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

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

#### Missing events

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](mailto:test@email.com)", you should search for the alias using "email:[test@email.com](mailto:test@email.com)".
