- Let your subscription app send the actual failed payment notice. Recharge's includes a secure link to update billing details.
- Check which payment failure events your app sends to Klaviyo before you build anything. Skio and Loop document theirs. Recharge's current Klaviyo metrics list doesn't include one.
- Retries recover some failed charges on their own. Skio puts it at about 15% on average. The rest need the customer to act.
- The best failed payment email is the one you never send. A pre-charge reminder gives people time to fix a card before the charge.
- Keep the payment notice about the payment. No offers, no new products.
Why do subscription payments fail?
Most failed charges aren't a subscriber deciding to leave. A card expired, the bank declined it, or there wasn't enough money in the account that day.
Recharge's help center says cards "are declined for a variety of reasons, depending on the customer's bank or credit card," and tells merchants to send customers with declined cards to their bank. Skio's list of payment errors includes insufficient funds, expired cards and general declines from the card issuer.
So the person reading the email probably still wants the product. They need a fast way to fix the card, not a pitch.
Some declines can't be fixed by trying again. Stripe's documentation lists "hard decline codes," such as a lost or stolen card, where it won't retry without a new payment method. Recharge also says it doesn't retry hard declines. For those, the email is the only way the order gets saved.
Who should send the failed payment email: your subscription app or Klaviyo?
Your subscription app. Here's why.
I don't send subscription confirmations as transactional emails from Klaviyo. Those come from the subscription software, and I prefer keeping them separate. The failed payment notice is the same kind of message. It's about the customer's account and money, and the app has the details that make it work.
Look at what Recharge builds in. Its Card declined notification is sent on the first decline. It's sent again on later declines only if one wasn't sent in the past seven days. And Recharge says it "includes a tokenized magic link to update billing information," so the customer can fix the card without hunting for a login. Klaviyo doesn't create that link. Your app does.
One catch for Recharge stores: if you use Recharge's Failed Payment Recovery, the Card declined notification won't show up in your notification settings. Recharge says that's because the recovery strategy handles it. Either way, check that something is sending it.
Klaviyo still has a role. It's just a supporting one:
- A text that points to the email. Texts are reminders, emails are branding. A short SMS saying "Your card didn't go through. Check your email for the link to update it" gets people to the notice that does the work.
- A heads-up before the last retry, if your app sends an event for it.
- A way back after a cancel, through your winback.
What payment failure events reach Klaviyo?
This depends on the app, so check before you build. In Klaviyo, look under your metrics for anything from your subscription app with "failed" in the name.
- Recharge. Recharge's changelog announced a "Charge failed" metric for Klaviyo in 2023. But its current help article listing the Recharge metrics sent to Klaviyo doesn't include it. If you don't see it in your account, don't build a flow around it. Lean on Recharge's own notification instead.
- Skio. Skio sends a "Billing attempt failed" metric for each failed charge, with the error code and message. Skio suggests notifying customers only after multiple retries, and sending different messages for cases like insufficient funds.
- Loop. Loop's Klaviyo article lists events for a failed payment attempt, a failed attempt with a retry scheduled, and the final retry attempt.
How does the retry schedule affect your emails?
Your emails should follow the retry schedule, not fight it.
Recharge. If a charge fails, Recharge retries it the next day. Automatic retries run at 4 PM ET on the retry date. If a customer updates their card, Recharge retries the charge the following day, as long as it's inside the card update recovery window. Errors that hit the maximum number of attempts are closed. How long Recharge keeps retrying is set by an automatic recovery period that only Recharge support can change.
Skio. Skio's suggested starting point is "a first retry phase with a 3 day retry interval and a total of 7 retry attempts." It says retries recover "about 15 percent on average" of failed payments without the customer doing anything.
Loop. When retries run out, Loop lets you choose to skip the payment, pause the subscription or cancel it.
Retries quietly save some orders, and your emails save the rest. You don't need a message after every attempt. You need a clear first notice, a reminder partway through, and a final heads-up before the subscription is paused or cancelled.
What should a failed payment email say?
Short and calm. No guilt, no panic.
- Subject line: plain. "Your card didn't go through" or "Action needed: update your payment."
- First line: what happened. "We tried to process your order on [date] and your card was declined."
- The fix: one big button to update the card.
- What happens next: "We'll try again on [date]." If the subscription will pause or cancel after the last try, say so.
- A way to get help: a reply-to address or support link.
- The order details: the product and the amount, so they know which charge it was.
Leave out discounts, new products and anything else. Klaviyo's rules for transactional messages say they can't include coupons, items the customer never bought, newsletter content or promotional calls to action. Even if your app sends the notice, the same rule makes a better email. Someone fixing a card doesn't need a cross-sell.
To make it feel like your brand, edit the template inside your subscription app.
Should you send failed payment texts?
If the subscriber opted in to texts, yes, as a nudge. Keep it to one text that sends people to the email or straight to the update link. I keep SMS flows to a single step.
Klaviyo's help center says SMS always needs consent before you send anything, transactional or not. So only text people who opted in to texts.
How do you stop Klaviyo from skipping these messages?
Turn off Smart Sending on any Klaviyo flow message tied to a payment problem. I turn Smart Sending off on automations so people don't miss critical reminders.
By default, Klaviyo's Smart Sending window is 16 hours for email and 24 hours for SMS. If a subscriber got a campaign that morning, a failed payment follow-up could be skipped. To turn it off, open the flow message, go to Settings and clear "Skip recently emailed profiles" for email, or turn off "Turn on Smart Sending" for SMS. More in Klaviyo Smart Sending.
What happens when retries run out?
The subscription usually gets cancelled or paused, depending on your app and settings. That's when your churn and winback emails take over.
Recharge has a useful detail here. Its pre-built Subscriber Win Back template for Klaviyo excludes customers cancelled for "Max Number of Charge Attempts Reached" and "Failed Payment Flow Max Retries." Recharge says stores using Win Backs with the new payment method update feature should remove that filter. With that feature, customers with an invalid payment method can add a card right on the Win Backs landing page.
Recharge also says subscriptions cancelled because of max retries can be reactivated when the customer updates their payment method.
These people didn't choose to leave. The first email after a payment cancel should say what happened and give a one-click way to restart with a new card. Skip the "we miss you" angle. I cover the full cancel and winback setup in subscription churn emails.
How do you prevent failed payments in the first place?
Send a reminder before every charge.
A subscription wellness brand's "your order is coming up" reminder made $47,321 in one month, 74% of all flow revenue. That number is about revenue, not failed payments. But the reminder does the same job here: it tells the subscriber a charge is coming, so it doesn't land as a surprise, and it gives them time to fix a card, skip or swap before the charge runs.
A few other prevention steps:
- Card expiring notices. Recharge has a Card expiring notification, sent two days before the upcoming charge notification. It only applies to stores on Recharge Checkout and the BigCommerce Checkout Integration.
- Skip, swap and pause from day one. In a new subscriber's first 30 days, I'd send a welcome series plus options to skip, swap or pause instead of cancelling. Someone who can push an order back is less likely to get caught by a charge they can't cover. See subscription welcome emails.
- Keep your subscribers segmented. Most subscription brands lack flow depth, don't segment subscribers properly, and have no campaign series for subscribers. Fix the segmentation first, so you can send subscribers the right emails and keep payment notices separate from promos.
Keeping a subscriber through a failed card is one of the easier wins for lifetime value. More on that in how to increase customer lifetime value, and for where this fits with your other automations, see Klaviyo flows for CPG brands.
FAQ
What is a failed payment email?
It's a message telling a customer their recurring charge didn't go through, with a link to update their payment details. For subscription brands, it's usually sent by the subscription app.
Does Recharge send failed payment emails automatically?
Yes. Recharge's Card declined notification goes out on the first decline and includes a secure link to update billing information. Stores using Failed Payment Recovery handle this through their recovery strategy instead.
Can I send failed payment emails from Klaviyo?
You can if your subscription app sends a payment failure event to Klaviyo. Skio and Loop document theirs. I'd still let the app send the main notice and use Klaviyo for a text nudge and follow-ups.
How many times should a failed payment be retried?
It depends on your app. Skio suggests a 3-day interval with 7 total attempts as a starting point. Stripe defaults new accounts to up to 8 retries within 2 weeks.
Should a failed payment email include a discount?
No. The customer didn't leave, their card failed. Give them a clear way to fix it. Save offers for winback, if they cancel.
- Managing email notifications and settings, Recharge Help Center
- Managing order errors, Recharge Help Center
- Troubleshooting card declined errors, Recharge Help Center
- Using Recharge metrics to trigger Klaviyo flows, Recharge Help Center
- How to use Recharge pre-built flows in Klaviyo, Recharge Help Center
- New Klaviyo metrics: enhanced segmentation and targeting, Recharge Changelog
- Payment Recovery, Skio Help
- Payment and billing errors, Skio Help
- Klaviyo, Loop Subscriptions Help
- Dunning Management, Loop Subscriptions Help
- Automate payment retries, Stripe Docs
- Understanding transactional messages, Klaviyo Help Center
- Understanding Smart Sending in Klaviyo, Klaviyo Help Center