In-app notification (Intercom+Stripe)
As a best practice, most SaaS/subscription companies should remind customers in-app when they are past-due.
And the problem is best solved without throwing another pop-up messenger into your app—you may already be using Intercom, along with other tools that can force a necessary interruption upon the user.
You'll need 2 things to get started:
Card update page. Since users are already logged in, and easily identifiable, a billing page on your website works best.
Intercom. Other in-app messengers would work too, but with the popularity of Intercom we'll focus on this integration with Stripe.
How to set it up:
In the following steps, we'll show you how to set up Intercom notifications to work seamlessly with your Churn Buster campaigns.
- Connect Intercom with Stripe. There is an intercom/stripe integration built-in, so no code is necessary: https://www.intercom.com/help/en/articles/829-get-started-with-intercom-by-integrating-stripe
- Set up the 1st notification. Target an Intercom popup that looks for "stripe_subscription_status" to be "past_due"
For this we can use a friendly notification:
Hi Ken! Quick note: we're having trouble processing your payment. We'll keep trying. If you need to update your billing info, go here. Thanks!
3. Set up the 2nd notification. Target an Intercom popup that looks for "stripe_subscription_status" to be "unpaid."
We can be more direct with this message:
Hi Ken! We've been having trouble processing your payment, and your account is past-due. Please update your billing information right away to avoid interruption to your service. Thanks!
With these two popups active, you can be sure logged-in users know about any missed payments — and users will have an easy way to connect with your support team for help.
Note: For a more aggressive approach, it's often effective to initiate account lockouts to block further use of your service. Generally, we recommend waiting at least 5 days after the initial failed payment, and the lockout event could take the place of your 2nd notification (based on Stripe's "unpaid" invoice status).