Braze

As one of the top customer engagement solutions, Braze provides a wide range of tools for push notifications, email, SMS, and in-app messaging. By integrating Adapty with Braze, you can easily access all of your subscription events in one place, giving you the ability to trigger automated communication based on those events.

Adapty provides a complete set of data that lets you track subscription events from all stores in one place and can be used to update your users’ profiles in Braze. With Adapty, you can easily see how your subscribers are behaving, learn what they like, and use that information to communicate with them in a way that’s targeted and effective. Therefore, this integration allows you to track subscription events in your Braze dashboard and map them with your acquisition campaigns.

Adapty sends subscription events, user properties and purchases over to Braze, so you can build target communication with customers using Braze push notifications after a short and easy integration as described below.

How to set up Braze integration

To connect Adapty to Braze, open Integrations → Braze in the Adapty Dashboard, turn on the toggle, and fill out the credentials:

  • REST API key and Braze Instance ID are required.
  • iOS App ID and Android App ID are optional.
5f1e62c-adapty_braze.webp
  1. To create the REST API key, in the Braze dashboard, go to Settings → APIs and Identifiers and click Create API Key. Under the user data permissions, select users.track. Braze doesn’t let you change a key’s permissions after you create it, so a key without users.track has to be replaced with a new one. For details, see Creating REST API keys in the Braze docs.
  2. To find the Braze Instance ID, match the URL of your Braze dashboard against the instance table in the Braze docs. The instance ID has a regional form, such as US-03 or EU-01. For example, dashboard-03.braze.com is US-03.
  3. To find the iOS App ID and Android App ID, in the Braze dashboard, go to Settings → APIs and Identifiers → App Identifiers. Copy the value in the Identifier column for each app. For details, see App identifier in the Braze docs.

Events, user attributes and purchases

Below the credentials, there are three groups of events you can send to Braze from Adapty. Simply turn on the ones you need. You may also change the names of the events as you need to send it to Braze. Check the full list of the Events offered by Adapty here:

702e628-adapty_braze_events_names.webp

Adapty will send subscription events and user attributes to Braze using a server-to-server integration, allowing you to view it in your Braze Dashboard and configure campaigns based on that.

For events that have revenue, such as trial conversions and renewals, Adapty will send this info to Braze as purchases.

Warning

Adapty sends revenue to Braze only as legacy purchase events. Braze has put legacy purchase events in maintenance mode and doesn’t enable them for new customers. If your Braze workspace doesn’t accept them, Braze rejects every event that has revenue with HTTP 400 and the message Legacy purchase ingestion is disabled. Those events, such as first purchases, renewals, trial conversions, and refunds, don’t reach Braze at all, not only their revenue.

Before you turn on the integration, make sure your Braze workspace accepts legacy purchase events. For details, see Purchase events in the Braze docs.

Here you can find the complete specifications for the event properties sent to Braze.

Note

Helpful user attributes

Adapty sends some user attributes for Braze integration by default. You can refer to the list of them provided below to determine which is best suited for your needs.

User attributeTypeValue
adapty_customer_user_idStringContains the value of the unique identifier of the user defined by the customer. Can be found both in the Adapty Dashboard and in Braze.
adapty_profile_idStringContains the value of the unique identifier Adapty User Profile ID of the user, which can be found in the Adapty Dashboard.
environmentString

Indicates whether the user is operating in a sandbox or production environment.

Values are either Sandbox or Production

storeString

Contains the name of the Store that used to make the purchase.

Possible values:

app_store or play_store.

vendor_product_idString

Contains the value of Product Id in Apple/Google store.

e.g., org.locals.12345

subscription_expires_atString

Contains the expiration date of the latest subscription.

Value format is:

YYYY-MM-DDTHH:mm:ss.SSS+TZ

e.g., 2023-02-15T17:22:03.000+0000

active_subscriptionStringThe value will be set to true on any purchase/renewal event, or false if the subscription is expired.
period_typeString

Indicates the latest period type for the purchase or renewal.

Possible values are

trial for a trial period or normal for the rest.

All float values will be rounded to int. Strings stay the same.

In addition to the pre-defined list of tags available, it is possible to send custom attributes using tags. This allows for more flexibility in the type of data that can be included with the tag and can be useful for tracking specific information related to a product or service. All custom user attributes are sent automatically to Braze if the user marks the ** Send user attributes** checkbox from the integration page.

SDK Configuration

To link user profiles in Adapty and Braze you need to either configure Braze SDK with the same customer user ID as Adapty or use its .changeUser() method:

Troubleshooting

access_level_updated shows as failed in the Event Feed

access_level_updated is a webhook-only event. Adapty never sends it to this integration. But Adapty records an outcome for every enabled integration, and an unsupported event is displayed as a failure.