
Open the visual model ↗
Start with the event, not the churn label
A failed renewal attempt shows that payment did not complete. It does not show that the reader chose to leave. Record voluntary cancellation separately from failure, authentication required, payment method problem, unresolved invoice, recovery, and terminal end. That distinction protects retention analysis and changes the appropriate communication: a billing problem needs a clear repair path, while a cancellation needs confirmation and an honest exit.
Stripe's current subscription reference distinguishes past due, unpaid, and canceled outcomes after failed attempts according to account settings. Those states affect later invoices and recovery behavior. The publisher should map them to access rules in writing rather than letting the payment provider's default silently decide how long a reader can use paid benefits.
Source notes: The Subscription object
Build one queue from invoice to access decision
The queue needs subscription ID, payer, amount, currency, tier, interval, tenure, invoice date, failure date, provider state, next attempt, last customer message, payment-update result, access state, terminal date, recovery method, and cash receipt. Avoid copying sensitive payment details into editorial or support tools. Give support a narrow view and an escalation owner for annual, institutional, disputed, or high-value invoices.
Set a grace policy by promise and interval. A monthly archive tier might keep access briefly while retries run; an annual institutional account may need a human check because procurement, invoice delivery, and seat access are linked. The grace period is an editorial service decision constrained by the agreement and applicable rules, not a universal number.
Sequence recovery messages around useful actions
Send a pre-renewal reminder when the payment method or plan warrants it, then a failure notice that names the publication, amount, invoice, access consequence, and secure update path. Follow-ups should add useful context rather than repeat pressure. Confirm recovery, cancellation, or access end so the member knows the final state. Never ask a member to email card data.
Stripe documents automated retry policies, customer emails, and segment-specific automation recipes. Treat these as configurable mechanisms. The publisher still owns message accuracy, support coverage, and the decision to cancel, leave unpaid, or continue past due. Review automation whenever prices, tiers, grace rules, or billing intervals change.
Source notes: Automation use cases · The Subscription object
Measure recovered cash by failure cohort
Hypothetical example: 30 September renewals fail initially, representing $540 billed. Twelve recover through automated retry, five after a payment-update message, two after support, six end, and five remain open at cutoff. The mature recovery rate cannot be calculated while five are open. The interim recovered count is 19 of 30 and recovered billed amount is whatever those 19 invoices actually total, not 19 times the cohort average.
Attribute recovery method with a clear rule when several touches occur. Track time to recovery, complaint rate, support minutes, refunds after recovery, and retained cash after fees. Compare cohorts under the same retry and grace configuration. A higher recovery rate can still be a poor outcome if messages are confusing, access is wrong, or support cost exceeds the contribution.
| State | Access | Message | Ledger result |
|---|---|---|---|
| First failure | Apply written grace rule | Failure plus secure repair path | Open |
| Retry scheduled | Keep rule consistent | Only if useful new information | Open |
| Recovered | Confirm full entitlement | Receipt or recovery confirmation | Recovered cash |
| Terminal unpaid/canceled | End or revise access as promised | Final state and support path | Failed recovery |
| Voluntary cancel | Follow cancellation terms | Cancellation confirmation | Voluntary churn |
Close the loop without inventing a recovery benchmark
Each month, reconcile provider events, invoices, subscription state, access, refunds, and bank cash. Sample accounts from every terminal state. Look for failures caused by the publisher's own configuration, broken links, mismatched prices, or unclear identity before changing retry frequency.
The operating decision is whether the process returns willing readers to the promised service with tolerable cost and confusion. This guide makes no claim about typical failure or recovery rates and no claim about provider fees. Use the current agreement and account configuration for cost and behavior.
Continue the work
Sources & limits
Provider features and states are dated current documentation, while retry timing, access, communication, and escalation are an editorial framework. No fee, recovery-rate, or legal claim is made.
- The Subscription object
Primary source · Publication date not stated · Primary source checked · 19 September 2026 - Automation use cases
Primary source · Publication date not stated · Primary source checked · 19 September 2026
Source claims and editorial judgments remain separate. Send a correction with the passage and supporting evidence.

