Braze Reference

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






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 by going to the Audiences section on your sidebar menu and selecting "Search Users".

If you'd like you assign a first and last name to the user, you can attach those as user properties in the identify call as first_name and last_name:

freshpaint.identify("", {
 "first_name": "Ada",
 "last_name": "Lovelace"


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 out of the box.

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.

Last updated