Call subscribers whose payment failed, before the subscription lapses
Send subscribers whose renewal failed to a Loop Voice agent by segment, CSV upload or Zapier. The agent calls, explains what happened in plain words and texts the link to update the card in your customer portal.
- Renewal failsYour billing app retries first
- Subscriber sent inSegment, CSV upload or Zapier
- Agent callsExplains it in plain words
- Card-update link by textFrom your customer portal
- Next charge checkedA save counts only if it goes through
The short answer
Failed payment calls reach subscribers who meant to stay but whose card failed, especially after a hard decline, which Recharge, for one, doesn't retry. Loop Voice doesn't receive failed-payment events from store platforms directly yet, so you send the subscribers in: through a Shopify or Klaviyo segment, a CSV upload or a Zapier trigger. The agent explains the problem and texts your card-update link. We have no failed-payment results to publish yet.
What a call sounds like
Loop Voice agent
Illustrative conversation
Agent
“Hi Priya, it's Alex, an AI assistant calling from [Store]. Your subscription renewal didn't go through. I can text you the secure link to update your card. Want me to send it?”
Customer
“Oh, I got a new card last month. Yes, send it.”
An illustration, not a recording. Real calls are in the call library.
A failed charge looks like churn, but the subscriber never decided to leave. Retry emails are easy to miss, and a hard decline may never be retried at all. A call explains the problem in one sentence and puts the update link on the subscriber's phone.
When it works, and when to skip it
Works well for
- Subscribers several orders in, worth a call to keep.
- Hard declines and expired cards, which retries alone won't fix.
- Stores whose customer portal has a card-update page the agent can text.
- Subscribers who agreed to calls (calling rules).
Skip it for
- Soft declines your billing app is still retrying: let the retry schedule run first.
- Subscribers who asked to cancel. Set the agent to tell them how or pass them to your team, never to argue.
- One-time orders. A declined card at checkout is an abandoned checkout call.
Set it up in Loop Voice
Set the retry rules first
Configure retries in Shopify Subscriptions or your subscription app, and make the final action a pause rather than a cancel if your app allows it.
Send the subscribers to Loop Voice
Pick a route you already have: a Shopify segment of customers tagged by a Shopify Flow workflow, a Klaviyo segment, a CSV upload or a Zapier trigger from your billing tool.
Point an agent at them
Run a campaign to the segment, or start a flow from the CSV or Zapier trigger, with its own calling window and a cap on calls per subscriber.
Give the agent the link and the limits
Add the card-update page from your customer portal for the agent to text, and tell it never to ask for card details on the call.
Count a save after the next charge
A save counts only when the next charge goes through. Hold out a random 20% of the list to see what the calls add.
Settings for calls about a failed charge
- Trigger
- A Zapier trigger starts the flow for each failed charge your billing tool reports, a CSV upload lets you map columns and control who enrolls, and a Shopify or Klaviyo segment runs as a campaign that calls the list once. Choose Zapier if your billing tool can send the event, so the daily list described below builds itself.
- Wait step
- If the trigger fires on the first failed charge, add a wait step that covers your billing app's retries, so soft declines clear before anyone calls. Then test the case where a retry succeeds during the wait: if that subscriber still reaches the call step, trigger on the final failure instead.
- Guardrails
- Whichever guardrail template you start from, check that data privacy, no arguing and respect refusals are on, then add a custom guardrail that the agent never asks for, repeats or reads back a card number. Keep clear identity as an AI when asked on as well: someone about to tap a payment link has good reason to ask who's calling.
- SMS step
- Add an SMS step after the call, so a subscriber who doesn't pick up still gets the card-update link. Keep the text to your store's name, what failed and the link; it carries the required STOP footer, and clicks show in the SMS log, which is where the link-click measure below comes from.
- Live transfer
- If your team takes cancellations by phone, switch on transfer for this agent: during your support hours it briefs a teammate and hands the call over, and otherwise a ticket opens. If cancellations happen in your customer portal, leave transfer off and have the agent say where to cancel, so a subscriber who wants out gets a straight answer.
- Frequency cap
- A card that fails every month shouldn't mean a call every month. Example: a cap of 2 calls per quarter on this agent allows two attempts on one failure and leaves any later failure that quarter to your billing app's emails.
What the call says
Short and plain: the renewal didn't go through, and here's the link to fix it. Name your store in the opening line, turn on the guardrail that has the agent say it's an AI when asked, and tell it never to ask for a card number. The subscriber updates the card in your portal, and Loop Voice never stores card data.
If the subscriber says they meant to cancel, the call stops there: set the agent to tell them how to cancel or pass them to your team. Some states set rules for how cancellations must be handled; our subscriber guide covers them.
Keep the call short. If the subscriber asks about the product, the agent answers from your knowledge base; if they raise a problem with an order, it becomes a ticket for your team with the summary and the recording attached.
Getting failed payments to the agent
Loop Voice flows start from store events such as an abandoned checkout or an order placed, and failed-payment events aren't connected from store platforms yet. That's also why the September 2026 benchmark has no failed-payment results: no flow enrolled these subscribers.
Until that changes, the routes above get the same subscribers to the agent. On Shopify, the Subscription billing attempt failure trigger in Shopify Flow starts a workflow when a subscription charge fails, and the workflow can tag the customer for a segment; Shopify's page explains how to fire a test failure, so check the tag lands before you rely on it. If your billing tool can export failed charges or send events to Zapier, the CSV upload and Zapier triggers work too.
Send the list in daily, so each subscriber hears from you while the failed charge is recent.
Retries first, calls second
Calls don't replace your billing app's retries. Shopify Subscriptions lets you set the number of retries, the days between them and what happens when all of them fail, and Recharge times its retries dynamically but, according to its help center, doesn't retry hard declines. Our subscriber guide has the details and sources.
So call the subscribers retries can't save, and leave soft declines to the retry schedule. A hard decline on a subscriber several orders in is the clearest case for a call.
Where your app allows it, make the last retry end in a pause, not a cancel: a paused subscriber can resume with a new card, while a canceled one has to sign up again.
Built for the questions between intent and action
A plain explanation
What failed and what to do next, without payment jargon.
The update link
Your customer portal's card-update page, texted during the call.
Cancel requests
Answered with how to cancel, or passed to your team.
Opt-outs
A subscriber who asks not to be called goes on the do-not-contact list before the next step runs.
No failed-payment numbers yet, so measure your own
Failed-payment events aren't connected from store platforms yet, so no flow enrolled these subscribers in Loop Voice's September 2026 benchmark. Track these on your first list:
- Saves
- Subscribers whose next charge went through after the call, against the holdout.
- Answer rate
- Subscribers who picked up at least once, out of everyone called.
- Link clicks
- Texted card-update links that were opened; Loop Voice tracks text link clicks in the SMS log.
- Cancel requests
- Subscribers who said they meant to cancel. They belong in your cancellation flow, not a save attempt.
Source: Loop Voice Ecommerce Benchmark
Works with
Common questions
Does the agent take card details on the call?
It shouldn't, and you tell it not to. The agent texts the link to the card-update page in your customer portal, the subscriber updates the card there, and Loop Voice never stores card data.
Which failed payments should get a call?
Hard declines and expired cards on subscribers several orders in. Soft declines usually clear on your billing app's retries, so let those run first.
How do failed-payment subscribers reach Loop Voice?
Through a route you already have, because failed-payment events aren't connected from store platforms yet: a Shopify segment of customers tagged by a Shopify Flow workflow, a Klaviyo segment, a CSV upload or a Zapier trigger.
Does this replace dunning emails?
No. Your billing app keeps retrying and emailing; the call reaches the subscribers those steps miss.
What if the subscriber wants to cancel?
Set the agent to tell them how or pass them to your team, never to argue. Some states set rules for how cancellations are handled; our subscriber guide covers them.
Do failed payment calls need consent?
Check consent the way you would for any call made with an AI voice. Our guide to calling rules explains which consent each kind of call needs.
Read more before you set it up
- How to Save Shopify Subscribers Before They CancelRetries, check-ins, save offers and holdouts for subscriptions.Read
- Are Cart Recovery Calls Incremental? How to Run a HoldoutThe same design measures saves.Read
- Is It Legal to Call Abandoned Carts? TCPA Rules for AI CallsConsent and opt-out rules for AI calls.Read
- Loop Voice vs OutcraftOutcraft also calls after failed payments; compared.Read
Keep the conversation moving
Ready to launch failed payments?
Setup takes under 10 minutes. No code, no headcount.
