Do you want a simple, automated way to prevent duplicate Stripe subscriptions and accompanying double billing issues?
This step by step tutorial will show you how to do it. 🙂
Here’s the scenario:
Let’s say somebody just purchased one of your subscription offers but they didn’t realize that they already have a subscription for that product.
If you only want your customers to be able to have one active subscription at a time for a particular offer, you’ll need a way to cancel this duplicate subscription in Stripe.
Ideally this method will be fully automated to save you time and to avoid double billing and customer support headaches.
Unfortunately, Zapier can’t directly check for and cancel duplicate subscriptions in Stripe.
So you have to use a small (but perfectly valid) workaround.
What You’ll Need For This Tutorial
1 – Stripe account.
2 – Zapier account – You’ll need a paid account since we’ll be creating a multi-step zap.
*Alternatively, we can host and manage Zaps for you at $5/mo/zap. 🙂
3 – Google drive account.
Create a spreadsheet where we can check for new users
First of all, you’ll need to get all the current data from your Stripe account.
1 – Login to Stripe, go to the subscription section, and click on the export button:
2 – Choose “All” in the “Date Range” section and click on “Export”:
Here is the order I use:
4 – Now upload this .CSV file to google docs.
Creating a zap that will check and add the data in the spreadsheet
2 – Choose the Stripe app and a “New charge” trigger.
3 – Now you need to check whether or not the charge is for a new or existing customer.
To do this, you’re going to configure Zapier to check the spreadsheet you just imported into Google Drive.
4 – Choose “Lookup spreadsheet row” as your action and go through the steps to select the spreadsheet in your Drive account.
Choose the “Email” column.
5 – In the “Lookup value” choose the email of the customer that made a charge.
6 – Now you need to create a “Paths” step.
This is because you need to add a customer to the spreadsheet if he / she is new, and cancel the subscription if the customer already has an active subscription.
7 – Let’s start work on the “A” path.
Continue this step if “Email” exactly matches “Value in column A”.
It’s a default value if the Zap doesn’t find any row in the spreadsheet.
8 – If the zap meets this condition, you want the Zap to add this new customer to your spreadsheet.
Choose the “Find or create row” action and set it up to find a row using “Email” just as you did in the previous step.
9 – Click on the “Create Google Sheets Spreadsheet Row if it doesn’t exist yet” checkbox and enter the data you got from the first Stripe step:
10 – Now you can start working on the “B” path.
For the first condition choose the same one as you had on the “A” path.
“Email” does not contain the “Value in column A” value.
And the second condition should be “Status” contains the “Active” value.
If this step meets all conditions the Zap will cancel the current Stripe subscription.
11 – Choose the “Cancel subscription in Stripe” action and subscription ID from the first Stripe step:
12 – Your zap should now look like this:
13 – Activate this zap and let the Zapier magic do all the work for you!
14 – Note that you may only want this zap to run for specific products you sell but not for others.
In that case you would need to create filter steps after the first “New charge in Stripe” trigger.
15 – Note that this zap will not be totally fool proof because some customers use different emails.
Although it’s not perfect, it’s a simple zap to set up could save you and your team hours of manual work as time goes on.
Now let’s hear from you!
Are you using zapier in your projects?
Tell us which ones in the comments section below!