Summarize this documentation using AI
Overview
Failed and attempted messages in Customer.io are your truth source for why a shopper did not get a critical email or SMS, even when your journey logic looks correct. For D2C teams, this is where you find revenue leaks in abandoned cart, browse abandon, and post-purchase replenishment flows, especially when performance suddenly drops and you need an answer in minutes, not days.
A realistic scenario: your abandoned checkout email shows a normal send volume, but Shopify revenue attributed to email falls off a cliff. The message log reveals a spike in “attempted” sends that were blocked by frequency rules, or “failed” sends caused by a domain authentication problem, so customers never saw the offer.
If you want a faster path from “something is off” to a clean fix and a stronger program, Propel can help you operationalize the right logging, QA, and alerting inside Customer.io, then tie it back to conversion impact. If you want help pressure-testing your setup, book a strategy call.
How It Works
Failed and attempted messages in Customer.io show you what happened at send time, per person, per message, across channels.
In practice, you will see two broad categories:
- Attempted: the system tried to send, but the message did not go out due to a rule or constraint (for example, message limits, missing subscription permission, or a campaign state issue).
- Failed: the message was sent to a provider or channel and came back with an error (for example, SMTP rejection, invalid phone number, push token issues, or provider-side blocks).
For D2C, the key is mapping each failure mode to a commercial consequence. If cart recovery SMS is “attempted” but blocked by frequency, you are not losing deliverability, you are losing reach because of governance. If post-purchase education emails are “failed” due to authentication, you are risking repeat purchase because customers do not get usage content and cross-sell prompts.
Teams we work with use the log as a daily operational dashboard, not a one-off troubleshooting tool, then build a short playbook for the top failure reasons. That playbook becomes part of campaign QA and release management in Customer.io.
Step-by-Step Setup
Failed and attempted messages in Customer.io become useful when you standardize how you inspect them and what you do next.
- Pick your “money flows” to monitor first. Start with abandoned checkout, abandoned cart, welcome to first purchase, and post-purchase cross-sell.
- Define what “normal” looks like. Record baseline send volume, delivery rate, and typical failure reasons per channel (email, SMS, push).
- Create a troubleshooting view by campaign and by person. When revenue dips, you want to quickly answer: is it isolated to one journey, one channel, or one segment (for example, Gmail-heavy list, international SMS)?
- Document your top 5 failure reasons and the fix. Example categories: suppressed email, missing SMS consent, frequency cap blocked, provider rejection, invalid address/number.
- Add QA checks before publishing journey changes. Every time you edit triggers, frequency, or subscription logic, verify what an “attempted” send would look like for a test profile.
- Set internal escalation rules. Decide when marketing can fix it (frequency, segment logic, subscription types) versus when you need engineering (event payload changes, identity merge issues, deliverability/authentication).
When Should You Use This Feature
Failed and attempted messages in Customer.io are most valuable when you are protecting high-intent revenue moments and you need fast root-cause clarity.
- Abandoned cart and checkout recovery: Use logs to confirm whether non-sends are caused by frequency caps, missing consent, or deliverability failures. This is often the difference between a 6 percent and 10 percent recovery rate.
- First purchase conversion journeys: If welcome offers underperform, check whether messages were attempted but blocked by subscription settings (common when you have multiple lists like promos vs transactional).
- Post-purchase education and cross-sell: If repeat purchase drops, validate that product care guides, replenishment reminders, and “complete the routine” emails are actually reaching inboxes.
- Reactivation: When winback sends look healthy but revenue is flat, logs can reveal list quality issues, suppression growth, or provider blocks that reduce effective reach.
Operational Considerations
Failed and attempted messages in Customer.io only drive outcomes when you connect the log to segmentation, data flow, and how your team ships changes.
- Identity and merging: D2C brands often have anonymous browsing and later identify at checkout. If identity merge is inconsistent, you can end up with messages “attempted” for profiles missing email or phone, even though the customer exists elsewhere.
- Consent and subscription types: Separate promotional and transactional subscription types cleanly. Many “attempted” issues come from sending a promo template through a transactional assumption, or vice versa.
- Frequency governance: Global message limits protect deliverability, but they can silently choke cart recovery during peak promos. Decide which flows can bypass limits (or have higher caps) and which cannot.
- Channel fallbacks: If SMS fails, do you fall back to email, or to push? Build explicit orchestration so a single channel failure does not equal a lost conversion.
- Attribution reality: A deliverability failure can look like “creative fatigue” in reporting. Use the log before you rewrite messages or swap offers.
Implementation Checklist
Failed and attempted messages in Customer.io are easiest to operationalize when you treat them like a monitoring system for revenue-critical journeys.
- List your top 5 revenue journeys and their primary channel(s).
- Define baseline delivery and failure rates per journey and channel.
- Create a shared troubleshooting doc mapping failure reasons to fixes and owners.
- Confirm subscription types and consent rules for email and SMS are correct.
- Review frequency caps and exemptions for cart and checkout recovery.
- Test identity merge behavior from anonymous browse to checkout.
- Add pre-launch QA steps for any journey edits (trigger, segment, frequency, channel).
- Set a weekly review cadence for failure trends, not just one-off incidents.
Expert Implementation Tips
Failed and attempted messages in Customer.io become a profit lever when you use them to prevent issues, not just explain them after the fact.
- Prioritize “attempted” fixes before “failed” fixes when revenue is dropping fast. In retention programs we’ve implemented for D2C brands, attempted messages are often the hidden culprit during promotional periods because frequency rules and consent logic change the reachable audience overnight.
- Build a cart recovery “minimum viable reach” rule. For example, if email is suppressed or blocked, route to SMS or push only when consent exists, then stop. This keeps you compliant while reducing lost high-intent sessions.
- Use failure spikes as a release alarm. If attempted messages jump right after a journey edit, roll back and isolate the change. Most teams lose days because they start by rewriting copy instead of validating send mechanics.
- Segment your monitoring by domain and geography. Gmail-heavy cohorts and international SMS cohorts fail differently. Catching a domain-specific issue early can save a weekend of lost revenue.
Common Mistakes to Avoid
Failed and attempted messages in Customer.io can mislead you if you do not separate channel mechanics from strategy decisions.
- Assuming low revenue means poor creative. Check logs first. If messages are not reaching customers, copy changes will not fix it.
- Over-tightening frequency caps globally. It protects inbox placement, but it can also block cart recovery at the exact moment you need it most.
- Mixing promo and transactional logic. This creates accidental blocks, especially for order and shipping updates that need guaranteed delivery.
- Ignoring identity edge cases. Guest checkout, multiple emails, and SMS-only buyers can create “attempted” sends to profiles missing required identifiers.
- No owner for fixes. If nobody owns deliverability, data, and orchestration together, issues bounce between teams and linger.
Summary
Use failed and attempted messages to find why revenue-critical sends did not reach shoppers, then fix the real constraint, whether it is consent, frequency, identity, or deliverability.
When cart recovery or post-purchase performance shifts suddenly, the message log in Customer.io is often the fastest route to a clean diagnosis.
Implement with Propel
Propel helps D2C teams turn Customer.io message logs into an operating system for QA, monitoring, and faster fixes across email and SMS. If you want help building the playbook and safeguards, book a strategy call.