How to Recover Failed Payments with Userlist

Failed credit card charges — and the resulting involuntary churn — are the plague of any SaaS business. There’s a number of reasons why any of your customers (even the most loyal ones) may have a failed payment at any time: an expired card, card number change, exceeded card limit, etc.

A lot of that can be fixed by automating your failed payment recovery process (also known as dunning). The ROI of such effort is measured directly in dollars rescued in your MRR.

While not being a dedicated dunning tool, Userlist automation can still do a great job at recovering some of your failed payments. In this article we’ll touch upon the following:

  • What dunning solutions are available
  • Three reasons to do dunning in Userlist
  • What Stripe events and properties to track
  • How to set up payment notifications and dunning messages in Userlist (using the new “repeatable campaigns” feature)

Why should you handle dunning in Userlist?

Recovering failed payments isn’t a new problem, so there’s a number of dunning solutions available out there. Here are two popular solutions which we wholeheartedly recommend:

These solutions have plenty of power features which Userlist doesn’t have, such as card auto-updates, hosted payment forms, and many others. Here’s a great in-depth “build vs buy” guide from Churn Buster.

Then why should you bother with dunning in Userlist?

  • Your dunning messages will have the same look & feel as the rest of your lifecycle emails. Your customers won’t feel like you’ve passed them to a debt collector.
  • You have complete control over the tone, voice & frequency of your dunning messages.
  • Having everything within one system is more convenient, and you don’t need to pay for an additional service.

Below you’ll learn how to set up your payment-related messages via Userlist in four simple steps.

Step 1. Forward payment-related events into Userlist

First, you’ll need to start sending a few payment-related events and properties into Userlist:

Custom events and properties:

  • payment_failed (event)
  • payment_succeeded (event)
  • subscription_cancelled (event)
  • next_billing_on (property)

You can find more information on that in our integration guide and planning worksheets.

Step 2. Create your upcoming payment campaign

Giving your customer an upcoming payment notification can dramatically reduce failed charges (and reduce time spent on refunds). Here’s how to set up such repeating campaign in Userlist.

First, create a segment for users with an upcoming payment:

Segment: Upcoming Payment Users
Condition: next_billing_on is before 2 days from now

Then create a campaign that will send your upcoming payment notifications. Such campaign will have a repeatable trigger, meaning that the user can enter the campaign more than once (as opposed to regular educational campaigns).

Campaign: Upcoming Payment Notification
Send to unsubscribed users: Yes (more on this feature here)
Repeatable Trigger: user joins segment Upcoming Payment Users
Messages:

  • (send immediately) Friendly reminder: your payment is coming up in 2 days

Within these reminders, you can include their plan name, upcoming fee, or any other custom property using Liquid tags.

Step 3. Create your dunning campaign

Now you can create a campaign with multiple reminders. Such campaign would trigger when a payment fails:

Campaign: Failed Payment Recovery
Send to unsubscribed users: Yes
Repeatable Trigger: performed custom event payment_failed
Exit Condition: performed custom event payment_succeeded or subscription_cancelled
Messages:

  • (send immediately) Reminder #1
  • (send after 2 days) Reminder #2
  • (send after 2 days) Reminder #3, etc

The call to action in the reminder messages would be linking to your Billing page in the app. You can experiment with the length, tone, and content of these messages. We have also put together free full-text templates for your convenience.

Step 4. Think through the worst-case scenario

Finally, brainstorm what should happen if the payment isn’t recovered. Would you like to deactivate the account automatically? There’s a feature for that in Stripe’s subscription lifecycle settings: a subscription may cancel automatically after up to four unsuccessful billing attempts.

Motivational recap

Are you recovering your failed payments yet? If not, then we hope you’re motivated enough to start moving in that direction. Anything is much better than nothing, be it with Userlist or any tool of your choice.

Good luck with rescuing your hard-earned recurring revenue!

— Regards, Jane.