Braze

Stack Monitors

Monitor Braze with Crowswatch

Track aggregate engagement KPIs, campaign and Canvas analytics, sessions, and revenue from your Braze workspace directly from Crowswatch. These feeds are aggregate counts and rates only, so no end-user personal data is ingested.

What This Integration Provides

  • Engagement KPIs: daily new users, daily active users, monthly active users, and daily app uninstalls
  • Sessions: app sessions over time across the workspace
  • Revenue: total revenue, number of purchases, and the list of product IDs
  • Messaging analytics: campaign, Canvas (series and summary), and per-send performance
  • Custom events: occurrences of a custom event over time
  • Segments: estimated segment size over time
Crowswatch ingests aggregate analytics only. Per-user profile and segment record exports are deliberately not supported: they contain personal data and do not fit a live monitoring loop.

Requirements

RequirementDetail
Braze accountAny plan with REST API access
REST API keyWith the data-series permissions for the feeds you want (see below)
REST endpointYour region instance host (Braze is region-sharded)
Estimated setup time~5 minutes

Step 1: Create a REST API Key

Braze REST API keys are created by you inside the Braze dashboard. They are not generated by an external tool.

  1. Log in to Braze and go to Settings → APIs and Identifiers
  2. Open the API Keys tab and click Create API Key
  3. Name it something identifiable, for example Crowswatch monitoring
  4. Grant the read-only data-series permissions for the feeds you want to monitor (see the permissions table below). No send or user-write permissions are needed
  5. Save, then copy the key. It is only shown once
Grant only the data-series permissions you need. Crowswatch never needs send, messaging, or user-write permissions.

Step 2: Find Your REST Endpoint

Braze is region-sharded, so there is no single base URL. In Crowswatch you pick your instance by its label and the REST host is set behind the scenes. If your cluster is not listed, use the manual override field. Note that US-10 uses the rest.us-10host pattern, not rest.iad-10, and there is no US-09.

InstanceREST endpoint
US-01https://rest.iad-01.braze.com
US-02https://rest.iad-02.braze.com
US-03https://rest.iad-03.braze.com
US-04https://rest.iad-04.braze.com
US-05https://rest.iad-05.braze.com
US-06https://rest.iad-06.braze.com
US-07https://rest.iad-07.braze.com
US-08https://rest.iad-08.braze.com
US-10https://rest.us-10.braze.com
EU-01https://rest.fra-01.braze.eu
EU-02https://rest.fra-02.braze.eu
AU-01https://rest.au-01.braze.com
ID-01https://rest.id-01.braze.com
JP-01https://rest.jp-01.braze.com
KR-01https://rest.kr-01.braze.com

Step 3: Add Credentials to Crowswatch

Navigate to: Crowswatch → Integrations → Connect Braze

FieldValue
REST API KeyThe key created in Step 1
InstanceYour Braze instance label (or the REST host via manual override)

Use Check feed access after entering your key to validate which feeds it can reach before you connect.

Available Feeds and Required Permissions

Each feed needs a specific Braze permission on your API key. Crowswatch names the exact permission when a feed is unavailable.

FeedRequired permission
Daily new users (KPI)kpi.new_users.data_series
Daily active users (KPI)kpi.dau.data_series
Monthly active users (KPI)kpi.mau.data_series
App uninstalls (KPI)kpi.uninstalls.data_series
Campaign analyticscampaigns.data_series
Canvas analytics (series)canvas.data_series
Canvas analytics (summary)canvas.data_summary
Send analyticssends.data_series
Custom event analyticsevents.data_series
Sessionssessions.data_series
Revenuepurchases.revenue_series
Number of purchasespurchases.quantity_series
Product IDspurchases.product_list
Segment analyticssegments.data_series

Scope Validation: 401 vs 403

When you connect, Crowswatch validates each selected feed against your key. The two failure cases are handled separately because they mean different things.

  • 401 Unauthorized: the key is invalid, missing, revoked, or disabled. This affects every feed, so it surfaces as a single connect-level error. Re-check the key and the selected instance
  • 403 Forbidden: the key is valid but lacks the permission for that one feed. Crowswatch marks just that feed unavailable and names the permission to grant from the table above

Rate Limits and Polling

  • Most endpoints share a default limit of 250,000 requests per hour
  • The campaign analytics endpoint has its own limit of 50,000 requests per minute

Crowswatch polls conservatively. Aggregate daily series do not need frequent polling, so these limits are comfortable.

Security

  • The REST API key is a secret. Crowswatch stores it encrypted and never exposes it after entry, never logs it, and never puts it in a URL
  • Grant only the read-only data-series permissions for the feeds you monitor
  • Create a dedicated key for Crowswatch and rotate it periodically

Troubleshooting

Every feed reports a key problem

This is a 401. The key is invalid, revoked, or disabled, or the selected instance is wrong. Confirm the key, then confirm your instance matches your workspace region (US-10 uses rest.us-10, not rest.iad-10).

One feed shows a missing scope

This is a 403. The key is valid but lacks that feed’s permission. Grant the listed permission in Braze under Settings, APIs and Identifiers, then run Check feed access again.

No data after connecting

Confirm the instance or host matches your workspace region, and that the key holds the data-series permission for the feeds you selected.

A campaign, Canvas, or segment feed asks for a selection

Those analytics are scoped to a specific entity. Account-wide feeds (KPIs, sessions, revenue) chart immediately; entity selection for the others arrives with the upcoming monitoring features.