Adding a subscription option is a week of work. Running one is a different business, and the problems arrive on a delay, which is why they rarely make it into the original scope.
Failed payments are the whole game
A meaningful share of recurring charges fail for reasons unrelated to willingness to pay: expired cards, bank fraud rules, insufficient funds on the wrong day. Handled badly, this is your largest source of churn, and it is churn from customers who wanted to stay.
- Retry on a schedule rather than immediately. Retrying a declined card the same hour mostly fails again.
- Use card-updater services where the payment provider supports them. Many expiries resolve themselves.
- Email before the renewal, not only after the failure.
- Give a grace period rather than cancelling on the first decline.
Pause beats cancel
A customer with too much product is going to stop paying either way. If the only available button says Cancel, they press it and you lose them permanently. A pause option converts a large share of would-be cancellations into a delay, and it is a small feature.
The mid-cycle change problem
Customers change address, swap products, skip a delivery and change quantity, usually at the least convenient moment. Every one of these interacts with the billing cycle and the fulfilment cut-off.
Decide the rules explicitly before building: what happens to a change made after the charge but before dispatch, and who bears the cost. Deciding this in code by accident produces support tickets forever.
What to instrument from day one
| Metric | Why |
|---|---|
| Involuntary churn | Failed payments, separated from real cancellations. Usually larger than expected |
| Cancellation reasons | One required question at cancellation is worth more than a survey |
| Cohort retention by month | Aggregate churn hides the shape. Month-three cliffs are common |
| Pause-to-resume rate | Tells you whether pause is saving revenue or delaying churn |
The honest advice
Do not build subscriptions custom unless the product genuinely requires it. The established platforms have solved dunning, card updating and proration properly, and those are unglamorous problems that take a long time to get right.
Build custom when your subscription logic is genuinely unusual. Buy it when what you want is recurring billing that works.
Working on something like this?
We build websites, stores and custom applications, and we will tell you honestly if the thing you are describing does not need one.