# Braze Destination Setup Guide

<p>This guide will help you set up Braze as a destination in the RudderStack dashboard. It also lists the configuration settings required to correctly send data from the supported sources to Braze.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="connection-compatibility">Connection compatibility</h2>
  
  
  
  <div class="quick-info">
    <div>
      <div class="connection-modes-column-headers">
        <table>
          <tr class="connection-modes-column-headers">
            <th colspan="4">
            Destination Information
          </th>
        </tr>
          <tr class="destination-info-content">
            <td>
              <ul>
                <li>
                  <b>Status:</b> Generally Available 
                </li>
                <li>
                  <b>Supported sources:</b>  
                  
                      Android (Java)
                      ,
                  
                  
                      Android (Kotlin)
                      ,
                  
                  
                      iOS (Obj-C)
                      ,
                  
                  
                      iOS (Swift)
                      ,
                  
                  
                      Web,
                  
                  
                      Unity,
                  
                  
                      AMP
                      ,
                  
                  
                      Cloud,
                  
                  
                      Warehouse,
                  
                  
                      React Native
                      ,
                  
                  
                      Flutter,
                  
                  
                      Cordova,
                  
                  
                      Shopify
                  
                </li>
                <li>
                  Refer to it as <b>Braze</b> in the <a href="/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/filtering/#filtering-destinations">Integrations object</a>.
                </li>
              </ul>
            </td>
          </tr>
        </table>
      </div>
      <div class="table-content connection-modes-table">
        
          <table>
            <tr class="heading connection-modes-header">
              <th colspan="4">
              Connection Modes
              <a href=/docs/destinations/rudderstack-connection-modes>
                <i class="fa-regular fa-circle-info"></i>
              </a>
            </th>
          </tr>
            <tr class="connection-modes-column-headers">
              <th>Source</th>
              <th>Cloud mode</th>
              <th>Device mode</th>
              <th>Hybrid mode</th>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                AMP
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Android (Java)
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Android (Kotlin)
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Cloud
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Cordova
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Flutter
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                iOS (Obj-C)
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                iOS (Swift)
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                React Native
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Shopify
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Unity
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Warehouse
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
              <td>
                 <img src=/docs/images/no-image.svg loading="lazy"
                    decoding="async" class="img__small" alt="not supported" />
              </td>
            </tr>
            
            <tr class="connection-modes-row">
              <td>
                Web
                
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
              <td>
                <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
              </td>
            </tr>
            
          </table>
         
      </div>
      <div class="table-content message-types-table">
          <table>
            <tr class="heading message-types-header">
              <th colspan="9">
              Supported Message Types
            </th>
          </tr>
          <tr class="message-types-column-headers">
            <th>Source</th>
            <th>Identify</th>
            <th>Page</th>
            <th>Track</th>
            <th>Screen</th>
            <th>Group</th>
            <th>Alias</th>
            <th>Record</th>
            <th>AudienceList</th>
          </tr>
          
          
          
            
              
              
          
          
          
            
            <tr class="heading message-mode-header">
              <th colspan="9">Cloud mode</th>
            </tr>
              <tr class="message-mode-row">
                <td>Supported sources</td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
          
            
              <tr class="heading message-mode-header">
                <th colspan="9">Device mode</th>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  Android (Java)
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  Android (Kotlin)
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  Flutter
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  iOS (Obj-C)
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  iOS (Swift)
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  React Native
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
              <tr class="message-mode-row">
                <td>
                  Web
                  
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                  <img src=/docs/images/tick.svg loading="lazy" decoding="async" class="img__small" alt="supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
                <td>
                   <img src=/docs/images/no-image.svg loading="lazy"
                      decoding="async" class="img__small" alt="not supported" />
                </td>
              </tr>
              
            
          
            </table>
        </div>
    </div>
  </div>
  

