Every Klaviyo system we run for 140+ brands, in 6 modules. Launch price ends 31 December. The Klaviyo course is live. Launch price ends 31 Dec. Get it here →

Failed Payment Recovery for Shopify Subscriptions

Updated
October 10, 2026
by
Bogdan Mihalache
Short answer

Failed payment recovery, also called dunning, wins back subscription renewals that fail at the card. Set retries by failure reason, send a one-click card-update link by SMS and email on chosen retries, save any incentive for late retries or hard failures, and end by pausing the subscription. Loop runs the retries and Klaviyo sends the extra messages.

Why failed payments matter

A failed payment is a subscriber who wanted to stay and lost the subscription to a card problem. Eightx, a subscription agency, reports that failed payments cause 30-40% of subscription churn, which makes them one of the biggest single causes of lost subscribers.

These subscribers already want the product, so the job is getting a working card on file. That makes payment recovery one of the first things we fix on a new subscription account, before any new flows.

Across the subscription brands we run on Loop, we saw at least 50,000 failed billing attempts in the last 90 days.

Not every failure is the same

Failures fall into 2 groups: soft failures that often clear on a later retry, and hard failures that only a new card will fix. Each needs a different number of retries and a different message.

In Loop, the General recovery strategy covers every failure by default. Advanced strategies let you set a separate ladder for specific reasons, including card expired, card retry declined and payment method revoked.

Failure typeWhat it usually meansHow we set it up
Insufficient funds (soft)The money is not there todayMore retries spread out, no discount, few messages
Card declined on retry (soft)The bank declined again, for various reasonsA retry the next day, then wider gaps, a small incentive after the first retry
Card expired (hard)Retries cannot work until the card is updatedFewer retries, a card-update link from the first message, a small discount to update
Payment method revoked (hard)The card was canceled or removedThe fewest retries, an early card-update message with an incentive to add a new card

Retry timing

Retry soon after the first failure, then space the retries out, and stop sending a message on every one of them. A message every other day for a month reads like spam and makes the last-chance message easier to ignore.

Failed payment recovery for Shopify subscriptions: retry ladders by failure reason, each ending in a pause
Example failed payment sequence from day -30 to day 27: card expiry email, SMS, on-hold email, founder note, pause

Starting points we use, adjusted per brand:

  • General strategy. One pet brand we run retries on day 1, then every 2 days up to day 27, with messages on only a few of those retries.
  • Card expired. The setup we built for one skincare brand: 5 retries over 9 days (1, 2, 2, 2 and 2 days apart) with 10% off to update the card.
  • Payment method revoked. For the same brand: 3 retries, 2 days apart, with 15% off to add a new card.

In our experience Loop needs at least 3 retries per strategy. Set the end action to pause instead of cancel, so a subscriber who updates their card later can restart without signing up again.

Example email after the last retry: subscription paused, 30% off the next 2 orders to restart

Card-update messages by SMS and email

The message has one job: get the subscriber to a working card-update page in 1 tap. Loop's quick actions create that link, and it can be used in Loop's own emails and in Klaviyo.

Example text message 3 hours after a failed payment, with a 1-tap secure card-update link

What we have learned building these:

  • SMS first. Send the first SMS a few hours after the failure, then use email for detail.
  • Quick action conditions are checked at the moment the subscriber clicks. If an offer depends on the retry count, an old email clicked late can show a different offer, so we split the retry range between quick actions and never link the biggest late offer in the early emails.
  • One clear number, such as "Update your card and get 20% off your next order".
  • No duplicate senders. Decide which messages come from Loop and which from Klaviyo, and turn off the overlap.

How to set it up in Loop and Klaviyo

Loop handles the retries and its own payment emails. Klaviyo adds SMS and extra emails, triggered by the events Loop sends. The setup we follow:

  1. In Loop, set the General strategy: retry count, spacing, which retries send an email, discounts and a pause at the end.
  2. Add Advanced strategies for card expired, card retry declined and payment method revoked.
  3. Create card-update quick actions, with any incentive tied to retry count.
  4. Restyle Loop's payment emails to match the brand.
  5. In Klaviyo, trigger an early-rescue flow on "Loop Billing Attempt Failed and will be Retried", with a filter so each subscriber enters once per failure, at the start of the ladder.
  6. Add a second flow on the last-retry event and a third on the final failure, pointing to the paused subscription and the restart offer.
  7. On every message, add a filter that stops it if "Loop Order Processed" or "Loop Subscription Cancelled" has happened since the flow started, and turn Smart Sending off so dunning messages are not skipped.
  8. Add a card-expiring flow on "Loop Payment Method Expiring" to catch cards before they fail.

Keep the Klaviyo delays anchored to the day of the first failure so they stay in step with Loop's fixed retry ladder.

What to measure

Measure recovery by failure type, revenue recovered, and how many failed subscriptions end paused. With one overall rate you cannot see which reason is pulling it down.

  • Recovery rate per failure reason, per month.
  • Revenue recovered per month.
  • Share of failures that end paused, and how many of those restart.
  • Discount cost per recovered subscription.

EK proof

We set up and run payment recovery in Loop for 6 subscription brands. Results from 3 of them, measured as Klaviyo's share of total store revenue:

  • Kaori (women's health): Klaviyo went from 3.3% to 19% of store revenue. Flow revenue grew 17.7x.
  • Penrose Skin (skincare): Klaviyo's share went from 15.2% to 23.2%. Email revenue grew 5.2x.
  • KittySpout (pet): 46% of store revenue comes from Klaviyo.

Frequently asked questions

What is dunning for subscriptions?

Dunning is the process of retrying a failed renewal payment and asking the subscriber to update their card. On Shopify, subscription apps like Loop run the retries and send the first messages.

How many times should I retry a failed subscription payment?

It depends on the failure reason. Soft failures like insufficient funds deserve more retries spread over a few weeks. Hard failures like an expired or removed card need fewer retries and an early card-update message.

Should I offer a discount to subscribers whose payment failed?

Only where it helps. We avoid discounts on early soft failures, which often clear by themselves, and use a small incentive for hard failures or late in the ladder.

Should failed subscriptions be canceled or paused at the end?

Paused. A paused subscription can restart when the subscriber updates their card, and a canceled one has to sign up again.

Can Klaviyo send dunning emails for Loop?

Yes. Loop sends billing-failure events to Klaviyo, and you can build SMS and email flows on them alongside Loop's own payment emails.

What is involuntary churn?

Subscribers lost to a failed payment when they had no plan to cancel. Eightx reports it makes up 30-40% of subscription churn.

Work with Email Kong

Want us to build this for your brand?

We are a Klaviyo Platinum Partner agency. We plan, build and run email and SMS for DTC brands.

Work with us