Definition
Dunning management is the automated process of recovering failed subscription payments through a sequence of retry attempts and customer notifications. When a recurring charge fails — because a card expired, has insufficient funds, or was replaced — dunning logic automatically retries the charge on a schedule and prompts the customer to update their payment details.
The term comes from "to dun," meaning to make persistent demands for payment, though modern dunning is friendlier and more customer-centric than the historical roots suggest. Effective dunning combines technical retry logic with thoughtful customer communication — both elements are required for high recovery rates.
Why It Matters for WooCommerce Stores
Without dunning, every failed payment is a lost subscriber. Research consistently shows that 20-40% of subscription churn is involuntary — the customer did not want to leave, their card just failed.
Automated dunning recovers the majority of these charges without customer service involvement, directly improving MRR. The math is striking: if you have $10,000 MRR and 5% monthly churn with 30% being involuntary, that's $150/month of recoverable revenue lost without dunning.
Over a year, that compounds to thousands in lost ARR from problems you could automate away. Subscription analytics platforms like Baremetrics report that businesses with mature dunning processes recover 60-75% of failed payments, transforming what would have been churn into retained revenue.
How It Works
A charge fails → WPSubscription marks the subscription as "past due" → retry attempts fire on day 1 (or day 3), day 7, and day 14 → notification emails go to the customer asking them to update payment details → if all retries fail after the grace period, the subscription is cancelled. The most effective retry schedules use exponentially-spaced attempts: short-term (day 1-3) for temporary issues like bank holds, medium-term (day 7) for insufficient funds, and longer-term (day 14) for customers who need time to get a new card.
Sophisticated dunning systems also use intelligent retry timing based on the decline reason — for example, "insufficient funds" declines retry just after typical payday cycles for better success rates.
Real-World Example
A subscription customer pays $49/month on the 15th of each month. On March 15, the charge fails with "card expired." WPSubscription marks the subscription "past due" and emails the customer: "Your $49 payment failed — please update your card." On March 16 (Day 1 retry), the charge is attempted again — same failure.
The customer is reminded by email. On March 22 (Day 7), another retry attempt fails — second email reminds them.
On March 29 (Day 14), a final retry runs. If still failing, the subscription cancels on March 30.
But if at any point the customer updates their card via the link in the email, the charge succeeds and the subscription continues — recovering revenue that would otherwise be lost.
Best Practices
- Use a 3-attempt retry schedule (day 1, day 7, day 14) covering most recovery scenarios
- Write dunning emails as helpful reminders, not threats — friendly tone improves recovery rates
- Include a one-click "update payment method" link in every dunning email — minimize friction
- Send the first email within hours of the failure — recovery probability drops with delay
- Maintain access during the grace period — punishing customers during dunning increases churn
Common Mistakes
- No retry schedule — treating the first payment failure as permanent and immediately cancelling
- Dunning emails that read like debt collection rather than friendly, helpful reminders
- Not including a direct link to update the payment method in notification emails
- Waiting too long before the first retry — each day of delay reduces recovery probability significantly
- Cancelling access immediately on payment failure rather than maintaining service during dunning
In WooCommerce with WPSubscription
WPSubscription includes built-in retry logic and customer notification emails for failed payments, giving you a complete dunning workflow without needing a separate recovery service. Configure the retry schedule (1-3 attempts), grace period before cancellation, and email timing directly in the plugin settings.
For advanced dunning, WPSubscription also integrates with Stripe's "Smart Retries" feature, which uses machine learning to optimize retry timing based on millions of similar declines.