DTC ecommerce · the message sent by the wrong system
Your two-year subscriber and a first-time buyer get the exact same payment-failed email.
A failed-payment notice usually comes straight from the billing platform’s own default notification system, never touching the email layer that already knows this customer’s tenure and order history. The message reads the same regardless of who is actually receiving it.
The desire, and the notice that skipped the platform
Nobody searching “subscription billing software” wants a payment processor. They want a loyal subscriber whose card simply expired to be treated differently from a stranger’s first payment failing — not identical treatment because the message was never personalized at all.
- 1. The default — billing sends its own notice. Payment retry has to work with or without a marketing platform connected, so it ships as a self-contained function. This is the well-known half, and the reason it works reliably out of the box.
- 2. The gap — it never reaches the personalized layer. Klaviyo already has the tenure and order history that personalizes every other send. The billing platform’s default notice was never routed through it, because nobody had to.
- 3. The close — route dunning through the same system. A payment-retry event becomes one more trigger in the platform that already personalizes everything else, instead of a message from a system that knows nothing about the customer receiving it.
The same catalog-and-behavior feed argument this site made for product descriptions and cart-abandon flows applies here — one more send type still living outside it.
Which platform this runs on
- Ecommerce platform and email/SMS layer, by scale — Shopify and Klaviyo, the layer dunning should route through.
- AI email marketing: one catalog feed, two AI outputs — where this same argument was first made, for a different send type.
- Customer retention software: the reason it never reads — the same personalized layer, a different unread signal.
Some links on the recommendation page are partner links: the vendor pays us if you sign up, your price does not change, and each button says which.
How to build it yourself, end to end
Five steps. Each names the vendor touchpoint from the picks above.
- 1. Turn off the billing platform’s default notification, not just add a second one. Two payment-failed emails to the same customer is worse than one generic one — the default has to be replaced, not duplicated.
- 2. Send the payment-failed event to the email platform as a trigger. Most billing platforms support a webhook or native integration for this; the event needs to reach Klaviyo, not just fire the built-in email.
- 3. Branch the message on subscriber tenure. A long-tenure subscriber gets a warmer tone and more retry patience; a first-charge failure gets a direct, simple message.
- 4. Keep the retry schedule itself unchanged. This is about the message, not the billing mechanics — the number of retry attempts and their timing stay whatever the billing platform already runs.
- 5. Track payment-recovery rate against the old default. The only way to know the personalized version is worth maintaining is comparing recovered payments against what the generic notice produced before.
Step 1 is the one to get right first — a duplicate notice from two systems reads worse than the generic single one this was meant to improve on.
Or have it scoped and built
Rerouting dunning notices through your email platform is scoped work against your specific billing and catalog stack — the readiness assessment is where that gets mapped out before anything is built.
Frequently asked
- Is this the same idea as ai-email-marketing?
- It applies the same argument — route triggered sends through the personalized system, not a separate one — to a send type that usually skips it entirely. Ai-email-marketing was about product-description and cart-abandonment sends already living inside the same platform gap. Payment-retry notices are a step further out: most subscription platforms send them from their own built-in system by default, never touching the marketing platform at all.
- Why does billing software send its own notifications separately?
- Because payment retry needs to work regardless of whether a marketing platform is even connected — it is a core billing function, not a marketing one, so most subscription tools ship a built-in notification system as the safe default. Nobody has to configure anything for it to work, which is exactly why nobody usually goes back and reroutes it.
- What would routing the notice through the marketing platform change?
- The same tenure and order-history data that already personalizes a win-back email could shape the payment-retry message — a loyal subscriber gets a warmer, more patient tone across more retry attempts; a first-charge failure gets a straightforward one.
- Which platform should this run on?
- Shopify and Klaviyo for the catalog, order and email layer; whatever subscription billing platform sits on top, configured to route its notifications through Klaviyo instead of its own default sender. The pick by scale is on the recommendation page linked below.