<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="important-considerations">Important considerations</h2><p>Review the following considerations before using the Braze integration with RudderStack.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="device-mode-support-for-flutter-and-react-native">Device mode support for Flutter and React Native</h3><p>Device mode support for Flutter and React Native sources (as seen in the <a href="#connection-compatibility" >above table</a>) applies to mobile (Android and iOS) platforms only. If you are deploying a Flutter app to the web, you can send events to Braze via the Flutter SDK in cloud mode only.</p>
<p>As a workaround, you can create a separate <a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/" >JavaScript source</a> in RudderStack and use its <a class='glossary-tooltip' href='/docs/get-started/introduction/glossary/#write-key'>write keyThe write key (or source write key) is a unique identifier for your source. RudderStack uses this key to send events from a source to the specified destination.
</a> for the web build of your Flutter apps to send events to these destinations in web device mode.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="domain-allowlisting-for-web-device-mode">Domain allowlisting for web device mode</h3><p>In the web device mode integration, that is, when using <a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/" >JavaScript SDK</a> as a source, RudderStack loads the Braze native SDK from the <code>https://js.appboycdn.com/</code> domain.</p>
<p>Based on your website&rsquo;s content security policy, you might need to <a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/load-js-sdk/#allowlist-destination-domain" >allowlist this domain</a> to load the Braze SDK successfully.</p>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="setup">Setup</h2><ol>
<li>In your <a href="https://app.rudderstack.com/" >RudderStack dashboard</a>, set up a source.</li>
<li>Go to the <strong>Overview</strong> tab of your source and select <strong>Add Destination</strong> &gt; <strong>Create new destination</strong>.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/event-stream-destinations/add-new-destination.webp"
        
        >
        <img src="/docs/images/event-stream-destinations/add-new-destination.webp" 
         alt="Add new destination in RudderStack dashboard"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<ol start="3">
<li>Select <strong>Braze</strong> from the list of destinations. Then, click <strong>Continue</strong>.</li>
</ol>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="connection-settings">Connection settings</h2><table>
  <thead>
      <tr>
          <th>Setting</th>
          <th><div>Description</div></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Destination name</td>
          <td>Assign a name to uniquely identify the destination.</td>
      </tr>
      <tr>
          <td>Enable Platform-specific App Identifier Keys <br/> Beta</td>
          <td>Toggle on this setting to configure platform-specific App Identifier keys (Android, iOS, and web) for proper data attribution in Braze. <br /><br /><strong>Note</strong>: <br /><br /><ul><li>This setting is applicable only when sending events in <strong>device</strong> or <strong>hybrid</strong> mode.</li><li>Once toggled on, the appropriate fields for entering the platform-specific keys are displayed based on the connected sources.</li></ul> 
<blockquote class="warning">
  <div class="tip-quote">
    
    <div class="tip-text">To use this setting, your device mode integration needs to be on a specific minimum version. See <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/device-mode/#how-api-key-selection-works" >this section</a> for the supported versions.</div>
  </div>
</blockquote></td>
      </tr>
      <tr>
          <td>Default App Identifier Key</td>
          <td>Enter your <a href="#where-can-i-find-the-braze-default-app-identifier-key" >Braze Default App Identifier Key</a>. <br /><br />
<html lang="en">
<blockquote class="info">
  <div class="tip-quote">
    
    <div class="tip-text">RudderStack uses this key as a fallback if platform-specific keys are unavailable.</div>
  </div>
</blockquote>

</html></td>
      </tr>
      <tr>
          <td>REST API Key</td>
          <td>Enter the <a href="#where-can-i-find-the-braze-rest-api-key" >REST API key</a> associated with your project required for <strong>cloud mode connections</strong>. <br /><br /><strong>Note</strong>: When creating a new Braze Rest API Key for your app, make sure to select the following <a href="https://www.braze.com/docs/api/basics/#rest-api-key-permissions" >permissions</a>:<br /><br /> <table><tr><th>Permission</th><th>Description</th></tr><tr><td>users.track</td><td>For creating/updating users and registering events.</td></tr><tr><td>users.identify</td><td>For identity resolution of identified and anonymous users.</td></tr><tr><td>users.delete</td><td>For <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/cloud-mode/#delete-a-user" >deleting users</a>.</td></tr><tr><td>users.alias.new and users.merge</td><td>For aliasing users.</td></tr><tr><td>users.export.ids</td><td> For <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/trait-deduplication/" >deduplication</a>.</td></tr></table></td>
      </tr>
      <tr>
          <td>Data Center</td>
          <td>Specify the <a href="https://www.braze.com/docs/user_guide/data/data_centers/#list-of-data-centers" >data center</a> associated with your Braze account. See <a href="#supported-braze-data-centers" >Supported Braze data centers</a> for more information. <br /><br /><strong>Note</strong>: To get your data center details, log in to your Braze account and note your URL.</td>
      </tr>
  </tbody>
