How to sync free submission limits, guide early upgrade from trial to paid plan, and set up an upgrade button flow in Memberstack? Answered

Post author
Udi Menkes

Hן,
I started using memberstack for my new app. I have an issue with one of the templates and was hoping you could guide me to the right solution?

I cloned template_clfkv4dis01o30ukuauzj0iww and adjusted it to my use case. I need help in guiding me how to sync between the dashboard free submissions which is set in the page custom code to 5 and how do I make customers upgrade in a clear way when the limit is reached?

Asking because part is custom code limit and not sure how to connect an upgrade options to funnel to the paid. Something is weird with how it’s implemented vs your regular documentation and the video attached to the template is very basic.

Also say I would want to have an upgrade button that disappears after someone upgrades but on this same dashboard, what should be the flow?

To make things easier I have attached a screenshot of what I’m trying to understand.

Comments

14 comments

  • Comment author
    Duncan from Memberstack

    Udi Menkes If I understand your usecase correctly it sounds like you want to prompt users to purchase/upgrade when they complete an action 5 times.

    If this is the case then you’ll want to:

    1. Track the number of clicks
    2. If the number goes to 0 then you change the display state of your upgrade UI
    3. Check the number of clicks when the page loads.
    4. If the number is 0 then display the upgrade UI.

    Does that sounds about right?

    0
  • Comment author
    Ben Tossell

    stupid question but can’t think what i need to do….so if a free user ends up on this sign up page, its to upgrade - but it just says email already taken. how do i get them to get to the stripe screen?

    0
  • Comment author
    Julian Galluzzo

    Maybe just have a redirect on the page to check if they are logged in and redirect them to a dedicated upgrade page?

    https://docs.memberstack.com/hc/en-us/articles/13156905423899--Code-Redirect-Logged-in-Members

    0
  • Comment author
    Ben Tossell

    Oh I thought them entering details would just direct them to stripe

    0
  • Comment author
    Duy

    hey ben, so what works for us is to have a button with the data-ms-price:update attribute and not within a form

    0
  • Comment author
    Ben Tossell

    thaaaaats it Duy - i forgot on the button before the sign up page to have that attribute, working now thanks!

    0
  • Comment author
    Felix Gräf

    Hey, Ive build a react app. Is it possible to make certain buttons only visible for certain members with a specific plan?

    For example an ”Upgrade Plan“ button should only be visible for members with a Free plan.

    0
  • Comment author
    Raquel Lopez

    In Memberstack React library there's a provider that would allow you to add some logic, you could pass the plan id or ids to conditionally render the component.

    <MemberstackProtected
    allow={{
    plans: ["pln_123"]
    }}

    ...
    </MemberstackProtected>

    Here's the link to the official docs to you can check its properties
    https://developers.memberstack.com/docs/react-package#logic-wrapper-components

    If you have any issue with it just let me know 🙂

    0
  • Comment author
    Oleh Boilo

    Hi everyone

    I have a case where we show members only 5 videos out of 100 during the free trial, I use one tariff plan for this, but with 4 prices, 2 regular and 2 trial versions, and for gated content - regular and free trial access

    The question is how to provide an opportunity to switch from the trial version to a regular paid plan with a full content list ahead of schedule.

    Maybe someone had such a case, I will be very grateful

    0
  • Comment author
    A J

    Hey Oleh Boilo, if you want to provide a facility for users (on free plan) to be able to upgrade to a paid plan, you can make use of data-ms-price:add="PRICE_ID" where Price ID is the unique value you get on the regular paid plan after you click "Install and Publish" on the relevant price.

    In case the trial version is a paid plan, you need to use data-ms-price:update="PRICE_ID" instead, if you want only one paid plan to be active for the member.

    More detailed info on pricing can be found here.

    Let me know if you are asking for something else for a specific use-case.

    0
  • Comment author
    Oleh Boilo

    I just checked it.

    I clicked this button data-ms-price:update="PRICE_ID" during my free trial and this method doesn’t work, Stripe offers to upgrade my plan, but in the next window it looks like I’m already on this plan, and I can’t upgrade it

    or in other words, is it possible to skip the trial period by clicking a button or setting it up in the Stripe account, or does this scenario require a different logic, because so far I have not found something like this on the Internet

    0
  • Comment author
    A J

    Hey Oleh Boilo, so is the trial plan a paid one? If yes, ideally it shouldn't cause issues, but have you tried with the data-ms-price:add attribute instead, to see if the user is able to have multiple paid plans in that case?

    I found this discussion which seems to have similar solution requirement as you specified, I am not sure if it worked for them, but linking it here so that you can check and see if its something you can implement.

    In case your trial plan is a free one, I think cancelling it and upgrading to a paid plan will be easier via plan logic or via attributes. But in case its a paid one, I think there is an attribute data-ms-action="customer-portal" which essentially will open the user's stripe customer portal via which they can cancel their plan. For a detailed guide on this use-case, checkout this article,

    But since its a trial plan, I am not sure about the number of days they can have access to the plan, since even after cancellation, they have option until the trial period end to renew etc., so it does not work like an immediate cancellation. More info on that here.

    Hope this gives you a rough idea or helps to think what approach would work better.

    0
  • Comment author
    Oleh Boilo

    Hey A J,

    I tried data-ms-price:add/update and data-ms-action="customer-portal".

    Nothing works in my case, I think some of the issues might be related to stripe settings that don’t have this functionality. So I decided to change the logic of my plans to a simpler one.

    Thanks for your help and support.

    0
  • Comment author
    A J

    Oh, I see. Glad the issue got solved. Welcome 😇

    0

Please sign in to leave a comment.