Tighter integration of account-creation and subscriptions?

Imagine a community where I want to require logins for any access (so I’ve enabled the ‘login required’ setting) and I want to require all users to have a subscription.

Currently, users have to have created an account before they can create a subscription (via the Subscriptions plugin.) This makes perfect sense, of course; One can’t have a subscription until you have an account.

Unfortunately, once a user creates their account, I must have some amount of visible content. That means I need an extra category, just to hold one topic, that says: “…you’re halfway! Now you have to subscribe.”

With the following ideas, account creation and subscription setup are still a two-step process. But there would be no users on the site who have an account, but not a subscription (b/c they get shown a wall to setup their subscription.)

A new “account-creation-more-url” option for Discourse

Allow me to set a new option (call it “account-creation-more-url”) that holds the URL of some Topic that I’ve page-published, and an option “account-creation-more-link-text”.

Only if Discourse is configured with ‘login required’ enabled, then a new link to that URL appears on the account creation screen/modal. This lets me easily build a page that details everything I need to detail. This gives me a way to lead people to something that explains what’s going on, when they face the account-creation wall. (It’s on me to put a working “create your account” link in that published page, etc.)

A new “subscriptions required” option for the Subscriptions plugin

A new boolean “subscriptions-required”, and a field “subscriptions-required-products” to specify a comma-separated list of products. (Ones from the Subscriptions plugin of course.)

When a user (other than a site admin of course) logs in, if they do not have one of those products active. They see another screen/model that forces a subscription setup.

And two fields “subscriptions-required-more-url” and “subscriptions-required-more-link-text”. (Which I’d set to the same page-published topic that I’d use on the account-creation wall.) This lets me lead people somewhere that explains what/why subscriptions.


Other topics in Meta that are somewhat related…

3 Likes

I agree entirely that the out of the box experience of the subscription plugin can be improved a lot! That said you do have a lot of power today if you wish to get your hands a bit dirty.

We do have outlets here, you can create a theme component to add the link.

I really like the flow of “seeing that categories exist” in the home page and having some special iconography to say that it is “subscriber” content.

Then non subscribers can click on it to be prompted to join to see the content.

@blake did we have anything like this in the plugin?

3 Likes

I think you can use Category Previews to accomplish that

3 Likes

The subscriptions plugin doesn’t currently interface with categories, just groups, which you then manually restrict to categories through the regular discourse ui.

Ya looks like you can:

3 Likes

This does make for a clunky workflow (joining is still required before subscription), and it only suits sites which have a very simple ‘a few categories’ structure.

The core problem when attempting to use Discourse as a membership site (with paid members) is that the two processes (joining and subscribing) are separate at present. I’ve tackled this by either embracing it, or trying to work around it:

Embracing the Join / Subscribe separation

Having a public component of the site, so that people already have a reason to join it - and ‘financial membership’ is simply taking it to the next level. Example site:

Working around it

Being login-only, and using the Custom Wizard Plugin 🧙 to force people to the subscription page as part of the joining workflow.

Unfortunately, they can still crash out of it if determined. If they do, they get a quite restricted experience, but this must be carefully configured. Example site:

https://members.ukdhc.org

The way forwards

Having the option to connect the two in a single workflow would be brilliant, especially for membership organisations which want to use Discourse for their member website.

Personally I’d do it like this as a first pass:

  1. Have a setting in the Plugin which turns on Subscriptions during joining
    • OFF: as current functionality (default)
    • OPTIONAL: directs people to subscription page at end of joining (but allows them to navigate away)
    • FORCED: directs to subscription page, and does not allow access to any other parts of the site unless subscription granted

Would of course need some messaging and polish as part of that.

3 Likes