Skip to main content
Subscription Dunning automatically sends email sequences to customers whose subscriptions have lapsed due to payment failure or customer cancellation, prompting them to update their payment method and reactivate.

What Is Subscription Dunning?

Dunning automatically detects when a subscription enters a recoverable state and sends a sequence of emails prompting the customer to take action:
  • On Hold subscriptions: Renewal payment failed (insufficient funds, expired card, etc.)
  • Cancelled subscriptions: Customer cancelled from the customer portal

How Dunning Works

1

Trigger

Dunning is triggered when a subscription enters one of two states:
  • On Hold: A renewal payment failed (insufficient funds, expired card, etc.)
  • Cancelled: The customer cancelled their subscription from the customer portal
2

Email Sequence

Based on the trigger state, the system sends up to 4 dunning emails at configured intervals. Each email includes a link to the customer portal where the customer can update their payment method or re-purchase the subscription.
3

Recovery

When the customer updates their payment method through the customer portal, a charge is automatically created for remaining dues. If the payment succeeds, the subscription is reactivated and the dunning attempt is marked as recovered.

Status Lifecycle

StatusDescription
recoveringDunning attempt is active; emails are being sent
recoveredCustomer updated payment method and payment succeeded
exhaustedAll emails sent with no recovery, or subscription state changed unexpectedly
When a dunning attempt is marked as exhausted, the subscription state is not modified. The subscription remains in its current state (on hold or cancelled).

Configuring Dunning

Enable and configure Dunning from Settings in your dashboard.
Dunning settings page with enable toggle, four on-hold emails at 1, 3, 5, and 7 day intervals, and four cancelled emails at the same intervals

Email Sequences

Dunning supports two email sequences — On Hold and Cancelled — each with up to 4 configurable emails. Each email has the following configurable fields:
SettingDescription
EnabledToggle individual emails on or off without deleting them
DelayHow long after the trigger event to send this email
SubjectEmail subject line with variable placeholders
BodyHTML email body with variable placeholders
Reply-ToEmail address for customer replies
Default email timing:
SequenceEmail #Default Delay
On Hold11 day
On Hold23 days
On Hold35 days
On Hold47 days
Cancelled11 day
Cancelled23 days
Cancelled35 days
Cancelled47 days

Example Dunning Emails

Dunning sends different emails depending on the subscription state. Below are examples of each type as seen by the customer.
Dunning email for an on-hold subscription showing store name, message about failed payment, subscription details with plan and amount, and an Update Payment Method button

Customer Recovery Experience

When a customer clicks the link in a dunning email, they are taken to the customer portal where they can see their subscription status and update their payment method.
Customer portal showing an on-hold subscription for Pro Plan at $95.00/year with an Update payment method button and a warning banner about the failed payment
After the customer updates their payment method, a charge is automatically created for any outstanding dues. If the payment succeeds, the subscription is reactivated immediately. For a cancelled subscription, customer is taken to a checkout page that already has the subscription added as the product.

Analytics

Track the performance of Dunning from the Recovery tab in the Analytics section of your dashboard.
Recovery analytics dashboard showing dunning entry counts, success rates, recovered revenue, and per-email performance breakdown
MetricDescription
Dunning EntriesTotal number of dunning attempts created
Success RatePercentage of dunning attempts that led to recovery
Recovered RevenueTotal revenue recovered through dunning
Recovery by AttemptBreakdown of which email in the sequence drove the recovery

Webhook Events

EventDescription
dunning.startedA dunning attempt has been started for a subscription
dunning.recoveredA subscription has been recovered through dunning

Recovery Webhook Payloads

View the full webhook payload schemas for dunning events.

Edge Cases

ScenarioBehavior
Customer updates payment method before any emailRecovery is detected; dunning attempt is marked as recovered
Customer purchases another subscription from same businessDunning attempt is marked as exhausted
All dunning emails exhaustedDunning attempt is marked as exhausted; subscription state is not modified

Best Practices

  • Start with defaults: The default email timing is designed with reasonable spacing (1, 3, 5 and, 7 days) to avoid overwhelming customers while maintaining urgency.
  • Monitor success rates: Track which email in the sequence drives the most recoveries. If later emails have near-zero conversion, consider disabling them.
  • Coordinate with support: Ensure your support team knows that dunning emails are being sent, so they can assist customers who reach out.
  • Review subscription states: Pair dunning with subscription.on_hold and subscription.cancelled webhooks for comprehensive lifecycle tracking.
Dunning works alongside the existing subscription on-hold and reactivation flows in the customer portal. Once enabled, it runs automatically with no additional integration required.

Recovery Webhooks

React to dunning.started and dunning.recovered events.

Abandoned Cart Recovery

Recover incomplete or failed one-time checkouts with targeted emails.

Customer Portal

Customers update payment methods through the customer portal.

Subscriptions

Understand subscription states that trigger dunning workflows.
Last modified on April 8, 2026