</table>
<!-- end-chunk -->
<!-- begin-chunk -->
<h4 id="supported-braze-data-centers">Supported Braze data centers</h4><table>
	<tbody>
		<tr>
			<th>Data center region</th>
			<th>Dashboard URL</th>
		</tr>
		<tr>
			<td>Australia</td>
			<td>https://dashboard.au-01.braze.com</td>
		</tr>
		<tr>
			<td rowspan="2">Europe</td>
			<td>https://dashboard-01.braze.eu</td>
		</tr>
		<tr>
			<td>https://dashboard-02.braze.eu</td>
		</tr>
		<tr>
			<td rowspan="8">US</td>
			<td>https://dashboard-01.braze.com</td>
		</tr>
		<tr>
			<td>https://dashboard-02.braze.com</td>
		</tr>
		<tr>
			<td>https://dashboard-03.braze.com</td>
		</tr>
		<tr>
			<td>https://dashboard-04.braze.com</td>
		</tr>
		<tr>
			<td>https://dashboard-05.braze.com</td>
		</tr>
		<tr>
			<td>https://dashboard-06.braze.com</td>
		</tr>
		<tr>
			<td>https://dashboard-07.braze.com</td>
		</tr>
        <tr>
			<td>https://dashboard-08.braze.com</td>
		</tr>
	</tbody>
</table>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="event-settings">Event settings</h3><table>
  <thead>
      <tr>
          <th>Setting</th>
          <th><div>Description</div></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Enable subscription groups in group call</td>
          <td>Turn on this setting to send the subscription group status in your <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/cloud-mode/#group" ><code>group</code></a> events. <br /><br /><strong>Note</strong>: This setting is available only in cloud mode.</td>
      </tr>
      <tr>
          <td>Use Custom Attributes Operation</td>
          <td>Turn on this setting to use Braze&rsquo;s <a href="https://www.braze.com/docs/user_guide/data_and_analytics/custom_data/custom_attributes/array_of_objects/" >nested custom attributes</a> functionality to create segments and personalize your messages using a custom attribute object. For more information, see <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/cloud-mode/#send-user-traits-as-nested-custom-attributes" >Send user traits as nested custom attributes</a>. <br /><br /><strong>Note</strong>: This setting is available only in cloud mode.</td>
      </tr>
      <tr>
          <td>Enable ecommerce recommended events <br/> Beta</td>
          <td>Turn on this setting to map RudderStack ecommerce <code>track</code> events to <a href="https://www.braze.com/docs/user_guide/data/activation/events/recommended_events" >Braze recommended ecommerce events</a> (<code>ecommerce.*</code>). <br /><br />See <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/recommended-ecommerce-events/" >Braze Recommended Ecommerce Events</a> for the event and field mappings. <br /><br /><strong>Note</strong>: <br /><br /><ul><li>This setting is toggled on by default.</li><li>When toggled on, <code>Order Completed</code> is sent as <code>ecommerce.order_placed</code> instead of Braze purchases.</li></ul></td>
      </tr>
  </tbody>
</table>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="deduplication-settings">Deduplication settings</h3><table>
  <thead>
      <tr>
          <th>Setting</th>
          <th><div>Description</div></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Deduplicate Traits</td>
          <td>Turn on this setting to enable traits <a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/trait-deduplication/" >deduplication</a> for the <code>identify</code> and <code>track</code> calls.</td>
      </tr>
  </tbody>
