AltorLabFree Scan →
Guideshowto·6 min read

Shopify Subscription Churn vs Payment Failure: How to Tell the Difference

Voluntary churn and involuntary churn look identical in most Shopify dashboards — both result in a subscription ending. But they require opposite responses. Voluntary churn means the customer decided to leave; win-back campaigns apply. Involuntary churn from payment failure means the customer intended to stay; payment recovery applies and the revenue is retrievable. The Shopify Admin API tells you which is which: voluntary cancellation sets cancellation_reason to CUSTOMER_INITIATED, while payment failure leaves an errorCode on the billing attempt. Confusing the two is one of the most expensive reporting mistakes subscription merchants make.

What is the difference between voluntary and involuntary subscription churn?

Voluntary churn is when a customer explicitly cancels their subscription. In Shopify, this sets the subscription contract status to CANCELLED with a cancellation_reason of CUSTOMER_INITIATED. The customer made a decision to stop paying. No billing attempt was made; no payment failed. The correct response is a win-back campaign, survey, or offer — not a payment retry.

Involuntary churn is when the subscription ends because payment failed, not because the customer chose to leave. In Shopify, this manifests as billing attempts with errorCodes — INSUFFICIENT_FUNDS, CARD_DECLINED, PAYMENT_METHOD_REVOKED. The subscription may still show ACTIVE while revenue stops, or it may be cancelled by Recharge after max retries. The customer often has no idea their subscription is failing. The correct response is payment recovery, not a win-back campaign.

How do you identify payment failure churn in Shopify Admin API data?

Query the Shopify Admin GraphQL API for subscription contracts where status is CANCELLED. For each cancelled contract, check two things: the cancellation_reason field and the most recent billing attempt errorCode. If cancellation_reason is CUSTOMER_INITIATED and no errorCode exists on recent billing attempts, it is voluntary churn. If an errorCode exists on a billing attempt close to the cancellation date, it is payment failure churn.

In Recharge, check the charge history for the subscription. If charges show error_type on the final attempt and the subscription was then cancelled, that is involuntary churn. Recharge's charge/max_retries_reached webhook is the clearest signal — it fires specifically when a subscription ends due to payment exhaustion, not customer cancellation.

Why is involuntary churn more expensive than most merchants realize?

The direct cost is the lost recurring revenue. But involuntary churn has a compounding cost: every subscription that silently fails and is not recovered by the next billing cycle adds to the cumulative loss. At $30K MRR with 5% involuntary churn, that is $1,500 per month — $18,000 per year — in revenue that the customer intended to pay but the billing infrastructure failed to collect.

The indirect cost is misattribution. Merchants who cannot distinguish voluntary from involuntary churn often build win-back campaigns targeting customers who simply had a payment issue. These campaigns spend money on customers who would have stayed if someone had just sent a payment update email. Correct attribution saves both revenue and marketing spend.

How do you reduce involuntary churn caused by payment failures?

The most effective lever is detection speed. Every day a payment failure goes undetected is another day of lost revenue that cannot be recovered after the subscription cancels. Configure dunning in Recharge to start immediately on the day of failure and send a customer-facing payment update email within 24 hours of the first failure.

The second lever is error-type-specific responses. INSUFFICIENT_FUNDS warrants a retry with a delay. PAYMENT_METHOD_REVOKED warrants an immediate payment update email — no retries. AUTHENTICATION_REQUIRED warrants a 3DS confirmation link. Using AltorLab's daily cross-stack scan to catch failures within 24 hours means you intervene before Recharge's dunning schedule exhausts and the subscription cancels.

Frequently asked questions

What percentage of subscription churn is typically caused by payment failures vs customer cancellations?

Industry estimates suggest 20–40% of subscription churn is involuntary — caused by payment failures rather than customer decisions. For stores using Shop Pay with Recharge, merchants have reported involuntary churn rates of 10–30% above expected levels, meaning a significant portion of apparent cancellations are actually recoverable payment failures.

How do I separate payment failure cancellations from voluntary cancellations in my Shopify data?

Check the cancellation_reason field on the Shopify subscription contract and the errorCode on the final billing attempt. CUSTOMER_INITIATED cancellation_reason with no billing errorCode is voluntary churn. An errorCode on the last billing attempt near the cancellation date indicates payment failure churn.

Is involuntary subscription churn recoverable?

Yes, if caught quickly. Before Recharge exhausts retries and cancels the subscription, most involuntary churn is recoverable through retries or payment method updates. After cancellation, recovery requires the customer to re-subscribe, which has a much lower conversion rate. Detection speed is the key variable.

What is an acceptable involuntary churn rate for Shopify subscription merchants?

A healthy involuntary churn rate is 0.5–1% per month. Above 2% indicates a systemic problem — likely misconfigured dunning, Shop Pay token management issues, or a payment gateway configuration error affecting a subset of subscriptions. Above 5% suggests active cross-stack failures requiring immediate investigation.

How does AltorLab help distinguish payment failure churn from voluntary churn?

AltorLab queries Shopify billing attempt errorCodes and Recharge charge error_type daily, categorizes failures by type, and surfaces which cancelled subscriptions ended due to payment failure vs customer cancellation. This gives merchants an accurate involuntary churn rate and a prioritized list of subscriptions to attempt recovery on.

Find your revenue leaks in 60 seconds

Free cross-stack scan. No credit card required.

Run Free Scan →