Integration · Messaging and marketing

Send subscription events and revenue to Braze user profiles

RevenueDot sends each subscription event to Braze in one /users/track request: a custom event named like rc_trial_started_event, the rc_subscription_status attribute, and for paid events an ecommerce.order_placed event or a legacy purchase object. The user is a Braze alias when you set one, otherwise the app user id as external_id.

What teams do with it

  • Start Canvas journeys when a trial starts, a billing issue appears or a subscription is cancelled.
  • Segment users by rc_subscription_status for win-back and upgrade messages.
  • Report revenue to Braze through its recommended eCommerce events.
  • Send production and sandbox events to two separate Braze workspaces.

What RevenueDot sends

  • A custom event per step, named rc_initial_purchase_event, rc_trial_started_event, rc_renewal_event and so on, for 13 steps. Rename them under Event names.
  • The rc_subscription_status attribute is set on the user in the same request.
  • Paid events (initial purchase, trial conversion, renewal, one-time purchase) with revenue above zero also send either ecommerce.order_placed or a purchase object. Revenue chooses which.
  • The user is the alias $brazeAliasName plus $brazeAliasLabel when both are set, otherwise the app user id as external_id.
  • Refunds are not sent as negative purchases. An optional App identifier ties events to one Braze app.

Setup

How to connect Braze to RevenueDot

  1. 01

    Create a REST API key

    In Braze, copy your instance's REST endpoint from Settings, APIs and Identifiers and create a REST API key with the users.track permission.

  2. 02

    Open the integration

    In RevenueDot, open Integrations in the project sidebar and choose Braze.

  3. 03

    Choose endpoint and key

    Pick the REST endpoint and paste the key into REST API key. Add Sandbox REST API key for sandbox events, from a second workspace.

  4. 04

    Choose revenue format

    Optionally fill App identifier. Pick Revenue: eCommerce order placed events or Legacy purchase objects, and pick Sales reporting.

  5. 05

    Connect and test

    Click Connect Braze, then Send test event and find rc_test_event on the user.

The Braze integration page in the RevenueDot dashboard, with its settings form
Captured from the RevenueDot dashboard with demo data.

How RevenueDot delivers events to Braze

  • Timeouts, rate limits (HTTP 429) and server errors (5xx) from Braze retry on the webhook schedule: after 5, 10, 20, 40 and 80 minutes.
  • Any other 4xx answer fails at once, because sending the same request again cannot work. Fix the setting, then click Replay failed.
  • The delivery log keeps each request with every secret replaced by [redacted], the answer, the time taken and, for skipped events, the reason.
  • Credentials are sealed with AES-256-GCM on the server. After you save a key, the dashboard shows only its last four characters.
  • Braze answers HTTP 201 with errors when it rejects part of a request. RevenueDot treats that as a failure and logs the first error.
  • Braze has no idempotency key, so a replayed event is recorded again.

FAQ

Braze and RevenueDot

Does the Braze integration work with the RevenueCat SDK?

Yes. RevenueDot speaks the RevenueCat SDK protocol, so your app keeps the RevenueCat SDK and only the server address changes. Set $brazeAliasName and $brazeAliasLabel with the SDK's attribute calls only if you identify Braze users by alias.

Is it the same as RevenueCat's Braze integration?

It sends the same rc_*_event names and rc_subscription_status attribute, and reads the same alias attributes. RevenueCat's version has years of production use behind it. RevenueDot's is newer, so run Send test event and check Braze before you rely on it.

Which Braze regions work?

Choose your instance's REST endpoint from the list: US-01 to US-08, US-10, EU-01, EU-02, AU-01, ID-01, JP-01 or KR-01. RevenueDot rejects any other address when you save.

Does replaying an event create a duplicate?

Yes. Braze has no idempotency key, so a replayed event is recorded a second time. Replay only events that truly failed.

Sources: Braze · Braze /users/track endpoint · RevenueCat Braze integration. Braze is a trademark of its owner, used to describe compatibility. RevenueDot is not affiliated with or endorsed by it.

Get started

Send Braze every subscription event.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue. Integrations are included on every plan.

Already have an account? Sign in · Prefer your own servers? Self-host free