Membership tiers?

+1 Multiple membership tiers is needed for my use too where I can provide more goodies to people who are willing to pay more to support my art/creations.

1 Like

While it’s not possible for members to sign up to alternate tiers than the main paid membership in Ghost, it is still possible to get Stripe subscription information within a Ghost theme.

Having this information available means that your members could sign up for subscriptions through alternative platforms that link with Stripe and see all their premium content on your Ghost site. Our theme documentation under the section “Member subscriptions” here:

Thought people might be interested in this as it does open up some more possibilities :blush:


Thanks for info David :smiley:
Is the membership tiers feature still being considered for Ghost? It’d be great to have everything under the same system/platform and less confusing for the supporters/patrons.


Is there a sense of when Tiers might exist on the roadmap? :slight_smile:

Tiers and a directory of members are the 2 things I am most looking forward to. They will let me provide and charge far more value.

I understand that I could currently onboard users outside of the system but given how everything else is all wonderful, 100% natural ghost… I would much prefer for this to be the case with tiers as well.

Even if for now you just gave us 3 tiers that we can turn on and off as needed rather than fully being able to add/remove etc.

I fully appreciate membership stuff is complex and has lots of user stories and use cases.

I only ask because it was said to be on the way, so I am curious how far out that may be. :slight_smile:


While we wait for this feature, are there any alternate platforms that connect to Stripe and allow multiple tiers (which can then be linked to Ghost)?

Might be useful if we have a list like this, so those who don’t want to use Patreon know where to go.

1 Like

