Case study ยท SaaS ยท Subscriptions

SaaS: Dunning automation cut involuntary churn 38%

A B2B SaaS replaced its single-retry dunning logic with a four-step recovery flow on Stripe Billing.

The challenge

Failed renewal payments were cancelling subscriptions after one retry. About 6.4% of MRR churned every month from card declines that should have been recoverable.

The approach

We rebuilt dunning around Stripe Smart Retries, added customer-portal links to dunning emails, and wired up `customer.subscription.updated` and `invoice.payment_failed` webhooks to nudge the user with branded emails on day 1, 3, 7, and 14. The customer self-service portal lets them update their card without contacting support.

The result

Involuntary churn dropped from 6.4% to 4.0% MRR. Recovery rate on failed payments climbed from 22% to 61%. About $48,000 in MRR recovered in the first 60 days.