I need some help figuring out a workflow that accomplishes what I'm after.
Here's my situation:
- I’m a Zapier Professional Plan subscriber
- I'm launching a paid subscription-based community in Circle (they have a Zapier integration, and I’m not flexible on this tool. I’m sticking with this tool).
- My current shopping cart is SamCart (also a Professional plan subscriber) and it does subscriptions. It also has Zapier integration. (I’m not married to this tool….I can change to another shopping cart tool if an elegant solution exists elsewhere)
- My customers are charged monthly, on a month-to-month basis (cancel anytime), and when they pay, they get access to the full month they paid for (so, if there subscription bills on the 1st, and they cancel on the 15th, they get access till the 30th).
- My email database is Drip. SamCart has an integration with Drip too.
I’m successful in enrolling customers in my Circle community upon SamCart purchase with a zap. This works great.
However, the issue is on cancellation. When a subscriber self-cancels their membership, the only trigger option in Zapier with SamCart is to immediately cancel the subscription and withdraw then from the community.
Basically there are two dates that matter:
- Cancellation Date (the date the customer self-cancels or requests a community cancelation)
- Service Expiration Date: Date the customer should be removed from the community (this is typically after the cancellation date)
I can't figure out a way to delay the removal of their Circle access to coincide with the balance of their final subscription charge (I don’t see a way to use Zapier delays for this...but maybe that is an option?). I don't know of a way to make this conditional to each individual customer...I don't think I can send Zapier the subscription start date from SamCart so that the remaining balance of access time can be calculated). And, tech support with SamCart has not been able to provide a solution yet.
I'm wondering if there are other shopping carts that will do a better job managing this for me (and can be integrated with Circle via Zapier or another similar tool). I need the trigger and logic to be smart enough to manage the delay (or the removal of access from Circle on the day of service expiration, not cancel date).
Or, is there a workflow with Zapier that I could use that would accomplish what I’m trying to accomplish? Thanks in advance.
[I see there is a Hire a Pro section here. I’m open to hiring someone to help me with this if that person exists.]
Best answer by nicksimardView original
I can see that you’ve written to our Support team and have been working with them on this workflow. Please continue the conversation there, since they’re able to dig into your Zaps :)
@BowTieBots for those ideas.
I did go ahead and do some testing today. I canceled the sandbox test account and the delay did not work at all.
I’m worried that SamCart is considering “End Date” the date canceled (vs the product end) as it didn’t work, and I don’t have a choice of dates when I define the zap. It recorded/recognized the cancel date as “delay_until_date” 2021-03-15T:00:15+00:00 (this is the data in field). I don’t know why it says the 15th when I’m canceling on the 14th...that’s one question (I’m wondering if it is a time zone thing...I canceled at 7:00 pm Central...maybe Zapier is running zaps in a different time zone?).
Regardless, all steps below the delay ran, unfortunately. I have a ticket in to tech support, but if either you or
@nicksimard have ideas for me outside of that, I’m certainly interested to hear.
Delay for a set time is pretty bullet proof so as long as the delay until time is correct then your zap will function correctly.
If you want to do some stress testing there are two things I would do:
In regards to the handle dates in the past. As long as dates are some point in the future which based on what you've said they should be you can leave that field blank. (Your tests should also confirm this assumption)
Thanks for the support
@nicksimard, and the ideas. I do see an end date provided so have gone ahead and used that in the zap with the Delay action:
I’m not quite sure if the “How Should We Handle Dates in the Past” field applies to me and since it’s not required I’m tempted to skip it. But, if you have advice for me otherwise regarding this, I’m all ears.
Also, any advice on how to test this out? I started a new test subscriber today through a sandbox purchase and the zap I have setup for that worked. Now, tomorrow, I’ll cancel their subscription, but will I have have to wait 30 days to confirm that it is working given the nature of my zap? Would love to verify that it is working properly by sending a user fully through it now (vs waiting 30 days) if possible. But, not sure how to do this. If I’m missing something here on how to test it, let me know.
And, you’re correct...I did say it would be till the end of the month, but I don’t think this is exactly how the SamCart billing works. You can see here in the SamCart product settings that I’ve defined a $300 buy in for the first 30 days of access, then a $50 charge will begin and happen “monthly”. I’m guessing that means on the <x> day every month, with <x> being based off of their purchase date + 30 days (but, not really sure):
Anyhow, this is the information I have so hoping that the Delay/End Date solution works...just will feel more comfortable once I can test it.
Thanks again for stepping in with your feedback!
First, I wanted to commend you for doing so much of this by using Zapier and a bit of creativity :) I love seeing whole systems and processes working via Zapier.
Now, for your problem. Is there an end date provided by the ‘New Subscription Cancellation’ trigger in SamCart? If so, you could use the Delay Until feature of Delay by Zapier to wait until that date has arrived before moving on to the Circle step that removes them.
You did mention that a person will always get until the end of the month, if I’m understanding correctly. If that’s the case there are likely some ways to do some calculations to see how many days are left before the final day of that month.