Braze integration
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
emailandalias_nameequal 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
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.
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).
Wonderment: the Braze tile is available under Settings → Integrations when the
braze_integrationfeature is enabled for your account. If you do not see Braze, contact your Wonderment representative.
Integration setup
Step 1 — Open the Braze settings page
In the Wonderment / Track by Loop dashboard, go to Settings → Integrations.
Open Braze.
Step 2 — Save API credentials
REST endpoint
Enter the origin only (HTTPS, no path, query, or credentials), for example:
https://rest.iad-01.braze.comMust match the region / cluster where your Braze app lives.
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.
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:
Choose Campaign or Canvas to match what you built in Braze.
Enter the Campaign or Canvas API ID from Braze.
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: trueMessage,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:
Choose Campaign or Canvas.
Paste the Braze API identifier for that API-triggered campaign or Canvas.
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:emailalias_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 |
|---|---|
| Carrier tracking number |
| Service level info |
| Status / slug context for the event |
| Shopper tracking link |
| Carrier or other tracking URL |
| Encoded lookup token |
| Internal admin shipment URL |
| Contact info |
| Order identifiers |
| Money fields |
| Order status page |
| Carrier labels |
| Dates (formatted where applicable) |
| ISO-style destination |
| When fulfillment created date is present |
| Stalling signal when applicable |
| Line item array (PascalCase keys inside) |
| Arrays |
| Nested address objects |
| Present when enhanced multi-fulfillment data is enabled |
| 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 |
User not matched in Braze | Alias |
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.
