Compare

Three ways to monitor Braze workflows, and what each one misses

Native Canvas analytics show what Braze tried to do. Currents streams event data to your warehouse. Receive-side monitoring watches what actually arrived in the inbox. Each approach catches different failure modes, and all three have latency or coverage gaps that matter when a critical flow goes silent.

The three approaches

Where each monitoring method focuses

1

Canvas analytics (native)

Real-time view of entry counts, message sends, opens, clicks. Shows you what Braze recorded on the send side. Does not confirm inbox arrival, cannot detect a trigger that stopped firing silently, and does not alert when expected send volume drops to zero without an error event. You see aggregates and conversion funnels, not per-message outcomes. If a Canvas step queues a thousand sends and five hundred bounce at the mailbox provider, Canvas analytics reports a thousand sends. The platform does not know what happened after handoff.

2

Currents (data export)

Event-level stream to your warehouse or BI tool. Lets you query patterns Canvas dashboards do not expose: duplicate sends, suppression conflicts, delay drift. Batched delivery means minutes to hours of latency. Real-time alerting is not the job Currents was built for. A typical enterprise Currents pipeline processes events in five-minute batches, lands them in S3, and indexes them in Snowflake or Redshift within the hour. For post-hoc analysis, this is ideal. For catching a broken workflow before the second customer complains, it is too slow.

3

Receive-side monitoring

Monitors a live inbox for expected sends. Detects when a workflow silently stops firing, when sends arrive late, when content breaks in transit. Alerts within minutes. Does not track inbox placement across mailbox providers or diagnose sender reputation issues. The approach confirms that the message arrived in a real inbox with the correct subject, sender, and body structure. It does not measure deliverability to Gmail versus Outlook, or explain why a campaign landed in spam. It answers one question: did the email we expected to send actually arrive?

What breaks where

Failure coverage by monitoring approach

Failure mode Canvas Currents Receive-side
Trigger stops firing, zero sends No Partial Yes
Suppression rule overreach No Yes Yes
Delay node misconfigured, sends arrive late No Yes Yes
Liquid tag breaks, renders blank field No No Yes
Connected Content API fails silently Partial Partial Yes
Duplicate sends to same user Partial Yes Yes
Send volume drops 80% overnight No Delayed Yes

Operator context

What these gaps look like in production

The silent trigger stop

A broadcaster runs a Saturday morning newsletter Canvas that fires every week at 08:00 UTC. One Saturday, the first subscriber email arrives at 09:03. Canvas analytics show the workflow as active, entry count climbing, zero error events. The trigger had silently stopped queuing sends for the first hour. The inbox was empty. Canvas could not surface this because the platform reported what it attempted, not what the inbox received.

The operator discovered the issue when subscriber complaints spiked at 09:15. By that point, five thousand subscribers had checked their inbox at the usual time and found nothing. The newsletter runs on a fixed schedule. The audience expects it. When it does not arrive on time, trust erodes faster than for a promotional send that can land any day. The trigger failure was not a Braze bug. A recent Canvas update had inadvertently disabled the scheduler. Canvas analytics showed the Canvas as live, but the trigger logic was off. No error flag, no alert, no visibility until the inbox silence became obvious.

Late arrival versus genuine breakage

A twenty-minute delay is often a scheduling or timezone drift, not a send failure. A sixty-minute delay with zero arrivals is usually a broken trigger or suppression overreach. Canvas analytics show both scenarios identically: messages queued, no errors. Currents will eventually log the delay, but by the time the event lands in your warehouse, the damage window has already passed. Receive-side monitoring catches this within two minutes of the expected window closing, before the second wave of confused customers reaches support.

Consider a post-purchase confirmation flow. The customer completes checkout at 14:22. They expect the confirmation email within five minutes. It does not arrive. They check spam. Still nothing. At 14:35, they open a support ticket. The CRM operator checks Canvas and sees the send logged at 14:23, marked delivered. The customer insists they received nothing. The operator cannot reproduce the issue because the Canvas looks healthy. Three hours later, the email arrives. The delay was caused by a misconfigured Action-Based Delivery window that reset the send time to a daily batch. Canvas logged the send when it was queued, not when it left. The customer had already requested a refund.

The Liquid tag that renders blank

A promotional flow pulls a discount code from a Connected Content endpoint. The endpoint returns a 200 status but the JSON structure changes. The Liquid variable renders blank. Canvas shows the send as delivered. Currents logs the send event with no error flag. The inbox receives an email with a missing code. Only receive-side monitoring spots this, because it checks the rendered content that actually arrived.

The operator who built the flow tested it once, six weeks ago, when the Connected Content response had the expected structure. The API changed without a version bump. The Liquid fallback was not configured. Canvas does not parse rendered email bodies for blank merge tags. Currents does not either. The first customer email arrived at 11:03 with a subject line that read "Your exclusive 15% code inside" and a body that said "Use code at checkout" with two spaces where the code should have been. The customer forwarded it to support. By the time the operator saw it, two hundred more had gone out. The flow was paused at 11:47, forty-four minutes after the first broken send.

Suppression rule overreach after a data model change

A lifecycle team adds a global suppression rule to prevent sends to users who unsubscribed from marketing. The rule references a custom attribute that was recently renamed in the CDP. Canvas does not throw an error when a suppression rule references a nonexistent field. It silently suppresses nothing, or in some configurations, suppresses everything. The operator does not discover this until send volume for three workflows drops to zero overnight.

Canvas analytics show the workflows as active. Entry counts are normal. Sends are zero. Currents will eventually log the suppression events, but the batching delay means the operator does not see the pattern until the next morning. Receive-side monitoring flags the issue within two minutes of the first missed send, because the expected arrival never happens. The root cause is diagnosed in fifteen minutes instead of twelve hours.

The latency trade-off

Why real-time alerting matters for critical flows

Canvas analytics update in real time but only show what Braze attempted. Currents delivers complete event detail but batches it, often with minutes to hours of lag depending on your tier and event volume. Receive-side monitoring trades event completeness for speed: it watches one synthetic subscriber per flow and alerts within two minutes of a missed arrival.

For a post-purchase confirmation or a password reset, two minutes is the difference between catching the issue before the second customer notices and discovering it three hours later via a support ticket spike. For a weekly newsletter, Currents latency is fine. For a transactional workflow where silence means lost revenue or trust, it is not.

The decision comes down to how long you can afford to wait before you know something broke. If your SLA is "we notice it in the next batch export and fix it by end of day," Currents is the right tool. If your SLA is "we page someone within five minutes of a silent failure," you need receive-side monitoring. Canvas analytics sit in the middle: real-time, but only for what Braze tried to do, not for what the inbox actually received.

When to use which

Matching the tool to the job

Use Canvas analytics when

  • You need real-time campaign performance metrics: opens, clicks, conversions.
  • You are diagnosing a Canvas configuration issue and need to see step-by-step progression.
  • You are running A/B tests and want immediate variant results.

Use Currents when

  • You need event-level data in your warehouse for custom reporting or ML models.
  • You are auditing suppression rule conflicts or duplicate send patterns across workflows.
  • Latency of minutes to hours is acceptable for your use case.

Use receive-side monitoring when

  • A workflow failing silently for an hour carries material revenue or brand risk.
  • You need alerts within minutes, not hours, when expected sends do not arrive.
  • You want to catch broken Liquid tags, missing Connected Content data, or late arrivals before customers notice.

Where Telltide fits

Receive-side monitoring for Braze