Subscription Membership for Online Courses with a free trial

Use case: Learning platform with (optional) 14 day free access to Starter content – upgrade to pro is automatic after 14 days (unless canceled)

Workflow as experienced by the customer:

  • User reads through sales page and can choose between two two options: PRO subscription with a free 14 day trial during which access is restricted to STARTER content or PRO subscription with access to everything. 
  • There is a 14 time restriction to STARTER after which access is either upgraded (payment due) or removed
  • User can upgrade to PRO at any point, switching for example from “monthly with trial” to “monthly I want it now”

Components and Plugins used

WooCommerce with the following plugins:

Sensei: a WooThemes plugin to create courses

Configuration order: (WooCommerce – ) Sensei – Product – Membership.

This means, first you need to create your courses. Then you create the products that you are setting (access rights to these courses). Finally you restrict the access to these courses based on the access rights you defined in your products.

Be prepared to hop back and forth to streamline accesses.

How to set it up

This work-through indicates the settings that are needed to make sure all components work smoothly together. Thus I will only highlight those settings that are crucial (especially when it comes to the WooCommerce setup).


Make sure to allow for Subscription Switching to allow users to upgrade to the PRO plan at any point.


Please make sure to mark “Access Permission: Users must be logged in to view Courses and Lesson content.


This ensues that only users with an account (who have paid or are on free starter plan) can access the content.

Within your Sensei area, make sure to create different courses depending on the user level you plan to introduce. For example, create one STARTER course and one PRO course to then later give access on a per course basis.

Products (Subscription Options)

Now that your courses are ready, it’s time to add products to your shop. Remember, you are not selling the courses, you are selling the access to those courses.

If you want to allow your users to upgrade and downgrade between different accesses (instead of selling courses on a standalone basis), you only need one product – a variable subscription.

variable subscriptionGo to Products >> Add Products and add a new product. Choose “variable subscription” from the dropdown menu.

Click on attributes and add the billing cycle you want to offer. In this example, we are offering a free starter subscription, a monthly subscription and an annual subscription:

attributes optional trial

Make sure to activate “used for variations”.

Create the four variations with their respective price tags. For example:

  • Variation Monthly with Trial: enabled, virtual, sing-up fee: 0, free trial 14 days, subscription price: 10 every month, all time.
  • Variation Annual with Trial: enabled, virtual, sing-up fee: 0, free trial 14 days, subscription price: 100 every year, all time.
  • Variation Monthly “I want it now”: enabled, virtual, sing-up fee: 0, free trial 0 days, subscription price: 10 every month, all time.
  • Variation Annual “I want it now”: enabled, virtual, sing-up fee: 0, free trial 0 days, subscription price: 100 every year, all time.

Note that two options include a free trial which will give access to ONLY the Starter Plan until the trial expires.

At the very bottom of the product page you will find a membership box. Make sure to click on Disable Restrictions in the Restrict Content tab. restrict content

Remember, you want to restrict access to the COURSE CONTENT, NOT to the product itself. You do want people to find the product and be able to purchase it.

Membership Settings

This plugin brings it all together.

Go to WooCommerce >> Memberships and click on the tab “Membership Plans”

You need to create two membership plans here.

One PRO Membership plan, that grants access for those who are paying monthly and annual and one STARTER Membership plan that grants access ONLY for those who chose not to pay (yet).

For the PRO membership WITH trial access, the setup looks like this:

General: add the trial variables to the Grant Access box.

membership for trial

Under “Restrict Tab” make sure that you are adding two lines. The Starter Course will be available immediately. The PRO course will be available after the trial!

available after trial

Restrict products: leave blank (unless you have special products that only pro members should be able to purchase)

Everything else can stay as is.

For the PRO membership without trial, the setup looks like this:

membership i want it now

General: add the variables WITHOUT trial to the Grant Access box.

restrict access i want it now

Under RESTRICT content, you will add both the Starter course and the PRO course for immediate access – because that’s what they’ve paid for.

Users can switch between the variables in case they want to shortcut their trial, or they can simply wait out the 14 days to then be upgraded. 

Changes in subscription can be done via the upgrade / downgrade button on the account/my-subscriptions page. (The design will vary depending on your site design).upgrade

Additional considerations

If you want an unrestricted trial period, check this article.

Change the text of the upgrade / downgrade button.

Give a personalized upgrade recommendation to starter users who try to access pro content. You can do so on the Product Page >>Membership Box >> Restrict Content Tab.

custom message

You might also want to look into using Grouped Product instead of one variable product.

Other resources: Building a membership site with WooCommerce Memberships (without Sensei)