I’m interested in this as well. In particular:

  1. IIRC Stripe has its own form capabilities. If Ghost automatically ingests subscription data for a member’s email address from Stripe, can we bypass Ghost’s easier Stripe helpers in favor of Stripe-native forms?
  2. I understand we can get back an array of subscriptions, but I don’t know enough about Handlebars to know if this is enough to let us gate content. Say for instance we have three plans–tier1, tier2, and tier3. I’d want to do something like (pseudocode):
{{#if @member.subscriptionPlans.contains("tier1") }}

I don’t know if Handlebars lets us use even that much logic, but as of now we’d have to iterate through the subscriptions, collect the plan names, and check inclusion against that list. Unless I’m missing something, that’s a lot of logic to pack into themes, and we’d need that even if we did find a platform that managed memberships through Stripe.

I’ll be looking into this in the coming weeks and will update here if I make any progress, but if anyone has insight into the above questions, I’d appreciate it. Hopefully we’ll have native tiers at some point, but it’d be nice to rig up something in the meantime.


Another +1 for Tiers. I have 2 programs, an initial one (Tier 1) which you can think of as an intro course, then a recurring Tier 2 which is a higher level course. I can set up Tier 2 on Ghost no problem but that means I need another solution + logins for Tier 1 which is an overlapping audience but different levels of content.


Ghost’s themes don’t natively support that much logic, but the underlying Handlebars engine does. According to this blog post, one can write a custom helper (in this case, to check the @member.subscriptionPlans.contains('tier1') you mentioned). However, you’d have to go right into the Ghost source-code, and manually replace it every time Ghost is updated.

You can probably write a script to insert it automatically each time, but either way this option will only be available to self-hosted users.

Those caveats aside, this setup seems quite promising. We could even replace the subscriptions page with custom code, ignoring the tier settings and hard-coding Stripe values directly, which would make for a more seamless experience (at least as far as the user is concerned—little will they know what’s going on behind the scenes! :wink:)

1 Like

New here but very curious about multiple tier options. Last post here was in June - any development within Ghost for this tier system?


1 Like

Hi there,

Have you come upon other platforms that offer what you were looking for? I am in search, too.


1 Like

Not yet, unfortunately :frowning_face:. Right now we’re just using PayPal recurring payments and adding on the Members manually. It’s not really integrated into the website.

We’ll probably revisit it at some point, but pretty caught up with other things at the moment. I’d be interested in hearing about other options too.

Wondering if there are any updates on this? I’m about to launch a Patreon-style model for some of my game development work, and would rather not use something like Patreon for a variety of reasons.

If this isn’t on the immediate roadmap, I thought I might investigate implementing it myself. Seems like it’d involve:

  • Branching the existing single-plan database schema, preserving current data as the first plan.
  • Supporting adding separate plans/prices in the admin interface. Maybe give each a level based on order, and gate content based on whether the plan level is high enough. Though maybe there are other use cases that aren’t tier-based, like treating each plan as separate and requiring content be gated via more complex conditional logic.
  • Add helpers in the router/templates to support content-gating.

This is valuable enough to me that I’d be willing to sink some time into making it happen, but is there enough of a framework for these sorts of community contributions? Or is the main development driven by Ghost employees? I wouldn’t want to push ahead with this and have a PR rejected because it doesn’t fit the roadmap. Or maybe this is already on the near-term roadmap and I shouldn’t investigate?

Also, is this something doable in the context of a single site? My Ghost installation has an apps/ folder, but I can’t figure out what these apps are. “ghost apps” isn’t particularly searchable, either. :slight_smile: Looks like these may have been a failed experiment, but I’m not entirely sure.



Still wondering about Membership tiers as well. Is there a plan for various members through Portal? Has anyone found workable ways to personalize the code to allow for multiple tiered memberships?

I would love to use Ghost instead of Patreon or other membership systems.


I’m also curious if there is a roadmap for this

1 Like

+1 for membership tiers, otherwise will have to use WP.

I see that in database (settings table) we have stripe_plans row. In this row we have all stripe plans - so we can manually add/edit plans and you will be able to subscribe to them. Ghost automatically sync plans to stripe, so you don’t need to manually update plans in the stripe dashboard. Settings also have portal_plans, but I am not sure that this does.

But there are few drawbacks about this:

  1. You can’t manage plans in Admin (otherwise you will break something)
  2. You need to implement subscribsion display yourself. Ghost portal has hardcoded plans, so in my case, I have Ghost portal fork.
  3. You can’t set visibility to a certain tier, so in my case, I use custom tags and in theme added support (options are hardcoded)

I see that I am not alone that uses this aproach.

P. S. Are there any plans to implement this feature? I would love to contribute to it.

1 Like

+1 For tiers. The use case is really clear:

People want to be able to have 3+ sections of a site:

  1. Free content (to build their audience and build trust).
  2. Entry-level paid content (basic monthly subscription model for exclusive blog posts etc).
  3. Premium-level paid content (one-time payment or higher-subscription rate paywalled from both 1 & 2) (e.g. premium access to an online course or other digital product).

Then Ghost would also be replacing teachable etc and empowering online course creators to own their own shop. If Ghost had this functionality I would be all-in.

Unless this is possible with “free”, “monthly” and “yearly”? Maybe I’m just missing something. Can I separate out the content that “monthly” payers and “yearly” payers can access?

There’s also the question of international rates, and having different plans for different regions (my membership plan includes a print edition, so I need at least two plans: one for domestic and another for international). Not really “tiers” in that sense, but something that would be easy to implement if the levels weren’t hard-coded.

We will definitely be adding membership tiers to Ghost - but it’s not going to happen until memberships are out of beta, so that’s after the 4.0 release - which is the next big milestone we’re working toward.

Understand why lots of people are hungry for this feature, but like everyone else in the world, our team slowed down with covid lockdowns last year.

If anyone is interested in contributing to help make features happen faster, you can always follow along with the issues which are in progress on GitHub and offer to help. Open source products move as fast as the number of people who are willing to help work on them.

Either way, we’ll launch some version of custom tiers/plans in the next 6 months.

Note: There’s lots of good discussion on this topic, which is awesome - but I’m going to remove any further replies after this that just say “any update on this??” – because this is the update.


I have a 3-tier plan at the moment:

  1. Free
  2. $5/Monthly subscription – aimed at the general public/supporter.
  3. $150/Annual subscription – one-time payment aimed at professionals.

What I would like – as a component of this development – is to offer the ability to pre-pay a recurring plan in one lump sum at a discount using a Stripe coupon code in the setup, So – $5/month but $45/year one-time payment.

Conceptually, I think a way to handle this is to decouple the amount being charged from the periodicity of the payment. When creating a “product/item” (in Stripe terms) you choose the amount and type independently. This could support other forms of income streams – especially if the payment could be initiated by a Javascript link in an HTML card (as a “membership benefit”). This would enable me to replace an external shopping cart expense like Snipcart.

I use internal tags to manage creating points of entry (pages, nav links) of content to free members and premium members (customization of aEsto theme by @inoryum). However, there is no internal distinction in the membership system between the two paid tiers. The ability to associate (out of the box without custom coding) an internal tag for every membership option would be helpful, and this should extend to choosing which group(s) to email to when publishing a post.

1 Like