Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 17 additions & 15 deletions src/connections/destinations/catalog/actions-braze-cloud/index.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: Braze Cloud Mode (Actions) Destination
title: Braze Cloud-Mode (Actions) Destination
hide-boilerplate: true
hide-dossier: false
id: 60f9d0d048950c356be2e4da
redirect_from:
- '/connections/destinations/catalog/braze-cloud-mode-actions/'
versions:
- name: 'Braze Web Mode (Actions)'
- name: 'Braze Web-Mode (Actions)'
link: '/docs/connections/destinations/catalog/actions-braze-web/'
- name: 'Braze (Classic)'
link: '/docs/connections/destinations/catalog/braze'
Expand All @@ -18,28 +18,28 @@ versions:
> success ""
> **Good to know**: This page is about the [Actions-framework](/docs/connections/destinations/actions/) Braze Segment destination. There's also a page about the [non-Actions Braze destination](/docs/connections/destinations/catalog/braze/). Both of these destinations receives data _from_ Segment. There's also the [Braze source](/docs/connections/sources/catalog/cloud-apps/braze//), which sends data _to_ Segment!

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

Braze Cloud Mode (Actions) provides the following benefit over 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).
- **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
## Getting started

1. From the Segment web app, click **Catalog**.
2. Search for "Braze" in the Catalog, select **Braze Cloud Mode (Actions)**, and choose which of your sources to connect the destination to.
3. Add the following Connection Settings:
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/){:target="_blank"} in the Braze documentation.

> info ""
> Braze now supports sending `email` as an identifier. Braze requires that you include `userId`, `braze_id`, or `email` for all calls made in cloud-mode. Segment sends a `braze_id` if the `userId` is missing. When you use a device-mode connection, Braze automatically tracks anonymous activity using the `braze_id` if a `userId` is missing.


## Actions v2

Segment’s introduced the following v2 Actions to add additional functionality to the Braze Cloud Mode (Actions) destination:
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)
Expand Down Expand Up @@ -71,8 +71,10 @@ Keep the following in mind if you plan to move to Braze (Actions) from the class

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

### 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.
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".
55 changes: 30 additions & 25 deletions src/connections/destinations/catalog/actions-braze-web/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Braze Web Mode (Actions) Destination
title: Braze Web-Mode (Actions) Destination
hide-boilerplate: true
hide-dossier: false
redirect_from:
- '/connections/destinations/catalog/vendor-braze/'
- '/connections/destinations/catalog/braze-web-device-mode-actions/'
id: 60fb01aec459242d3b6f20c1
versions:
- name: 'Braze Cloud Mode (Actions)'
- name: 'Braze Cloud-Mode (Actions)'
link: '/docs/connections/destinations/catalog/actions-braze-cloud'
- name: 'Braze (Classic)'
link: '/docs/connections/destinations/catalog/braze'
Expand All @@ -16,19 +16,24 @@ versions:

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

## Benefits of Braze Web Mode (Actions) vs Braze Classic
## Benefits of Braze Web-Mode (Actions) vs Braze (Classic)

Braze Web Mode (Actions) provides the following benefits over Braze Classic:
Braze web-mode (Actions) provides the following benefits over Braze (Classic):

- **E-commerce mappings**. Users who can't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can log purchases in Braze Web Mode (Actions).
- **E-commerce mappings**. Users who can't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can log purchases in Braze web-mode (Actions).

## Getting Started

