Loop Voice
    Outbound · Live

    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.

    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.

    The call

    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.

    The problem

    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.

    Fit

    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.
    Setup

    Set it up in Loop Voice

    1. 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.

    2. 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.

    3. 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.

    4. 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.

    5. 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.

    What the agent handles

    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.

    What to measure

    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

    ShopifyKlaviyoZapier
    FAQ

    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.

    Guides and comparisons

    Read more before you set it up

    Related use cases

    Keep the conversation moving

    Ready to launch failed payments?

    Setup takes under 10 minutes. No code, no headcount.