Blog

Churn, dunning & retention — the playbook.

Practical guides on keeping subscription revenue you've already earned — failed- payment recovery, Stripe dunning, and cancel flows that save customers without dark patterns.

FTC click-to-cancel: what your cancel flow actually needs

The FTC's click-to-cancel rule means cancelling has to be as easy as signing up. Here's what that requires from your cancel flow — and how to still run a save flow without breaking it.

Jun 11, 2026 · 6 min read

Stripe dunning best practices for 2026

Stripe's built-in retries are a floor, not a strategy. A practical guide to decline-code-aware retries, a 4-touch dunning sequence, deliverability, and the numbers to watch.

Jun 10, 2026 · 8 min read

How to reduce involuntary churn in your SaaS

Involuntary churn — failed payments, not cancellations — is the quietest leak in subscription revenue. How to find it, fix it with smart retries and dunning, and measure recovery.

Jun 9, 2026 · 7 min read

Stripe past_due vs unpaid: what each subscription status actually means

past_due means Stripe is still retrying; unpaid means it stopped. What each status means, what controls the difference, and the right recovery move for each.

Jun 8, 2026 · 6 min read

Stripe decline codes explained: what each means and whether to retry

A practical reference to Stripe decline codes — soft vs hard, what each means, where to read it, and whether to retry, send a card-update email, or stop.

Jun 6, 2026 · 5 min read

Handling the invoice.payment_failed webhook without duplicate emails or dead links

Stripe's invoice.payment_failed fires on every retry. How to dedupe events, send a fresh hosted pay link, and stop cleanly when next_payment_attempt goes null.

Jun 4, 2026 · 6 min read

Dunning email templates for Stripe: a copy-paste sequence that recovers payments

A copy-paste 4-email dunning sequence for Stripe: subject lines, body copy, and decline-reason tailoring that recovers more failed payments.

Jun 3, 2026 · 5 min read

How to design a SaaS cancellation flow that actually saves customers

A 5-screen blueprint for a SaaS cancellation flow that saves customers without dark patterns: a reason survey, reason-matched offers, a one-tap exit, win-back.

Jun 2, 2026 · 6 min read

Stripe billing portal limitations: when you need an alternative

Stripe's native customer portal is great for the basics — until you want to retain the customer who clicks cancel. The walls it hits, and when you've outgrown it.

Jun 1, 2026 · 5 min read