Customer.io
Three silent send failures on Customer.io.
Customer.io campaigns ride on event streams and segments, and most silent failures are upstream shape changes that the campaign accepts without flagging. Three silent stops the community reports most often on Customer.io.
The detection gap
What changes when a flow is instrumented.
A silent send failure follows the same six steps on every ESP. The platform handles the first two well. The next four are where the lag lives, and where the wallet card flips the timeline.
Step
Your ESP today
With Telltide instrumented
1. Trigger fires
Logged
Identical, the ESP handles this
2. Send leaves platform
Counted
Identical, the ESP handles this
3. Send fails silently
No surface
Wallet card flips amber
4. You are alerted
Not until a customer complains
Lock-screen banner within minutes
5. Triage starts
Hours later, on the next dashboard scan
From the wallet card, on the same screen
6. Fix lands
After revenue impact is visible
Before revenue impact is visible
The lag is not a tooling absence. It is the difference between a per-event log and a status surface a human checks without thinking. The wallet card is that surface.
Pattern 1 of 3
Segment query returns zero after a property rename
What it looks like
A campaign's segment filter references a property that an integration renamed. The segment still resolves, but with zero people in it. The campaign reports as Active with zero sends. The team interprets the drop as a quiet week.
Why detection lags
Customer.io does not treat zero-audience segments as a failure. The campaign continues to run. The drop is visible only in segment counts and only if a human happens to check.
Zero-audience segments are not treated as failures.
Telltide alert email, illustrative
Subject: Monitor missed: Onboard nudge
MISSED WINDOW
No email received: Onboard nudge
The Day-2 send arrival window closed without a matching email.
Investigate monitor →
What to instrument
Seed profiles set up to match the segment validate the filter. If the seed segment count is zero, the live segment is zero for the same reason.
Pattern 2 of 3
Conversion goal triggers an early exit before messages send
What it looks like
A campaign has a conversion goal tied to an event. An upstream system starts firing the event prematurely or for the wrong user. Recipients exit the campaign before reaching the send step. The campaign reports completions but few sends.
Why detection lags
The campaign dashboard counts the exits as conversions, which looks like success. The fact that conversions arrived before any message did is not surfaced at the aggregate.
Conversions that arrived before any message did still read as success.
What to instrument
Seed profiles immune to the conversion event walk the campaign end to end. If seed sends land while live counts crater, the conversion event is firing too early in the live audience.
Pattern 3 of 3
Liquid error in segmentation silently breaks the campaign
What it looks like
A segment uses Liquid for dynamic membership. A referenced attribute is removed or renamed. The Liquid expression errors during per-profile evaluation and the segment quietly evaluates as empty. The campaign is enabled but has no audience.
Why detection lags
The Liquid error fires inside per-profile segment evaluation, so the failure is logged against the profile, not the campaign. Customer.io shows the campaign as running and the segment count drops to zero, but neither surface links the drop back to the Liquid error itself.
The failure is logged against the profile, not the campaign.
What to instrument
Seed profiles with the expected attributes validate the segment. If the seed segment count drops, the live segment is broken for the same reason.
Self-audit
Ten ticks. Each one you cannot mark is exposure.
Run this against your own programme. If you finish with three or more unticked, the case for instrumenting one flow this week is the rest of this document.
-
Trigger metrics for your top three flows are reviewed monthly for rename and event-shape drift.
-
Send-skip reasons (send-time optimisation, frequency caps, send classifications, suppression hits) are aggregated to a per-flow report you maintain, since the platform does not roll them up.
-
Webhooks the flow depends on, inbound triggers and outbound callouts both, are pinged on a separate health check that fires independently of the flow.
-
Catalogue or product feed fields used in flow filters have a daily canary record that matches the filter clause and fails the build if the match returns zero.
-
Audience filters on each live flow alert if the matching profile count drops by more than a configured share week-over-week.
-
A pre-send validator catches broken template syntax and unresolved merge tags on every send, not only the compose-time linter.
-
Suppression lists driven by upstream integrations are monitored for runaway growth above a daily baseline.
-
Subscription type, consent, or preference centre changes are versioned and diffed against the previous published state before publish, so silent removals are caught.
-
Lists, segments, or upstream data feeds that power live flows have a freshness SLA and an alert if the SLA breaks.
-
Every flow critical to revenue has a seed address subscribed to it that lands within the flow's normal arrival window.
Detection Guarantee
The Detection Guarantee covers your first 90 days on Starter. If we miss a silent send failure on a monitored flow inside that window, we credit up to three months of the affected tier. One page of terms, plain English, no carve-outs.
2:12
Detail
Welcome 1 missed window
Updated
18 May 2026, 2:12 pm
Your Telltide Card. Green when every monitor is healthy. Flips amber and pushes to your lock screen the moment a flow stops sending.
Start free, instrument one flow. The wallet card unlocks on Starter, with a fourteen-day free trial when you add it. Roughly ten minutes end to end.