Amplitude for Currents
Amplitude is a product analytics and business intelligence platform.
The Braze and Amplitude bi-directional integration allows you to sync your Amplitude Cohorts, user traits, and events into Braze as well as leverage Braze Currents to export your Braze events to Amplitude to perform deeper analytics of your product and marketing data.
Prerequisites
| Requirement | Description |
|---|---|
| Amplitude account | An Amplitude account is required to take advantage of this partnership. |
| Currents | In order to export data back into Amplitude, you need to have Braze Currents set up for your account. |
Data export integration
A full list of the events and event properties that can be exported from Braze to Amplitude can be found in the following sections. All events sent to Amplitude will include the user’s external_user_id as the Amplitude user ID. Braze-specific event properties will be sent under the event_properties key in the data sent to Amplitude.
To use this feature, your Amplitude user ID must match the Braze external ID.
Braze will only send event data for users who have their external_user_id set or anonymous users who have their device_id set. For the anonymous users, you will need to sync your Amplitude device ID with the Braze device ID in the SDK. For example:
1
amplitude.setDeviceId(Appboy.getInstance(context).getDeviceId();)
You can export two types of events to Amplitude: Message Engagement Events consisting of the Braze Events directly related to message sending, and Customer Behavior Events, including other app or website activity such as sessions, custom events, and purchases tracked through the platform. All regular events are prefixed with [Appboy], and all custom events are prefixed with [Appboy] [Custom Event]. Custom event and purchase event properties are prefixed with [Custom event property] and [Purchase property], respectively.
All cohorts named and imported into Braze will be prefixed with [Amplitude] and suffixed with their cohort_id. This means that a cohort named “TEST_COHORT” with the cohort_id “abcd1234” will be titled [Amplitude] TEST_COHORT: abcd1234 in Braze filters.
Contact your account manager or open a support ticket if you need access to additional event entitlements.
Step 1: Configure Amplitude Integration in Braze
In Amplitude, locate your Amplitude export API key.
Keep your Amplitude API Key up to date. If your connector’s credentials expire, the connector will stop sending events. If this persists for more than 48 hours, the connector’s events will be dropped, and data will be permanently lost.
Step 2: Create Braze Current
In Braze, navigate to Currents > + Create Current > Create Amplitude Export. Provide an integration name, contact email, Amplitude export API key, and Amplitude region in the listed fields. Next, select the events you want to track; a list of available events is provided. Lastly, click Launch Current
Events sent from Braze Currents to Amplitude will count toward your Amplitude event volume quota.

Check out Amplitude’s integration docs to learn more.
Rate limits
Currents connect to Amplitude’s HTTP API, which has a rate limit of 30 events/second per device and an undocumented limit of 500K events/day per device. If these thresholds are exceeded, Amplitude will throttle events logged through Currents. If a device in your integration exceeds this rate limit, you may experience a delay in when events from all devices will appear in Amplitude.
Devices should not report more than 30 events/second or 500K events/day under normal circumstances, and this event pattern should only occur due to a misconfigured integration. To avoid this type of delay, ensure that your SDK integration reports events at a normal rate as specified in our SDK integration instructions and refrain from running automated tests that generate many events for a single device.
Supported Currents events
Braze supports exporting the following data listed in the Currents user behavior and message engagement event glossaries to Amplitude:
Behaviors
- Custom event:
users.behaviors.CustomEvent - Install Attribution:
users.behaviors.InstallAttribution - Location:
users.behaviors.Location - Purchase:
users.behaviors.Purchase - Uninstall:
users.behaviors.Uninstall - App (first session, session end, session start)
users.behaviors.app.FirstSessionusers.behaviors.app.SessionEndusers.behaviors.app.SessionStart
- Subscription (global state change):
users.behaviors.subscription.GlobalStateChange - Subscription Group (state change):
users.behaviors.subscriptiongroup.StateChange
Campaigns
- Abort:
users_campaigns_abort - Conversion:
users.campaigns.Conversion - EnrollinControl:
users.campaigns.EnrollInControl
Canvas
- Abort:
users_canvas_abort - Conversion:
users.canvas.Conversion - Entry:
users.canvas.Entry - Exit (matched audience, performed event)
users.canvas.exit.MatchedAudienceusers.canvas.exit.PerformedEvent
- Experiment Step (conversion, split entry)
users.canvas.experimentstep.Conversionusers.canvas.experimentstep.SplitEntry
Messages
- Content Card (abort, click, dismiss, impression, send)
users.messages.contentcard.Abortusers.messages.contentcard.Clickusers.messages.contentcard.Dismissusers.messages.contentcard.Impressionusers.messages.contentcard.Send
- Email (abort, bounce, click, delivery, markasspam, open, send, softbounce, unsubscribe)
- In-app message (abort, click, impression)
users.messages.inappmessage.Abortusers.messages.inappmessage.Clickusers.messages.inappmessage.Impression
- Push notification (abort, bounce, iOSforeground, open, send)
users.messages.pushnotification.Abortusers.messages.pushnotification.Bounceusers.messages.pushnotification.IosForegroundusers.messages.pushnotification.Openusers.messages.pushnotification.Send
- SMS (abort, carrier send, delivery, delivery failure, inbound receive, rejection, send, short link click)
users.messages.sms.Abortusers.messages.sms.Deliveryusers.messages.sms.DeliveryFailureusers.messages.sms.InboundReceiveusers.messages.sms.Rejectionusers.messages.sms.Sendusers.messages.sms.ShortLinkClick
- Webhook (abort, send)
users.messages.webhook.Abortusers.messages.webhook.Send
- WhatsApp (abort, delivery, failure, inbound receive, read, send)
users.messages.whatsapp.Abortusers.messages.whatsapp.Deliveryusers.messages.whatsapp.Failureusers.messages.whatsapp.InboundReceiveusers.messages.whatsapp.Readusers.messages.whatsapp.Send
Edit this page on GitHub