36
Multiple membership plans
under review
Duncan Hamra
1) My customers can only have one plan (role, membership, product, etc) at a time.
2) I can't use Memberstack with my pricing model. My pricing model is key to my business model, branding, positioning, marketing, etc. Pricing is core to any business.
3) Change my pricing. Use another tool. Build a direct Stripe integration.
4) Please let me add multiple subscriptions to a particular member or multiple quantities on a single subscription.
Activity
Newest
Oldest
m
make give live
Hey Duncan
My scenario could be to have a Free Tier that everyone can sign up to and then a premium tier that's charged on a monthly fee.
I don't want people to have to choose one or the other but to first become a Free member and then be offered the Premium membership once they are logged in. They can sign up and pay for this with their existing credentials.
Is this possible right now or would it be possible in Memberstack 2.0?
Thanks
Jonathan
Duncan Hamra
Update time 🎉🎉🎉 This feature is entering suuuuper early alpha as part of Memberstack 2.0 this week.
We want to share the good news, but also make it perfectly clear we're still some months away from having this be readily available to all users. Thanks for your patience!
Gowtham Sundaresan
This would be amazing!
For those of you who want to do this immediately, until the feature comes out, I managed to get this functionality for my course-selling platform.
I essentially have made each course a different membership on MS. I've also set up MS fields for each course (Course 1, Course 2, etc). The user pays for a course by signing up for a membership and then I pass a hidden field to make the MS field "Course 1 = Purchased". When they purchase another one, we make them change their membership to say Course 2 and make "Course 2 = Purchased".
Now, on Webflow, we gate content based on what the values of Course 1/2/3 are (Purchased, Completed, Not Purchased), and not what the user's membership is. This gives us flexibility to bundle courses or sell multiple courses to the same person.
D
Dominic Coutts
@Gowtham Sundaresan: Hi Gowtham, I don't quite follow, can you elaborate on how you implemented this workaround as really need to find a way to allow people to sign up to different courses without losing access to the gated content. Your help will be hugely appreciated!!
D
Dominic Coutts
@Duncan Hamra Are you able to give me a bit more detail on how to implement Gowtham's workaround - I'm using Webflow and very familiar with that, but new to Memberstack so can't quite follow the process he's suggesting but it may make total sense to you.
D
Dominic Coutts
@Duncan Hamra @Gowtham Sundaresan - I would really like to implement this but need your help!
I have created the hidden fields and am guessing you used Zapier to update the value to 'Purchased' etc
However, I can't figure out how to gate/hide the content based on this value?
Duncan Hamra
@Dominic Coutts: I'm afraid I don't fully understand how Gowtham has his site setup 🤔 If I had to guess, I assume he's using the backend API to update the membership which is granting/revoking access to content. But I'm really not sure 😞 We're super excited to get this feature released!!!!
D
Dominic Coutts
@Duncan Hamra: Thanks for coming back to me. At least I wasn't being dim!
In the meantime, I'm back to the drawing board with finding a solution that offers this functionality - outseta.com is nearly there, but not quite and also has the required features on their roadmap.
Would be interested to know how soon you'll be able to release these features... Q1 perchance?
Duncan Hamra
@Dominic Coutts: Hey Dominic! We're releasing this feature into a suuuuuuper early alpha as part of the roll out for Memberstack 2.0. We're making progress but there's still ALOT of work before this feature is available to everyone. At this point, it would be irresponsible for me to ask you to wait for us to release it. That said, we'll keep working and get it out ASAP!
Gowtham Sundaresan
@Duncan Hamra: @Dominic Coutts
Hey, just saw this thread - didn't realize that there was discussion going on here. Anyway, Dominic got in touch and I ran him through how I did it, but for anyone else who wants to implement the same, here's how I went about it.
Step 1:
Create fields for every course on Memberstack. Course 1, Course 2, Course 3 for this example. These fields will always be one of “Not Purchased”, “In Progress”, “Completed"
Step 2:
Create a membership for each of these courses. Course 1, Course 2, Course 3 for this example. Since we are dependent on MS for billing, if someone buys a course after already buying a course previously (and hence associated with some membership), we can bill them for the second course only if we “change their membership”. And hence having just one general membership wouldn’t suffice, since we wouldn’t be able to bill them again.
Step 3:
On Webflow, create a sales page for each course. For this example we will delve into the sales page of Course 1.
3.1 On this page, create a form with a button that has the attribute of the Course 1 membership and input fields. You would need to decide what input fields you would like. Usually it’s “email", “password", “name". (I restricted it to just “email" as an experiment to see if a lower barrier of entry leads to higher conversion rate.)
3.2 Create input field in the same form with the element IDs #course-1, #course-2, #course-3 and set the display property of these fields to “none”. Make sure that these fields have the attributes set corresponding to the fields on Memberstack. In this example: "data-ms-member = course-1”. Of course, the submit button needs to have a data-ms-membership attribute set to the corresponding to the Course 1 membership ID on Memberstack.
Step 4 (where the fun stuff happens):
In the page <head> tag, add this code
var Webflow = Webflow || [];
Webflow.push(function () {
$(‘#course-1').val("In Progress");
});
So when the user clicks the button to purchase the course, their profile on MS will automatically get updates with these 3 fields as well, on top of what they filled out for name, email and password. Make sure to change the code to reflect which course is to be set to In Progress depending on which course’s sales page this code is placed.
Now we have the workflow built for new members who don’t have an account and are making their first purchase, or create a new account without purchase.
Step 5:
Existing members who already have signed up and purchased Course 1, would need to be able to buy Course 2. We would need to either re-direct them from the sales page created in Step 3 to a “Sales page for members”, or play around with showing and hiding elements on the page created on Step 3. I went with the latter for different reasons, but for the sake of this example let’s go with the former.
5.1 Setup a re-direct to go from course sales page -> course sales page for members if the user is logged in.
MemberStack.onReady.then(function(member) {
if (member.loggedIn) {
}
});
5.2 Create with a “Buy Now” button with the data-ms-membership = membership ID. Clicking this will allow the user to switch memberships by paying the corresponding amount associated with Course 2 membership.
Step 6:
6.1 On Zapier, create a Zap with Trigger for “Membership Changed in Memberstack"
6.2 Make the action to “Update Member in Memberstack” depending new Membership. If “New Membership Subscribed to exactly matches <course 2 membership ID>”, then update the member's Course 2 field to “In Progress”.
Please note that Zapier “Paths” is used to create an if/else structure but they’re currently limited to 3. So if you plan to have more than 3 courses, use Integromat instead of Zapier. Or possibly duplicate the Zap for every 3 sets of courses (haven’t tested this, but it would not be the most optimal way to do things)
Now we’re able to keep track of who buys what courses for any number of courses :)
Step 7:
Now it’s all upto showing/hiding the content we want to show on our site. So if we have a dashboard page for logged-in users, and someone clicks Course 2 without purchasing it, we want to send them to the “Course 2 sales page for members” instead of being able to view the videos. So what we would do is:
MemberStack.onReady.then(function(member) {
let course2 = member[“course-2"];
if (!(course2 == “In Progress”) && !(course2 == “Completed”)) {
}
});
Similarly you can get creative with showing/hiding elements to craft a better UX.
Gowtham Sundaresan
If you’re using Collection Lists, skip the embeds, just pull in the values directly into the relevant Text Blocks or Image Fields, etc via CMS. In order to manipulate a specific Collection Item from data taken from the API, do this:
Example: We want to set a Text Block to indicate the Course Status (“In Progress”, “Not Purchased”, “Completed”) for any given course for a logged-in user.
var collectionItems = document.getElementsByClassName(“course-collection-item”); //“course-collection-item” is the Class Name of the Collection Item (immediately under Collection List)
var courseTitles = document.getElementsByClassName(“course-titles”); //“course-titles” is the Class Name of the Text Block that displays the Course Name in a Collection Item. Taken from CMS.
var courseStatusText = document.getElementsByClassName(“course-status”); //“course-status” is the Class Name of the Text Block that displays the Course Status. We want to set this value.
//From MS API
let course1Status = member[“course-1”]; //Will return one of “In Progress”, “Not Purchased” or “Completed”.
let course2Status = member[“course-2”];
for (var i = 0; i < collectionItems.length; i++) {
if (courseTitles[i].innerHTML == “Course 1") {
//Now we know that we are in the Collection Item of Course 1. We can do whatever we want here.
courseStatusText[i].value = course1Status;
}
else if (courseTitles[i].innerHTML == “Course 2”)
//Now we know that we are in the Collection Item of Course 2. We can do whatever we want here.
courseStatusText[i].value = course2Status;
}
}
C
Chris Allen
Hi @Duncan Hamra I am currently in the process of building out my first course based service for a customer and my stack is Webflow and Memberstack. Then I realised multiple memberships couldn't be applied to the same user. Do you have any times frames for when this will be completed?
Duncan Hamra
@Chris Allen: Hi Chris! I'm going to follow up via email. I'm afraid we won't have an Webflow version of this feature until we're able to migrate to Memberstack 2.0
T
Tim
❤️❤️❤️❤️❤️❤️❤️
Duncan Hamra
under review
J
Josh Smith
@Duncan Hamra I would LOVE this one. Seriously. So many of my clients have multiple courses and membership that they sell at once. This would be a game changer!
Duncan Hamra
@Josh Smith: Thanks for commenting! If you have a moment, could you share more about the specific pricing models you've wanted to support in the past? Links to pricing pages, pictures, etc. would be super helpful.
I've learned that pricing models can get pretty complex, so I want to be sure we're building the right thing for you.
J
Josh Smith
@Duncan Hamra: Anytime! Thanks for responding. :)
Basically, we run into a lot of issues when it comes to building out + giving access to multiple one time payment memberships (specifically courses).
We also run into a lot of issues when it comes to monthly paid memberships and a one time payment memberships. The less common use case we come into as well is having two or more paid memberships at a time.
Here is a link to a Black Friday Sales page that has a current client's course list: https://www.twocanco.com/sale (we are working on moving her from Memberspace/SS to Webflow). She has 3 - 4 courses that can be bought independently or all together.
That to me is the biggest use case that we run into. That and a membership + one time purchases. We can use different platforms to do these things, but it would be nice if people could just log in once and have all their info in one place.
Let me know if that makes sense or if there are any workarounds! We can also send you more examples too. :)
Corey Haines
@Josh Smith: Same here 🙋♂️ I have two courses and would like to build more and sell them all through Memberstack instead of my current course software. It'd be great to be able to sell them as upgrades to a membership or as a standalone. E.g. $99/yr for membership, $299 for each course, $399 for both courses, $99/yr + $399 for both courses and membership.
Duncan Hamra
@Josh Smith: Beautiful! Thank you for breaking it down.
Is this a fair summary?
- Courses. Members are paying a one-time or recurring fee to get permission to access course content. Members should be able to select whatever combination of courses they want based on your UI. Question: When it comes to checkout, what is the ideal flow here? How should members select their courses and eventually pay for them?
- One-time payment + a subscription (or two). In this case they would have an active subscription and some kind of purchase history dashboard so they can access purchased content? We would need to make sure we account for a) A member has a paid subscription and wants to addorswapto a one-time plan. b) A member has a one-time plan and wants toaddorswapa subscription. c) a member has a subscription and wants toaddorswapto another subscription.
Duncan Hamra
@Corey Haines: Hey Corey! Makes total sense. Thanks for breaking down the combinations there.
Same question for you. 1. When it comes to membership/course selection what's an ideal checkout flow for your members? Please share examples if you have any 😁
- Also, would you expect Memberstack to handle the purchase history / course dashboard in a pre-built UI, or would you want to build this yourself?
Corey Haines
@Duncan Hamra: Great questions!
Re: Purchase history
Yep, I have no idea how to handle/build myself lol. Maybe that's easy and I don't know but it feels like the "Profile" would be a good place for that.
Re: Checkout flow
I think the ideal checkout flow would be to launch a checkout modal/page (more info here: https://future.memberstack.com/problems/p/customizable-checkout-modalpage) and then either display the selected product alongside unselected products OR after completing checkout of the selected item, displaying a second modal/page with the upsell for additional combinations of products.
Rough examples of selected product alongside unselected products as well as the second step upsell:


J
Josh Smith
@Duncan Hamra:
1.Yes and no. Typically in terms of user flow, we only sell one course at a time. However, sometimes we want the ability to "bundle" courses or sell the access to more than 1 at a time (even if it is a fixed $$$ amount. Does that make sense?
Most of the time it's one course/membership payment that gives access to multiple courses that need to be accessible from their dashboard. It would be nice though if we could have order bumps and additional upgrades, but that to me doesn't seem as necessary.
2.For this use case, it would be similar to the above. They would pay once and get access for each item/subscription separately. That way if they cancel the subscription, they still have access to the one time payment.
Basically, it would be nice if we could have one login with the ability to separate access to different plans/memberships based off of what they buy. Right now everything (including access) is tied to the login (which is a membership) which makes it hard to maneuver these pretty common use cases.
A purchase history dashboard would be nice. Or at least something to give them the ability to change, upgrade, downgrade, swap, or add whatever themselves.
Let me know if that makes sense!!
Duncan Hamra
@Josh Smith: So helpful! I'll make sure we are account for all of this and share mockups/prototypes as we get closer. Thank you!
T
Tim
@Josh Smith: Same here! @Duncan Hamra: We have three different content areas 1, 2 & 3 in our site each with it's own membership fee: Area 1@ $12/day, Area 2@ $100/ month & Area 3@ $120/ month. A customer may want access to:
a) 1 only
b) 2 only
c) 3 only
d) 1 & 2
e) 1 & 3
f) 2 & 3
g) 1, 2 & 3
We might then want to also offer a certain discount based on the customers total monthly spend 20% off for $280, 10% off for $120 or more. With the above scenario someone could by Area 1 once a month five or ten times a month.
Make sense?
Duncan Hamra
@Tim: Makes total sense 👍 This is one of those usecases where the ability to programmatically apply / remove a coupon based on conditions in the checkout could be useful 🤔
Blair Rorani
@Tim: My client wanted to do this same thing (diff memberships rather than different tiers of the same membership).