How to Handle Incomplete Signup Flow with Memberstack and Stripe: Preventing Abandoned User Registrations
Hello, is there a way to set a fall back plan? Example:
- A site visitor clicks signup modal data-ms-price:update=prc_paidplan,
- They complete the member signup modal, by entering name, email, password.
- They reach the stripe payment page, and click the back button
- They go back to their initial site page
- Memberstack tracks this as a signup member with no plan associated
How are others handling this?
I believe the ideal case, is the user get assigned the 'fallback' plan? as opposed to a null plan
And if set to the 'fallback plan', which in my case is the 'free trial plan', they should be sent to the redirect of the 'free trial plan'. Currently, with a null plan, nothing happens and so the user flow is not great.
Comments
12 comments
Hey Admin P, there are multiple ways to tackle this.
You can see what fits your use-case more precisely and take that up.
Additionally to this setup, if you want to handle the abandoned cart use-case, I found these 2 helpful resources as an add-on:
Hope this helps. Let me know if you face any issues.
Hmm, that's interesting 🤔
Ideally the default redirects should work for members with no plans.
Admin P Just wondering, have you tried adding both your trial plans and the paid plan attribute to your signup? So that the free trial plan gets added by default irrespective of the checkout status, and once when people do go through the checkout the paid plan is added. I haven't tested this use-case personally, but I am guessing if this works, it should save you from adding custom code to the pages.
I'm not sure if memberstack allows this functionality.
data-ms-price:add="PRICE_ID1 PRICE_ID2"
Would you know? From my initial test it does not
Hmm, we can't add Price IDs next to each other in the same attribute currently.
What I mean is add trial plan attribute separately and the paid plan attribute separately for the signup button. Although I know we can create members with multiple plans together via dashboard / automation, I am not sure if free plan and paid plan works at a time via attributes, since in my personal a/c I don't have stripe a/c connected to test it for you.
But I am thinking of an alternative if the above does not work, you can also consider adding just a free plan attribute on signup button. Now the user does not need to know of this plan (as this is just for the back-end purpose for you to know the users who were about to pay but have not paid yet). This free plan redirect can be setup for an upgrade or pay now to access the site kind of page which leads them to the checkout as this will mean its a part of the signup process. If you don't prefer this solution, can you share a preview link or site link where I can test what happens when I sign up and don't checkout?
You can't add two attributes with the same name like this:
data-ms-price:add="PRICE_ID1"
data-ms-price:add="PRICE_ID2"
Yes that's true, but are you trying to add 2 paid plans? Free plan will probably have a different attribute like data-ms-plan:add instead of the price attribute. Again just brainstorming if this works 🤔
Also I just tested the paid plan signup without checking out, and from my end default redirects seems to work. For e.g. for a client I had setup default redirect to dashboard, and paid plan redirect to a course page. Now when I signup and abandon the checkout, I don't have a plan assigned to me so by default when I login I am taken to the dashboard as opposed to any gated content / plan specific page.
This is the simplest solution for making sure that gated content works the way it is setup and members with no plans don't have access to it + are redirected to the page we want them to redirect to.
Can you share what issue you are facing on the site with default redirects? And how the default redirects are setup and what's not happening? Maybe we can try to fix that to simplify the process
In your example, the user flow is disrupted because they need to login.
Following the steps I have in the original post, there should be a fall back plan, so the user is immediately redirected to the fallback plan
Hmm so you mean to say the flow should be like:
A user signs up for a paid plan (enters email and password) and when stripe checkout is triggered, if the user clicks back, they need to be redirected to the fallback plan's redirect instead of the signup page they just came from?
I am guessing currently that's what must be happening 🤔
yes exactly!
Got it, this is a very specific use-case so I think we don't have attribute kind of solution for this even if you add a fallback plan, since the user is in the middle of the whole flow.
So I have a workaround for this via custom code, but you don't need to add this to multiple pages, if you add this to signup page custom code section, that should be more than enough:
replace the "URL" in the code with the actual page link that you might want the user to redirect to in case they hit back button before purchasing the product.
So when a user is logged in and has no plans assigned, this code will ensure they are redirected to the page you want them to see when they hit the back button from checkout (and try to access the signup page). And if they logout or login back at a later time default redirects that you have setup in the memberstack dashboard would come in the picture and would also help you with the same.
This should solve our use-case. Hope this helps.
Thanks for your comments! This implementation is similar to what I've done, so I'm glad we've came to the same conclusion!
any other solutions?
Please sign in to leave a comment.