</table>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="web-sdk-settings">Web SDK settings</h3><p>Configure the following settings to send events to Braze in <a href="https://www.rudderstack.com/docs/destinations/rudderstack-connection-modes/#device-mode" >web device mode</a>:</p>
<table>
  <thead>
      <tr>
          <th>Setting</th>
          <th><div>Description</div></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Show Braze logs</td>
          <td>Turn on this setting to show Braze logs to the customers.</td>
      </tr>
      <tr>
          <td>Use web push notifications</td>
          <td>Turn on this setting to use <a href="https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/integration#step-1-configure-your-sites-service-worker" >push notifications for web</a>. <br /><br /><strong>Note</strong>: This feature requires you to set up a <a href="https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/integration" >service worker</a> on your site.</td>
      </tr>
      <tr>
          <td>Enable HTML in-app messages</td>
          <td>Turn on this setting to enable HTML in-app messages.</td>
      </tr>
      <tr>
          <td>Track events for anonymous users</td>
          <td>Turn on this setting to track anonymous user activity and send this information to Braze.</td>
      </tr>
  </tbody>
</table>
<!-- end-chunk -->
<!-- begin-chunk -->
<h3 id="other-settings">Other settings</h3><table>
  <thead>
      <tr>
          <th>Setting</th>
          <th><div>Description</div></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Client-side Events Filtering</td>
          <td>This setting lets you specify which events should be blocked or allowed to flow through to Braze. For more information on this setting, see <a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/event-filtering/" >Client-side Events Filtering</a>.</td>
      </tr>
      <tr>
          <td>OneTrust Cookie Categories</td>
          <td>This setting lets you associate the <a href="https://www.rudderstack.com/docs/data-governance/consent-management/onetrust/javascript/" >OneTrust</a> cookie consent groups to Braze.</td>
      </tr>
  </tbody>
</table>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="next-steps">Next steps</h2><ul>
<li><a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/cloud-mode/" >Send events in cloud mode</a></li>
<li><a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/device-mode/" >Send events in device mode</a></li>
<li><a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/hybrid-mode/" >Send events in hybrid mode</a></li>
<li><a href="https://www.rudderstack.com/docs/destinations/streaming-destinations/braze/recommended-ecommerce-events/" >Braze Recommended Ecommerce Events</a></li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk -->
<h2 id="faq">FAQ</h2><!-- end-chunk -->
<!-- begin-chunk -->
<h4 id="where-can-i-find-the-braze-default-app-identifier-key">Where can I find the Braze Default App Identifier Key?</h4><ol>
<li>Log in to your <a href="https://dashboard.braze.com/auth" >Braze dashboard</a>.</li>
<li>Go to <strong>Settings</strong> &gt; <strong>APIs and Identifiers</strong>.</li>
<li>Go to the <strong>App Identifiers</strong> section:</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/event-stream-destinations/braze-default-api-key.webp"
        
        >
        <img src="/docs/images/event-stream-destinations/braze-default-api-key.webp" 
         alt="Braze Default API Key"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<ol start="4">
<li>The <a href="#connection-settings" >Default App Identifier Key</a> for your specific app is listed here.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/event-stream-destinations/braze-default-api-key-2.webp"
        
        >
        <img src="/docs/images/event-stream-destinations/braze-default-api-key-2.webp" 
         alt="Braze Default API Key"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<!-- end-chunk -->
<!-- begin-chunk -->
<h4 id="where-can-i-find-the-braze-rest-api-key">Where can I find the Braze REST API Key?</h4><ol>
<li>Log in to your <a href="https://dashboard.braze.com/auth" >Braze dashboard</a>.</li>
<li>Go to <strong>Settings</strong> &gt; <strong>APIs and Identifiers</strong>.</li>
<li>Go to the <strong>API Keys</strong> section:</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/event-stream-destinations/braze-rest-api-key.webp"
        
        >
        <img src="/docs/images/event-stream-destinations/braze-rest-api-key.webp" 
         alt="Braze REST API Key"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>

<ol start="4">
<li>You can find the <a href="#connection-settings" >REST API Key</a> for your workspace listed here.</li>
</ol>

<figure class="image--main "  >
    <a 
         href="/docs/images/event-stream-destinations/braze-rest-api-key-2.webp"
        
        >
        <img src="/docs/images/event-stream-destinations/braze-rest-api-key-2.webp" 
         alt="Braze REST API Key"  
         
         
        decoding="async" loading="lazy" class="img-shortcode"/>
    </a>
    
</figure>


