Braze integration

Edited

This guide explains how to connect Track by Loop / Wonderment to Braze, map fulfillment events to API-triggered campaigns or Canvases, and use the payload Braze receives. It reflects the current product behavior; treat as draft until published in your help center.


What the integration does

When a shopper’s order hits configured fulfillment / tracking events, Wonderment calls Braze’s REST API to trigger an API-triggered campaign or Canvas entry. Each send includes:

  • Recipient: the customer’s email, as a Braze user alias with label email and alias_name equal to that email address (so Braze can match or create the right profile for messaging).

  • Payload: a set of PascalCase properties in trigger_properties (same general shape as Wonderment’s Iterable-style marketing payloads), with tracking links, order fields, line items, addresses, and more.

The integration does not replace Braze segmentation or channel rules; it only fires the API trigger and passes properties. Delivery still depends on your Canvas/campaign setup, user eligibility, and channel configuration in Braze.


Prerequisites

  1. Braze workspace with:

    • Your REST endpoint (instance URL), e.g. https://rest.iad-01.braze.com (US) or your cluster’s URL from Braze → Settings → APIs and identifiers → API endpoints.

    • A REST API key with permission to send API-triggered messages (campaign/canvas trigger send), not only SDK or export keys.

  2. In Braze, create API-triggered messaging:

    • An API-triggered campaign, or

    • An API-triggered Canvas (with an API-triggered entry). Copy the API identifier Braze shows for that campaign or Canvas (used as the “Braze ID” in Wonderment).

  3. Wonderment: the Braze tile is available under Settings → Integrations when the braze_integration feature is enabled for your account. If you do not see Braze, contact your Wonderment representative.


Integration setup

Step 1 — Open the Braze settings page

  1. In the Wonderment / Track by Loop dashboard, go to Settings → Integrations.

  2. Open Braze.


Step 2 — Save API credentials

  1. REST endpoint

    Enter the origin only (HTTPS, no path, query, or credentials), for example:

    https://rest.iad-01.braze.com

    Must match the region / cluster where your Braze app lives.

  2. REST API key

    Paste your Braze REST API key. After save, the UI may mask the key; use the trash control if you need to replace it.

  3. Click Save credentials.

If save fails, the error message is returned from validation (e.g. invalid URL, wrong host, missing key). Use a key that can call Braze’s campaign/canvas trigger endpoints.


Step 3 — Test the connection (recommended)

Before mapping live events, use Test connection:

  1. Choose Campaign or Canvas to match what you built in Braze.

  2. Enter the Campaign or Canvas API ID from Braze.

  3. Enter a test recipient email that exists (or will exist) in Braze with a profile you can message.

Click Send test trigger. Wonderment sends a small payload including:

  • WondermentTest: true

  • Message, TestedAt, CustomerEmail

A success response means Braze accepted the API request (often HTTP 2xx). It does not guarantee the user received an email/SMS/push—that still depends on Braze steps, channels, and eligibility.

If the UI shows dispatch ID or API message from Braze, you can use those in Braze for tracing.


Step 4 — Map events to Braze IDs

Under Event mappings, each row is a Wonderment fulfillment event (same events you use elsewhere in Track by Loop).

For each event you care about:

  1. Choose Campaign or Canvas.

  2. Paste the Braze API identifier for that API-triggered campaign or Canvas.

  3. Click Save for that row.

To remove a mapping, use Clear (or disconnect Braze to remove all mappings and credentials).

Requirements for real sends:

  • Credentials must be saved.

  • The event row must have a non-empty Braze ID.

  • The shipment must have a customer email; sends are skipped when email is missing.

Note: The DELIVERY_ANTICIPATION event is not sent to Braze by this integration. Certain other events may be deduplicated internally (e.g. repeat emits for the same fulfillment) consistent with Wonderment’s dispatch rules.


Step 5 — Using the data in Braze

Recipient identity

Wonderment targets the recipient with a user alias:

  • alias_label: email

  • alias_name: the customer’s email address (trimmed)

Ensure your Braze profiles can be reached with that pattern (e.g. the same email as standard profile email, or an alias you merge via Braze’s APIs). If API-triggered sends do not match users, check User profiles and alias setup in Braze.

trigger_properties (Liquid / personalization)

In your API-triggered campaign or Canvas, reference properties under the object Braze exposes for API triggers (per Braze docs, often api_trigger_properties or your message’s configured namespace).

Properties use PascalCase keys. Examples (not exhaustive; availability depends on the shipment and event):

Property

Description

TrackingCode

Carrier tracking number

ServiceLevel, ServiceLevelCode, ServiceLevelFriendlyName

Service level info

CurrentStatus

Status / slug context for the event

WondermentOrderTrackingURL

Shopper tracking link

TrackingURL

Carrier or other tracking URL

WondermentTrackingToken

Encoded lookup token

WondermentAdminShipmentPage

Internal admin shipment URL

CustomerEmail, CustomerPhone

Contact info

OrderNumber, OrderID

Order identifiers

OrderSubtotal, OrderTax, OrderShipping, OrderTotal, TotalDiscounts

Money fields

OrderStatusURL

Order status page

CarrierName, CarrierNameFriendly

Carrier labels

EventDate, DeliveredAt, EstimatedPackageDelivery, FulfillmentCreatedDate, OrderCreatedDate, NotUpdatedSince

Dates (formatted where applicable)

DestinationCountryCode

ISO-style destination

BusinessDaysSinceFulfillmentCreated

When fulfillment created date is present

HoursStalled

Stalling signal when applicable

LineItems

Line item array (PascalCase keys inside)

ProductNames, Skus

Arrays

FulfillmentAddress, ShippingAddress

Nested address objects

OtherShipmentsInThisOrder, LineItemsFloating, TotalShipments

Present when enhanced multi-fulfillment data is enabled

StorefrontTrackingURL

When a storefront tracking page path is configured

Use Braze’s preview and Canvas / campaign test tools to validate Liquid against a real or test trigger.

Filtering test traffic

Test sends from the dashboard set WondermentTest: true in trigger_properties. You can branch in Canvas or use that flag in Liquid to avoid counting tests as production metrics.


Disconnecting

Disconnect Braze removes the stored REST endpoint, API key, and all event-to-Braze mappings for that shop. You can reconnect later with new credentials and mappings.


Troubleshooting (quick reference)

Issue

Things to check

No Braze tile

Feature flag / account access

Save credentials fails

HTTPS Braze REST host only; correct regional URL; valid API key

Test succeeds but no message

Braze channel, suppression, entry schedule, audience; user exists and is reachable

Live events never fire

Mapping saved for that event; customer email present; Braze credentials present; not DELIVERY_ANTICIPATION; dedupe rules

User not matched in Braze

Alias email + email string; profile merge / external_id strategy in Braze


Support

For product bugs or feature requests, contact Wonderment / Track by Loop support with your shop domain, approximate time of a test send, and any dispatch ID or error text from the dashboard.

For Braze-side behavior (eligibility, channels, Canvas logic), use Braze documentation and support.