Made by Rune Andersen @ Copenhagen, Denmark
Braze logo

Debug Braze in Chrome DevTools

To debug Braze in Chrome DevTools, install the free Event Watcher extension and open its panel: every Braze request is captured the moment it fires, decoded by a dedicated parser into named events, readable parameters, and consent signals, and cross-referenced against the visitor's consent state. Event Watcher has listed Braze under Marketing Automation since v1.0.0, and flags any Braze event that fires without marketing consent.

Orchestrates push, email, SMS, and in-app messages based on real-time user behavior and lifecycle stage.

Last updated:

Detected via
Network requests: Event Watcher matches the request URLs this platform sends
Consent category
Marketing consent: Event Watcher flags Braze activity that fires without it
Dedicated parser
Yes: requests are decoded into named events, parameters, and consent signals, not just raw URLs
Supported since
Event Watcher v1.0.0 (2026-02-20)
Vendor
braze.com
Show the URL patterns Event Watcher matches
  • sdk.iad-01.braze.com
  • sdk.iad-02.braze.com
  • sdk.iad-03.braze.com
  • sdk.fra-01.braze.eu
  • sdk.fra-02.braze.eu
  • .braze.com/api/
  • .braze.eu/api/
  • js.appboycdn.com
  • appboycdn.com

What Braze traffic looks like

The Braze Web SDK batches everything since the last flush into one JSON envelope. Counting requests instead of events undercounts activity.

Endpoint pattern
SDK from js.appboycdn.com (the pre-rebrand Appboy CDN name persists); cluster-specific REST hosts sdk.iad-01.braze.com through sdk.iad-03.braze.com for US, sdk.fra-01.braze.eu/sdk.fra-02.braze.eu for EU
Transport
Data-collection POST to /api/v3/data/ with a JSON envelope batching all events since the last flush: a session start plus two custom events in a single POST is normal
Key parameters
events[] with short type codes as name: ss session start · se session end · p purchase (product ID, price, currency directly on data) · ce custom event (human-readable name at data.n, the site team's property bag at data.p) · top-level api_key (the app's public SDK key), device_id, sdk_version, and a timestamp
Payload
device block: browser, OS version, resolution, locale, time zone, user agent

A typical data-collection envelope, as Event Watcher captures it:

{
  "api_key": "6f2b8c…",
  "device_id": "8c41d7…",
  "sdk_version": "5.4.0",
  "events": [
    { "name": "ss", "time": 1754640000 },
    { "name": "ce", "data": { "n": "Newsletter Signup", "p": { "plan": "free" } } }
  ]
}

Debugging Braze with Event Watcher

  • A dedicated Braze parser unpacks the batch: each event decoded with its type code translated to a human label (Custom Event, Purchase, Session Start, Session End).
  • The real event name is pulled from data.n, and the custom property bag shows as readable data.
  • API key, device ID, and SDK version surface alongside the device block.
  • Every request also gets the cookies section and the consent verdict.

Braze and consent

Marketing consent

The extension checks Braze against marketing consent, a natural fit, since the SDK feeds lifecycle messaging (push, email, in-app) from behavioral data tied to a device and user profile.

A /api/v3/data/ POST with a device_id while the CMP is undecided is marked pre-consent and counted.

Correct setups gate SDK initialization behind the CMP callback, so no Braze traffic appears until the grant.

Batching caveat: a pre-consent SDK may flush queued events after the banner interaction. Check the decoded event timestamps, not just the request time.

Common debugging scenarios

  • Custom event missing from a canvas/campaign trigger. Filter to Braze, expand the batch, and check data.n spelling and the property names in data.p against what the campaign trigger expects.
  • Purchases not attributing. Confirm a p event with the right product ID and price is actually in a batch on the confirmation page.
  • Sessions inflated or fragmented. Watch the cadence of ss/se events across a browsing session; SPA route handling and multiple tabs are the usual causes.
  • Which cluster am I on? Pivot Grouped view by Endpoint to confirm the SDK targets the expected braze.com/braze.eu cluster. An EU site posting to a US cluster is a data-residency finding.
  • Pre-consent initialization. Walk the page with the CMP undecided and verify no data POSTs occur; compare behavior against other marketing platforms such as Salesforce Marketing Cloud on the same property.

See Braze traffic on your own site

Free, no account, runs entirely inside Chrome DevTools.

Add to ChromeFree on the Chrome Web Store

Related guides

More marketing automation platforms