1. From the Segment web app, click **Catalog**.
2. Search for "Braze" in the Catalog, select **Braze Web Mode (Actions)**, and choose which of your sources to connect the destination to.
3. Configure the Connection Settings. **API Key** and **SDK Endpoint** are required settings.
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.
> warning "Mapping settings"
> Some events require specific property names to map correctly into Braze.
> For example, purchase events must use a `products` array with `product_id` and `price.
> See [Braze-web settings mappings](#braze-web-settings-mapping) for "Device-web" for the full list of requirements before setting up mappings.
4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings.

After setting up your Braze Web Mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes.
After setting up your Braze web-mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes.

> info ""
> If you're using a device-mode connection, Braze's SDK assigns a `device_id` and a backend identifier, `braze_id`, to every user. This allows Braze to capture anonymous activity from the device by matching on those identifiers instead of `userId`. This applies to _device-mode connections_.
Expand All @@ -38,11 +43,11 @@ After setting up your Braze Web Mode (Action) destination in the Segment app, Se

## Other features

Braze Web Mode (Actions) can use the following features of Braze.
Braze web-mode (Actions) can use the following features of Braze.

### In-app Messaging
### In-app messaging

Once configured, you can trigger in-app message display as a result of several different event types. By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event. A new session automatically starts when a user loads your site. If you'd like to force a new session for a user, make an Identify call with the corresponding [userId](/docs/connections/spec/identify/#user-id) for that user.
Once configured, you can trigger in-app message display as a result of several different event types. By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event. A new session automatically starts when a user loads your site. If you'd like to force a new session for a user, make an [Identify](/docs/connections/spec/identify/) call with the corresponding [userId](/docs/connections/spec/identify/#user-id) for that user.

If you don't want your site to display new In-App Messages as they're received, disable automatic display and register your own display subscribers. To do this:

Expand All @@ -66,21 +71,21 @@ The `inAppMessages` parameter will be an array of [`appboy.ab.InAppMessage`](htt



### Push Notifications
### Push notifications

1. To support push notifications on Chrome, you'll need to enable FCM/GCM as well as configure your site. Check out steps [one and two here for detailed instructions on both](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-1-to-support-chrome-enable-fcmgcm){:target="_blank"}.
1. To support push notifications on Chrome, you must enable FCM/GCM and configure your site. See steps [one and two in the Braze docs for detailed instructions on both](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-1-to-support-chrome-enable-fcmgcm){:target="_blank"}.

2. Browser Registration. In order for a browser to receive push notifications, you must register it for push by calling:
2. **Browser Registration**: For a browser to receive push notifications, you must register it for push by calling:

```js
analytics.ready(function() {
window.appboy.registerAppboyPushMessages();
});
```

**Note:** Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag.
**Note**: Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag.

**Note:** This requests push permission from the user.
**Note**: This requests push permission from the user.

To show your own push-related UI to the user before requesting push permission (known as a soft push prompt), you can test to see if the user's browser supports push by calling:

Expand All @@ -106,9 +111,9 @@ analytics.ready(function() {

2. To support push notifications on Safari, add your Website Push ID into your Segment Settings UI and Segment sends it when the Braze Web SDK initializes. To get your Website Push ID, follow the first two bullet points in [these instructions](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-5-configure-safari-push){:target="_blank"}.

### Soft Push Prompts
### Soft push prompts

1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard.
1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} detailed in the Braze docs, to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard.

2. Add the following snippet to your site:

Expand Down Expand Up @@ -162,24 +167,24 @@ For more details on this snippet, see Braze's [Soft push prompt](https://www.bra
});
```

### Enable SDK Authentication
### Enable SDK authentication

When "Enable SDK Authentication" is enabled, Segment will set Braze's `enableSdkAuthentication` to `true`. When this feature is enabled, the Braze SDK will append the current user’s last known JWT to network requests made to Braze Servers.


## Important differences from the classic Braze destination
- Braze Web Mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination.
## Important differences from Braze (Classic) destination
- Braze web-mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud-Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination.


## Migration from Braze Classic
## Migration from Braze (Classic)

Keep the following in mind if you plan to move to Braze (Actions) from the classic Braze destination.
{% include components/actions-map-table.html name="braze-web" %}


## FAQ
## FAQs

### How does the Debounce Middleware Action work?
#### How does the Debounce Middleware Action work?

The following [Debounce Middleware](/docs/connections/destinations/catalog/actions-braze-web/#debounce-middleware) logic is executed at the source-level:

Expand Down