Braze (formerly Appboy)

Braze is a customer engagement platform. You can send events to Braze to complement the engagement that they already track, allowing you to see a fuller picture of your users' behavior.

Destination Info


Getting Started

  1. 2.
    Configure your REST API Key. If you don't have a REST API key, yet, you can create one by goin to Settings > Developer Console and click "Create New API Key"
Braze REST API keys are very powerful, and can be given permissions to do a wide variety of things with your account. To protect yourself, it's critical that you limit the permissions of this key to only the users.track API call. Use the screenshot below to see how this would look.
You can create a REST API key on your Developer Console in Braze's app
  1. 3.

    Configure your App Identifier

    When using the server-side connection mode, this identifier can be used to associate your events with a specific app that you've configured on your Braze account. For more information, please click here to read Braze's REST API key overview. When in client-side connection mode, this will be used as the API key for client-side API requests.
  2. 4.
    Configure your Custom Endpoint.
You must at least configure your API key and Custom Endpoint in order to connect to the Braze destination
Make sure you configure the REST endpoint, not the SDK endpoint. It should have the following format: You can see the REST endpoints and corresponding SDK endpoints here.
You should assume you do have a custom endpoint - read more here​
5. That's it! You should now see the enabled status next to the Braze destination. Enable the Braze destination for events you'd like to send to this destination in the event definition.


When you call identify, Freshpaint will create or update a user profile in Braze by calling Braze's users.track API endpoint at:
When you Identify a user, Freshpaint passes that user’s identified id or device_id as Braze’s External User ID, external_id. The external_id is required for all calls made to Braze's track API.
You can look up users from the Users section on your sidebar menu.


When you send events to Braze from Freshpaint, Freshpaint will create a new custom event for the user in Braze by calling Braze's users.track API endpoint at:
The external_id will be Freshpaint's distinct id. The name will be your event name. All other properties will be passed as custom properties of the event.
Braze does not deduplicate events sent to the users track API out of the box. If you would like to do this yourself you can send a unique identifier with each event.
If you configured an App Identifier in your connection to Braze, it will be sent with the event here. It is not required to use an App Identifier, but may be useful if you have certain segmenting needs.
You can view visualizations of your events by going to Custom Events and searching for the event you'd like to view.
You can also see custom events associated with identified users when you look under the user's profile.
Braze does not deduplicate events.

Page Views

Freshpaint will automatically send all page views to Braze. Page views show up in Braze as custom events. You can find them in the Custom Events section in Braze as well as in the identified user's profile.

Configuration Options

Optional Connection Details

SDK Version

If you are using this integration in client-side connection mode, enter the version of the SDK you use here. Click here to learn more about Braze SDK versions.

Safari Website Push ID

If you want to send push notifications via Safari, provide your safari push ID here. If you'd like to configure this option, first you'll have to configure Safari Push in Braze. You can read more about this feature in Braze here.

Do Not Load Font Awesome

By default, Braze will automatically load FontAwesome from the FontAwesome cdn for in-app icons. To disable this behavior (e.g. because your site uses a customized version of FontAwesome), set this option to true. Note that if you do this, you are responsible for ensuring that FontAwesome is loaded on your site - otherwise in-app messages may not render correctly.

In-App Messages

By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event.
By default, when an in-app message is showing, pressing the escape button or a click on the greyed-out background of the page will dismiss the message. You can enable the "Require explicit in-app message dismissal" option to prevent this behavior and require an explicit button click to dismiss messages.

Connection Mode Settings

Both client side and server side connections modes are available for this destination. You can read more about connection modes here.

Server-Side Connection Identity Merge Issues

If you are in server-side connection mode for this destination, Braze does not support the merging of user profiles.
Freshpaint will associate anonymous user events with a device_id - this is sent in as Braze's required external_id with anonymous events. When the user is identified with a distinct_id, the distinct_id will be assigned as Braze's external_id, creating two user profiles. Once the external_id has been assigned in Braze, it cannot be reassigned to an existing value (so it is not possible to reassign the external_id from the anonymous events to the that of the identified user). You can read more about this here.

Event Transformations

Set up transformations to modify your data before it's sent to your destination. Read more about transformations here.