Why Shopify subscription payments fail โ and what actually recovers them
If you run subscriptions on Shopify, some of your renewals are failing right now. Not because customers decided to leave โ because a card expired, a balance was low on billing day, or a bank hiccuped for a second. The industry calls this involuntary churn. For most merchants it is the single largest churn source they have never looked at โ and the only way to know its size in your store is to count last month's failed renewals.
The frustrating part: a failed renewal doesn't come to you. Your customer might get an automated email. Almost nothing about the individual failure reaches you unless you built it โ Shopify Flow has a “Subscription billing attempt failure” trigger you can wire to an internal email, and Appstle's Results tab shows you the aggregate when you open it. The Flow workflow is something you have to build, and neither classifies the failure by reason or puts a number on what the unrecovered ones were worth.
The three failure families (and why they need different treatment)
Payment failures look identical on a dashboard โ a renewal that didn't go through. Underneath, they split into families that behave completely differently:
- Insufficient funds. The card works; the money wasn't there at that moment. These are the most recoverable failures โ but timing decides everything. Retrying three times in the same 48 hours asks the same empty account the same question. Spacing attempts around when money tends to arrive (paydays, start of month) converts far better.
- Expired, cancelled, or invalid cards. No retry will ever succeed. Every automatic attempt against a dead card is wasted. The only fix is the customer updating their payment method โ which means the job is a well-worded, well-timed card-update request, not a retry schedule.
- Temporary declines. Gateway timeouts, bank risk checks, one-off processing errors. These usually clear on a quick retry โ and they're the one case where you should not email the customer, because the problem was never theirs.
This is why a fixed retry schedule โ "retry 3 times, 2 days apart", which is what most built-in dunning offers โ leaves money behind. It over-retries dead cards, under-times the recoverable ones, and emails people who did nothing wrong.
Why merchants don't notice the leak
Voluntary churn is loud: a customer clicks cancel, and every subscription app counts it. Involuntary churn is silent by design. Three things hide it:
- Little comes to the merchant by default. Subscription apps focus their dunning on the customer, and what does reach you tends to be periodic and aggregate rather than a specific failed renewal with its reason.
- No loss-side number. Appstle's Dunning Management page has a Results tab with recovery rate and recovered revenue, so the recovered side is measured. What is missing is the other side โ what the failures that never recovered were worth, broken out by why they failed. Appstle's Results tab does not report it, and we have not found a subscription app that does.
- Retries mask the bleeding. Some failures self-heal on retry, so sampling one week understates the loss; the dead-card failures compound quietly.
A practical checklist
- Measure before you change anything. Pull last month's renewals and count failures by reason. If your subscription app can't show that, that gap is itself the finding. (Our 30-second calculator gives you a first estimate.)
- Separate dead cards from soft declines. Their fixes are opposites โ card-update requests vs. better-timed retries.
- Check your dunning settings. How many retries, at what spacing, and what happens on exhaustion? Auto-cancel on exhaustion silently converts recoverable failures into churn.
- Mind the double-retry trap. If you add recovery tooling on top of your subscription app's own retries, make sure they coordinate โ double charging a customer is worse than the failure was.
- Track recovered dollars, not open rates. The only number that matters is payments that actually cleared after an action โ and whether that action can prove it.
Where Moorly fits: Moorly sits on top of Appstle or Seal, records each failed renewal with its decline reason, emails you a weekly recovery summary, and โ only when you switch actions on โ works each failure with the treatment that fits it. It starts read-only, so your first weeks with it are simply finding out what failures cost you. Join the early-access list โ
Further reading
Running Appstle? See the companion guide: Failed payment recovery for Appstle Subscriptions merchants.