Braze Hybrid Mode Integration

Send events to Braze in RudderStack hybrid mode.

danger

Hybrid mode is not recommended due to potential race conditions that can create split user profiles in Braze.

Consider using device mode or cloud mode instead.

This guide explains how to send events to Braze in hybrid mode.

Overview

You can use RudderStack’s hybrid mode to send events from the following sources to Braze:

Race condition limitations

When cloud mode events reach Braze earlier than the setAlias call via the Braze SDK (and no identify calls are made), it can lead to split profiles for a single user.

info

Note that:

  • This race condition is particularly problematic when hybrid mode is used without an identify call at the beginning of the user session.
  • RudderStack tries to flush the Braze setAlias calls as soon as possible — however, this approach does not eliminate the possibility of split user profiles entirely.
Click here to read the technical details
This race condition occurs because:

  • Cloud events create an alias-only profile: RudderStack sends events through the cloud mode, creating a profile with the rudder_id:<rudder_anonymous_id> alias.
  • Braze SDK creates a separate anonymous profile: The Braze SDK creates a Braze-anonymous profile when the session opens.
  • Alias setting fails: The Braze SDK attempts to set the rudder_id:<rudder_anonymous_id> alias, but since an alias-only-profile with the same alias already exists, Braze skips the setAlias call entirely.
  • Result: Two separate profiles exist for the same user, leading to data fragmentation and inaccurate analytics.

Instead of using hybrid mode, consider these alternatives:

  • Use device mode if you need features like push notifications
  • Use cloud mode if you do not need device-specific features, for better reliability and data governance capabilities.

When to use hybrid mode

warning
Use hybrid mode only in specific scenarios where you can tolerate potential profile splitting issues.

Consider using hybrid mode when you:

  • Need device mode features like push notifications and in-app messaging that require the Braze SDK.
  • Can tolerate inflated user profiles as a trade-off for accessing both cloud and device mode features.
  • Want to leverage RudderStack features available in cloud mode like Data Governance and Tracking Plans.
info
In hybrid mode, RudderStack sends all the user-generated events to Braze through their REST API and does not process them on the client-side.

Workflow

When you select hybrid mode to send events to Braze, RudderStack:

  • Initializes the Braze SDK.
  • Sends all the user-generated events (identify, track, page, screen, group, and alias) to Braze through cloud mode and blocks them from being sent via device mode.
  • Sends the auto-generated events (in-app messages, push notifications that require the Braze SDK) by leveraging device mode.

Mobile source setup

  1. Select the hybrid mode option while connecting your mobile source to the Braze destination.
Braze hybrid mode connection setting
  1. Add the Braze integration to your project.

Web source setup

  1. Select the hybrid mode option while connecting your web source to the Braze destination.
Braze hybrid mode connection setting for web
  1. Configure the Web SDK settings to receive data in Braze correctly.

Questions? Contact us by Email or on Slack