Braze

What Is Braze?

Braze is a comprehensive customer engagement platform that enables businesses to create personalized marketing campaigns across multiple channels, including email, SMS, in-app messaging, and push notifications. It offers real-time data analytics and segmentation tools to help marketers understand and target their audience more effectively. The platform is designed for scalability and integrates easily with other marketing tools and systems, providing a seamless experience for managing customer interactions. Braze's focus on personalization and real-time engagement helps businesses enhance customer loyalty and drive growth.

What are the benefits of integrating MetaRouter with Braze?

  • Up to 30% more customer data in Braze
  • Real-time event stream that enables real-time journeys
  • First-party, parameter-by-parameter control over data sent to Braze
  • No Braze or other third-party tags required

Getting Started - From Your Braze Account

Create New REST API Key

  • Please see Braze documentation HERE for instructions.

Braze Instance URL

  • You can obtain the Braze instance URL from your Braze dashboard. It is typically provided during the account setup process and can also be found in account settings.
  • If you are unsure of your instance URL, please contact Braze support for assistance.

Getting Started - From Your MetaRouter Account

Adding a Braze integration.

From the integration library, add a Braze integration. Then, fill out the Connection Parameters:

Connection ParameterDescription
INSTANCE_URLThe unique URL assigned to your Braze account that you use to interact with Braze's API.
API_KEYA unique code that is passed into an API to authenticate the API call and identify the calling application or user

Event Mappings

MetaRouter provides all of the event mappings that Braze integrations typically require. You may add custom events, parameters or mappings in accordance with Braze’s API documentation.

Event Specific

Identify

  <th>
    Description
  </th>

  <th>
    Expected Input
  </th>
</tr>
  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `user_alias.alias_name`
  </td>

  <td>
    String: Alias name for the user
  </td>

  <td>
    `anonymousId`
  </td>
</tr>

<tr>
  <td>
    `user_alias.alias_label`
  </td>

  <td>
    String: Alias label for the user
  </td>

  <td>
    Enrichment - `anonymous_id`
  </td>
</tr>
Output Key
`external_id` **Required**

Page Event

  <th>
    Description
  </th>

  <th>
    Expected Input
  </th>
</tr>
  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    ```
    events.external_id

    ```**Required**
  </td>

  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.time`
  </td>

  <td>
    Date-Time: The time the event occurred
  </td>

  <td>
    `timestamp`
  </td>
</tr>

<tr>
  <td>
    `events.properties`
  </td>

  <td>
    Object: Custom properties for the event
  </td>

  <td>
    `properties`
  </td>
</tr>

<tr>
  <td>
    `events.name`
  </td>

  <td>
    String: Name of the event
  </td>

  <td>
    Enrichment - `page`
  </td>
</tr>
Output Key
`attributes.external_id` **Required**

Cart Viewed Event

Output KeyDescriptionExpected Input
attributes.external_id RequiredString: External user identifieruserId
events.external_id RequiredString: External user identifieruserId
events.timeDate-Time: The time the event occurredtimestamp
events.properties.cart_idString: Identifier for the cartproperties.cart_id
events.properties.currencyString: Currency for the transactionproperties.currency
events.nameString: Name of the eventEnrichment - cart_viewed

Product Added Event

  <th>
    Description
  </th>

  <th>
    Expected Input
  </th>
</tr>
Output Key
``` attributes.external_id
    ```**Required**
  </td>

  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.external_id`\
    **Required**
  </td>

  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.time`
  </td>

  <td>
    Date-Time: The time the event occurred
  </td>

  <td>
    `timestamp`
  </td>
</tr>

<tr>
  <td>
    `events.properties`
  </td>

  <td>
    Object: Custom properties for the event
  </td>

  <td>
    `input`
  </td>
</tr>

<tr>
  <td>
    `events.name`
  </td>

  <td>
    String: Name of the event
  </td>

  <td>
    Enrichment - `product_added`
  </td>
</tr>

Product Viewed Event

Output KeyDescriptionExpected Input
attributes.external_id RequiredString: External user identifieruserId
events.external_id RequiredString: External user identifieruserId
events.timeDate-Time: The time the event occurredtimestamp
events.propertiesObject: Custom properties for the eventinput
events.nameString: Name of the eventEnrichment - product_viewed

Products Searched Event

  <th>
    Description
  </th>

  <th>
    Expected Input
  </th>
</tr>
  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.external_id`\
    **Required**
  </td>

  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.time`
  </td>

  <td>
    Date-Time: The time the event occurred
  </td>

  <td>
    `timestamp`
  </td>
</tr>

<tr>
  <td>
    `events.properties`
  </td>

  <td>
    Object: Custom properties for the event
  </td>

  <td>
    `properties`
  </td>
</tr>

<tr>
  <td>
    `events.name`
  </td>

  <td>
    String: Name of the event
  </td>

  <td>
    Enrichment - `products_searched`
  </td>
</tr>
Output Key
`attributes.external_id` **Required**

Product List Viewed Event

  <th>
    Description
  </th>

  <th>
    Expected Input
  </th>
</tr>
  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.external_id`\
    **Required**
  </td>

  <td>
    String: External user identifier
  </td>

  <td>
    `userId`
  </td>
</tr>

<tr>
  <td>
    `events.time`
  </td>

  <td>
    Date-Time: The time the event occurred
  </td>

  <td>
    `timestamp`
  </td>
</tr>

<tr>
  <td>
    `events.properties.category`
  </td>

  <td>
    String: Category of the product list
  </td>

  <td>
    `properties.category`
  </td>
</tr>

<tr>
  <td>
    `events.properties.list_id`
  </td>

  <td>
    String: Identifier for the product list
  </td>

  <td>
    `properties.list_id`
  </td>
</tr>

<tr>
  <td>
    `events.name`
  </td>

  <td>
    String: Name of the event
  </td>

  <td>
    Enrichment - `product_list_viewed`
  </td>
</tr>
Output Key
`attributes.external_id` **Required**

Order Completed Event

Output KeyDescriptionExpected Input
N/A RequiredExpression to transform dataN/A - Expression

Required & Recommended Identifiers

These identifiers must be mapped to Braze in order for successful user matching to occur. Without these IDs, any events sent to Braze will be rejected. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

  <th>
    Example
  </th>

  <th>
    Sync Injector Required?
  </th>
</tr>
  <td>
    user12345
  </td>

  <td>
    No
  </td>
</tr>

<tr>
  <td>
    `user_alias.alias_name`\
    **Recommended**
  </td>

  <td>
    130161d0-8fee-4167-aa4d-d151eed27c6b
  </td>

  <td>
    No
  </td>
</tr>
Attribute
`external_id` **Required**

Additional Braze Documentation