Overview

WooCommerce is one of the most popular eCommerce plugins for WordPress (see our full review), so it’s no surprise that many users want to use WooCommerce to sell memberships or subscription products in addition to existing inventory. The bonus to setting up a membership site with WooCommerce is the flexibility to sell other products, such as complementary products or tools, as well as the advantage of several marketing extensions already available for WooCommerce. However, setting up a membership site using WooCommerce will require a few plugins and may be overkill for some simple membership sites. This is more for those of you looking for a solution that supports selling more than just memberships and can scale with your store and site.

We’ve got an updated review of using WooCommerce for membership sites as well.

To set up your membership site, you’ll need some plugins to handle the membership setup, and another to handle recurring billing. You’ll want to download the free Groups plugin for WordPress, and will then want the WooCommerce Groups extension for $79 that allows you to sell these groups as products. To handle recurring billing, you’ll want the WooCommerce Subscriptions extension for $199, which brings the total set up costs to $278 for the first year. Renewal fees for support and updates will be around $139 per year after the first year.

So what do you need to know to set up your membership site? We’ll go through the process of setting up a membership site using WooCommerce and what it addresses on our membership site checklist.

Creating Memberships

Memberships are created using the Groups plugin and its WooCommerce integration, and content restriction is achieved by using these plugins as well. Since Groups isn’t a true membership solution, this part of the setup isn’t exactly intuitive. You can follow along with the Groups documentation for help with the process.

The first thing you’ll need to do is create “groups” for your memberships. Since each membership will be created as a product that uses the group restriction rules, you can create an unlimited number of membership products, and customers can purchase multiple memberships to support content-based membership sites. Groups can be created in a couple of ways. First, from the Groups menu, you can create a “capability” that groups will be able to use. I named my capability after the membership levels I used (basic, silver, and gold).

Sell with WP | Adding capabilities to Groups

Adding Capabilities to Groups

Once you’ve added the capability (which is essentially a restriction level for the posts, pages, or products you’re selling), you can add that capability to a group:

Sell with WP | Add capability to WooCommerce groups

Adding capabilities to groups

If you’re already working on a post or page, you can select the capability required for access to the content from the “Access Restrictions” box. If you need to add a new group or capability, you can do so from this box as well:

Sell with WP | WooCommerce Groups Access Restrictions

WooCommerce Groups Access Restrictions

Setup is a bit time intensive, but does allow you to complete customize membership access, and will also allow you to create a pay-per-post system by creating a subscription product for a post with its own restriction capabilities. Another benefit to using Groups is the ability to integrate discounts with the extremely flexible WooCommerce Dynamic Pricing extension. This allows you to provide bulk discounts as well as membership level discounts (in addition to other discounts and quantity-based pricing rules), so membership can allow customers a discount level for your store.

Content Restriction

Content restriction is possible using the capabilities of each group. You can set a capability required for read access to posts, pages, and custom post types from the WP editor. Any group that has this capability will be able to read the content. For example, if both “silver” and “gold” memberships have “silver” capability, then when the capability for read access is set to “silver”, members who have purchased either membership will be able to read it.

For each page, post, or custom post type you’d like to restrict, you’ll have to set the access restrictions in the editor. This is unfortunately a time consuming process, as you can’t set restrictions for post categories or tags to expedite the process. You’ll also have to link your subscription products to the corresponding groups / restriction rules when you set them up to ensure that customers are placed in the correct group upon purchase:

Sell with WP | Linking WooCommerce Subscriptions to Groups

Linking Subscriptions to Groups

Groups does not provide for other membership capabilities aside from content restriction, so depending on your model, this setup may not work for you. If you need to drip content, for example, you’ll need to find a different solution (I’d check out our list of general WordPress membership plugins). Groups also has no way of restricting login information to prevent sharing membership credentials.

Recurring / Subscription Billing

The recurring billing side of the equation is handled by the WooCommerce Subscriptions extension. This is beneficial for those of you who are just selling subscriptions to physical products, such as magazines or subscription boxes, as you won’t need the Groups plugin or corresponding WooCommerce extension. Subscriptions supports sign-up fees, free trials, and fully supports discounts, as well as including its own discounts. For example, if a coupon code is used for a subscription, that coupon is applied to the first billing with any sign-up fees, but is not applied throughout the duration of the subscription. You can also create subscription-specific discounts for sign-up fees and a recurring discount if needed.

Billing schedules are also very flexible, and allows you to set recurring billing based on a custom schedule in terms of days, weeks, months, or years, or you can set a defined length of time for a subscription (ex: bill once for 3 months of access). You can also limit customers to purchasing one subscription, or can allow customers to purchase multiple subscriptions (though they have to purchase each separately), which will be beneficial for sites using a topic-based model (selling access to certain kinds of content) rather than a tiered membership. Setting up subscription products is done the same way as WooCommerce simple or variable products (with the benefit that variable products can be used for tiered memberships and subscription switching), so usage shouldn’t be too difficult for regular WooCommerce users.

Sell with WP | WooCommerce Subscriptions Variable Product Setup

Setting up a Variable Subscriptions Product

And here’s the frontend:

Sell with WP | WooCommerce Subscription Variable Product Frontend

Subscription Product Frontend

Customers can optionally be given control over their subscriptions, including the ability to pause, resume, or cancel subscriptions from the “My Account” page, which functionality that I believe is currently limited to WooCommerce Subscriptions and MemberPress. You can disable this ability as an administrator if you prefer. You can also allow customers to change subscriptions so that they can upgrade or downgrade subscriptions themselves. When a customer switches subscriptions, you have the option to prorate fees associated with the change, which makes Subscriptions a pretty powerful billing management system.

Sell with WP | WooCommerce Subscriptions Customer Management Options

Settings for Customer Subscription management

WooCommerce Subscriptions comes bundled with PayPal Standard for payment processing, but is not limited to solely using PayPal. You can manually process subscriptions for any WooCommerce gateway integration by requiring customers to pay for a new subscription when theirs expire. However, I’d recommend using one of the 14 supported official gateway extensions for Subscriptions that allows you to automatically process and charge subscriptions (and Stripe is included!). This will probably make your life much easier as it automatically bills subscribers to avoid the barrier of forcing manual renewals, which will also lead to higher conversions.

Support

Purchasing any of the listed WooCommerce extensions will include support and updates for one year from the date of purchase. After one year, if you need support and updates, you’ll have to renew your product license from WooThemes for 50% (estimated) of the purchase price. Having worked with Brent Shepherd, who develops WC Subscriptions, I can say that Subscriptions is a quality product and that it’s constantly updated and expanded (check out the feature roadmap here). You’ll also benefit from extensive documentation while setting up and managing your store.

The WooCommerce Groups Integration also comes with extensive documentation and one year of support and upgrades from the WooThemes team.

In Review

If you’re looking for a membership specialist, there’s probably a different solution out there for you. Groups + Subscriptions does not have the ability to restrict post categories and tags, nor can it drip content if needed for your membership model. However, the benefit to using this setup is that it integrates seamlessly with your existing WooCommerce store, and provides a great option for sites that sell products in addition to memberships and will scale up no matter how many products you sell. The fact that shipping is included and plenty of shipping extensions are also available make it compelling for memberships tied to physical, shippable products.

If you’re just creating a content site, this may work for you depending on your needs (though it’ll probably be overkill for those of you with small followings). However, if you want a very extensible solution in terms of marketing tools and integrations, a solution for subscriptions to physical products, or a solution that integrations both a store and memberships, then WooCommerce is a platform you’ll want to explore further.

Looking for More info on Membership Sites using WooCommerce?

Want more information on setting up membership sites using WooCommerce? Check these articles / documents out:

Note: This post may contain affiliate links. Providing the most comprehensive and objective WordPress eCommerce resources is our mission. Have more questions? See our affiliate policy. You can use the plain links below if you prefer that we not receive a referral commission:

Articles you may also like:

Posted by Beka Rice

Beka Rice manages the direction of Sell with WP content and writes or edits most of our articles to share her interests in eCommerce. Or she just writes as an excuse to spend more time jamming out to anything from The Clash to Lady Gaga. Who knows.

123 Comments

  1. Thanks for the post… although I am in the middle of doing exactly this, creating a memebership site using WooCommerce, this will be a perfect resource to revisit as I move along.

    Fortunately I had the help of some of the Woo team to also figure out all my needs πŸ™‚ Cheers!

    1. Hey Bob, thanks for stopping by! I’ve also found the WC Subscriptions docs very helpful; I know Brent has put a lot of work into them. Hope the project goes well!

      1. You bet, and you are right… been using those docs quite a bit. Thanks, it is quite the undertaking πŸ™‚

        1. @bob if there’s anything not mentioned or not clear in the docs, just let Patrick, Scotty or one of the WooTheme’s support ninja’s know and we’ll make sure it gets added. πŸ™‚

  2. What a great post Beka! Incredibly comprehensive and covers just about all the pros and cons of WooCommerce + Groups + Subscriptions for membership site. I now have a post to send any who asks “Should I use WooCommerce for my Membership site?” Thanks! πŸ™‚

    1. Hey Brent, thanks so much! Glad it gives you another resource to point newcomers to.

  3. Hi there, Beka! Thank you for your excellent article.
    I have one question, though: is it possible to setup a membership system, using these plugins, allowing people to setup websites on a WP multisite network? Instead of limiting access to certain content, i need to have the exact same characteristics to limit access to the creation and use of subdomain websites. This includes, of course, a trial period, billing schedule, etc.
    Thanks!

    1. Hi! WooCommerce doesn’t officially support multisite, though I know improving that is on the roadmap (not sure of ETA). That being said, if you network activate the plugins, they’ll usually work, but you may sometimes encounter some quirky issues. If you already have the plugins, I’d test it out thoroughly on a demo install first.

      If you want something that fully supports multisite, I know that Paid Memberships Pro (free) has a network add-on (also free) that would probably work for you (support not included). I believe Memberships from WPMUdev supports multisite as well.

      1. Thank you, Beka!

        1. To anyone else reading this: an “Ask Us” question reminded me of this thread. S2Member Pro also supports multisite, and may be best for this scenario (haven’t tried it so I’m not sure). From their specs page: “Supports Restrictions for Blog Farms to control the number of child blogs or sub-sites allowed at each Membership Level (optional). For instance, Free Subscribers might get an account only, but paying Members gain access to create blogs or sub-sites of their own. Requires Network Support License.”

          See more here under “Multisite Network Functionalities”.

        2. Hello again. IΒ΄ve managed to try the Subscriptions plugin with a Multisite installation and, although i can read on the FAQ page that this plugin is usable with Multisite, there are a few issues. The css files of the admin are not loaded (for instance, the subscription state labels are not styled) and it is not possible to change the date of the next payment (if you press “Change” under the date, nothing happens).
          I was hoping Brent could have some input regarding these issues, as he sometimes gives some advice here…
          Thank you both again.

        3. Hi Mentol, that sounds like an issue with the plugin’s URL not being picked up correctly as the JS and CSS files aren’t being loaded.

          I’ve got Subscriptions running on a multisite install without those issues, so it’s likely something else causing it.

          Please submit a ticket to WooThemes support and we can figure it out: https://support.woothemes.com

        4. Hello and thank you for your time – i solved the problem. What was happening was that i was using a custom translation file for WooCommerce and the string “WooCommerce” had a different content. Examining the source of the subscriptions page i could see it was causing “pagenow” to be different from “woocommerce_page_subscriptions”.
          I am also trying to localize the plugin (Subscriptions) without success – is it only possible to achieve using WPML, or am i understanding this incorrectly from the FAQ page? This seems a bit over the top, no?…

        5. It’s only been tested and verified as working with WPML, but it uses standard WordPress functions and best practices for translation so it should be able to be translated by anything built for those. Whatever method you use will need to support the _n() translation function though.

        6. Hello Brent and thank you once more for your explanations. I was using poedit to take care of the translation (i only need a few of the strings translated, though) using the pot file. Maybe i saved the file with the wrong name, perhaps? Is the name woocommerce-subscriptions-pt_PT.po incorrect?

  4. Is this the type of solution I would use to facilitate monthly membership access to YouTube video content only available to paid subscribers?

    User purchases membership and has access to specific videos (I suppose they’d be embedded on private pages.)

    And…

    User purchases a specific product and is then given access to a specific tutorial video for that product, etc.

    1. Hi Jon! WooCommerce + Subscriptions + Groups for WooCommerce will be able to do this for you. You’re correct that you can restrict access to your membership pages, then embed your videos on those pages. I would recommend something like Vimeo or Wistia for security rather than YouTube, but they’d all work the same in terms of content restriction.

      The benefit to using Groups (based on what your setup sounds like) is that members can have more than one access level tied to their account. Some membership plugins create a different user role for each access level, which prevents customers from having more than one access level. Groups doesn’t do this, and instead allows customers to have different access rules tied to the same account. Therefore, if a customer buys a membership level, then also buys a product with it’s own access rules (for the tutorial video), the user will have access to all of that content within their account.

      Hope that helps!

      1. Very promising and exciting possibilities. I am using rapid elearning software, specifically Articulate Storyline. Storyline content can be published to a zip file, to run in Windows-based PC, iOs, or Android devices. Can this be accessible to (but not downloadable by) members with paid subscription, using WooCommerce Subscription? Or are there restrictions to the kind of files or content that can be uploaded? Many thanks for any enlightenment on this matter.

        1. Hey there, I’m not sure what you mean by “accessible but not downloadable” – is the zip file something they should get, or are the contents something you are embedding? If you’re embedding content for members to view, then Groups + Groups WooCommerce can allow you to restrict access to these pages.

        2. Celito Macachor May 22, 2014 at 8:06 pm

          Thanks for the quick, helpful reply. It is something I am embedding and members to view. I’m glad you confirmed that access can be restricted. On the same note, which is another issue, I just found a plugin which is Storyline-line specific that allows embedding of the file to the pages. Great developments. Thanks so much.

        3. Ah glad to hear that! Hopefully it makes setup easier. Good luck with the site!

  5. Hi Beka,

    I’m looking for a way to let my subscribers to chose 5 free products from the site. it’s not a content based site. We are selling the products. I bought the subscription plugin but I have more than 150 flavors of my product so the drop down menu and the variations won’t work here. i want my subscribers (members) send to the page where they will be able to chose 5 products for free. Is it possible with to do with this plugin?

    -Paulina

    1. Hey Paulina, this depends on if these free products need to have inventory managed or not. If the inventory needs to be managed, there’s no way to do this without being able to use variations unless you get a custom solution developed.

      If the inventory for these products doesn’t need to be tracked, you could use Gravity Forms + Gravity Forms Add-ons for WooCommerce to achieve this. This could let you create a form with a dropdown or multi-select with all of the free products available, and allow customers to choose five of the products with the subscription purchase. This will occur on the product page itself rather than a different page, but will probably get close to what your describing.

      Does that help?

      1. Yes, it helped. Thank you for your advice. As you have suggested, I ended up using gravity forms.

        1. Awesome! Happy to help πŸ™‚

  6. Hi Beka,

    I’m looking for a way that to buy subscription access for a class of say 30 on a non WP learning system
    Do you know if you can you buy 30 ( the whole class) on 1 order line and can you have more than one subscription on an order eg on dfferent order lines ?

    rgds Paul

    1. Hey Paul, it sounds like you’re trying purchase multiple subscriptions within the same order – is that correct? If so, Subscriptions v1.5 should support this, which will hopefully be released soon. You can check out the roadmap for it here: http://docs.woothemes.com/document/subscriptions/feature-roadmap/

      1. Beka is correct. Version 1.5 is currently in beta. If you would like to test the multiple quantity functionality, please submit a support ticket.

        1. Thanks for joining in Brent! Excited to see this launched πŸ™‚

        2. Hey Brent,
          I am developing an orphan sponsorship subscription based membership website for a non-profit organisation. The mechanism is such that each orphan child is considered as a subscription product. One Sponsor can sponsor multiple orphans simultaneously, but each orphan can only be sponsored by one sponsor at a time.
          That means I should be able to limit the number of subscribers into a subscription plan to only one.
          I know that we can limit customers (sponsors) to purchase one or multiple subscriptions, but in this case, it demands a the opposite possibility. Please clarify this matter.

          We also require the multiple quantity subscription functionality as there will be no restriction on how many orphans sponsors would like to subscribe for in order to sponsor by the time they place an order.

          Hope you hear from you soon,
          Cheers

        3. Hi Ahmad, why not use product stock and set it to “1” for each of the children that will be sponsored? You can then ‘hide’ each product (which will represent a child that can be sponsored) when they already have a sponsor, or disallow backorders so that only one person can sponsor each.

          Can you clarify what you mean by this part?

          We also require the multiple quantity subscription functionality as there will be no restriction on how many orphans sponsors would like to subscribe for in order to sponsor by the time they place an order.

          Purchasing multiple subscriptions at once is on the roadmap, but is not possible yet. See here: http://docs.woothemes.com/document/subscriptions/feature-roadmap/

        4. Beka’s right on both accounts.

          Use WooCommerce’s inventory management and set the subscription product’s inventory to 1. You may need to add something extra that automatically resets the inventory to 1 when the subscription is cancelled or expired though so that someone else can sponsor that child.

          RE: multiple subscriptions, just so it’s clear, customers can already purchase multiple subscriptions to sponsor multiple children, for now, they’ll just need to checkout separately for each sponsorship.

  7. Hi Beka,

    Thank you for the info! Is there a way to:

    -Email all subscribers a specific download link every month that only subscribers are authorized to download?

    -Give subscribers a discount on specific products (if non members try to use coupon, it won’t work)

    Thanks!

    1. Hey Ted,

      The first question sounds like it’s going to require some custom code to extend Subscriptions to create a recurring order for a downloadable product each month, as the subscription product type cannot include a download at the moment. I’m assuming you’d want this to be as automated as possible, so having Subscriptions automatically create an order and send an email for the order with the download link would probably be your best approach. This also makes sure only the subscriber is authorized for the download, as you can leverage WooCommerce’s downloadable product settings (i.e., limiting the number of downloads) for this.

      As for the second question, there are a couple of ways to do this. If you want to simply restrict coupons to members, the Groups Coupons extension will work, which can allow you to restrict coupons to one or several access levels.

      If you want a more robust approach that can offer automatic discounts, you can use role-based pricing with the Dynamic Pricing extension. This is pretty simple to do if you’re already using Groups, as Dynamic Pricing will be able to offer discounts or even specialized bulk discounts to your members, but provides several other discount options (with the benefit that it’s automatic and you don’t have to use coupons). We’ve got a tutorial on using Dynamic Pricing for more details.

      1. Wow, amazing answer thank you! Is there a way to simply send an email to all subscribers? (perhaps the rest I can figure out with s3)

        Thanks!

        1. Hey Ted, Brent beat me to this with an awesome answer πŸ™‚ Please see his reply.

      2. A subscription product can be downloadable (or virtual).

    2. Ted, Beka is spot-on RE: discounts/coupons.

      RE: email, it depends on your specific requirements, but this can be done by Subscriptions in one form. To understand how it would work, have a read of this download handling FAQ and the subscription emails section of the store manager guide (and possibly the renewal process guide to understand when these renewal emails will be sent).

      Alternatively, check out the Follow-up Emails extension as it has support for some subscription related events.

      1. You, sir, are a machine. Thanks for these tips – I somehow missed the part about downloadable items in the docs that was right in my face πŸ™‚

  8. Thanks! I actually read through all the docs (there’s a lot!) before posting here, but I think my best bet is with follow up emails? BTW WP Engine hosts my site, you guys are incredible.

    My final question, I fear it’s not possible –

    I want to create a link / button that takes the customer directly to paypal checkout. So they’re on the product page, click one button and are now instantly in front of paypal. I fear that’s not possible with subscriptions bc I read that it requires account creation at checkout. Am I right? What a short and amazing funnel that would be otherwise.

    Thx so much!

    1. That would be possible, but would have to be custom code, and quite a lot of it.

      The code would need to create the order (with guest user), send the customer to PayPal, then when they come back to the store from PayPal, automatically create an account for them based on their PayPal email – all seamlessly in the background.

      I have some unreleased code which allows a customer to select a product on the checkout page (or create a checkout page specifically for certain product/s). It was written for the Designer Fund’s book launch and can be seen live here. If you’d like to test it out, shoot an email through the contact form on my personal site. It’s definitely not ready for public consumption, but may help you get close to that kind of seamless checkout.

  9. Thanks again guys. One more related question –

    I would like to offer products that everybody can see, but:

    1. only members can buy for $5 one time payment
    2. non members have to join for $5 / month to buy

    I’m trying to wrap my brain around how this might work, but its hard just speculating. A normal coupon wouldn’t work bc non members would still be able to purchase. ?

    This seems insane but:

    Create membership product.

    1. The #1 above works instantly, as members click “join now” and receive download, and are members

    To solve #2,
    create custom button in short description of above product, which links to a new product being added directly to checkout (this new product is only accessible to members, using groups and woo groups ext). Hopefully this will require login to purchase.

    Wheew. Thanks!

    1. Hey Ted, if you’re requiring a sign-up for #2, doesn’t that mean those customers are now becoming ‘members’ as they have a recurring billing account? If that’s the case, then it sounds like you can disable purchasing that product for non-members, and have a link / button that sends them to checkout to first sign up for a $5 per month membership (even if this is a special ‘purchasing power membership’ or something similar – like a Sam’s club or Costco membership). Then your membership pricing would dictate what they’d pay after they’ve signed up, which puts the group from #2 now lumped together with the group from #1.

      Does that make sense, or am I misunderstanding your objective?

  10. Beka,

    It’s $5 a month to receive a new digital file every month, let’s say its a song. When you sign up you get your first song. But, for members who sign up in June, they’re able to go back to previous songs they may like (April, May), and buy those products for one time $5 price per song (not a recurring payment since they already pay monthly). These songs were not available to them as members since they joined in June.

    How do you disable non-members from purchasing a product – with groups for woocommerce? If so, can these non-members still see the product?

    Anyways, it’s stuff I’ll hopefully be able to figure out better once I actually purchase the plugins!

    Thanks for your time!

    1. Okay thanks for clearing this up…first RE groups: you can disable products so that only members can see them. If you want products to be visible to everyone, but can only be purchased by members, then you’ll need to tweak Groups a bit to add this rule, but it could be done.

      As for #1, there’s nothing out of the box that will be able to do this. At first glance, I think you’d have to have someone modify a few things: #1, the product can only be purchased by members, #2 Subscriptions ‘gifts’ the product to members each month, #3 that way the products could be purchased by any member at a later time.

    2. For anyone else that finds this, I’ve learned that Catalog Visibility Options lets you show products to non-members, but you can restrict purchasing to a certain user role (subscriber):

  11. Hello,

    I am working on a website that sells one type of subscription. The subscription allows the user to have one product of the shop (which costs money for other users) for free. He can’t order more than once a week.

    I am using subscription, and dynamic pricing and min max purchase pro to change the price for subscibers and make them free for them, and then limit each cart to one product.

    But I can’t limit the number of order per week. Can I do that with group by creating a group of subscribers that can’t buy nothing and then manually move the subsciber who has already bought a product to this group?

    1. Hi Sam, manually moving subscribers back and forth probably isn’t going to be a feasible solution for this, but you could do this with some custom code – it would be easy enough to prevent a customer from adding something to the cart if they’ve ordered it in the current week with a companion plugin.

  12. Hi Beka–
    I am struggling on how to meet this client need and thought you might advise…thanks

    non-profit organization rents musical instruments to students –lots of categories
    they want make rentals (memberships) online and then have the monthly fee get charged automatically to credit card….THEN have rental(membership) info transfer to Quickbooks Enterprise.

    thinking woocommerce store with subscriptions paid into paypal and then they can download info from paypal into Quickbooks somehow???

    appreciate any help

    1. Sounds like WooCommerce -> PayPal -> QuickBooks is your best bet. There’s nothing off the shelf that I know of that will integrate a WC store with QuickBooks enterprise, though doing this with a customized project would be possible. I’d check out this free trial or this tutorial if you decide to use PayPal as the intermediary.

  13. Beka, this is similar to an earlier question but not identical. I want our subscribers to be able to make a choice each time their subscription recurs. One, do nothing and automatically get the next new product in the subscription queue. Two, instead of the next subscription product, substitute for it some previouly released product (all of which are the same price). I am envisioning a perfect scenario where the member goes into her account and sees a list of the backlist products she has not already substituted in for the subscription product, and also sees what’s next in the subscription queue. She can then select one and only one of the backlist items (if she wishes) to replace the upcoming default subscription product. Any help you can offer will be hugely appreciated!

    1. Hey Kevin, this is doable but would definitely have to be something custom. I’ve actually had someone ask about doing something similar and did not found anything standard that works – I believe they did end up having a custom solution developed.

      As a work around, you could ensure that all subscribers are on an email list, then sync subscriptions so that everyone renews on the same day (i.e., first of the month). Send an email in advance to the list, and let them checkout for the product they want for that month, identifying the new one in some way (i.e., a product badge). That product could be listed for free and the cart limit set to one item. You could restrict the product to only subscribing members, and use that to gather what to send. Obviously this requires a lot of manual work and isn’t ideal, but it might be something to do in the interim until a customized solution makes sense (which sounds like your best bet here).

      Hope that helps!

      1. Very helpful, Beka. I had a feeling that something like what you described would be plan B.

        Attention: Anybody out there who may have pulled together a custom solution…let’s talk!

      2. Beka, you’ve been awesome. I’d like to pursue this line of questioning a little bit further. Still wrapping my head around this stuff so I apologize if some of this comes off as naΓ―ve. Anyway, is it possible to do something like this…

        Create a variable subscription that allows switching but permits only one subscription at a time. In another scenario this might allow someone to switch from say one magazine to any one of several other magazines. In this case, though, the options are:

        1) the next book we release
        2) a set of backlist titles on Theme A
        3) a set of backlist titles on Theme B
        4) a set of backlist titles on Theme C

        Option 1 is a rolling list that keeps extending out into the future as we release new books. The other options are static lists. All subscription costs and recurrences are identical.

        Assuming this is basically possible, here are some key questions.

        Say the subscriber starts with option 1, switches to option 2 for one recurrence, then back to option 1, and at some point back again to option 2.
        –> Can the system “remember” where the subscriber was in the option 2 static list? Or would she have to start over again at the first book in the option 2 sequence?
        –> If the system can “remember” where she was in the option 2 sequence, can the option 2 subscription be set up so that after one recurrence it defaults back to option 1?
        –> If the system can NOT remember where she was in the option 2 sequence, could options 2, 3, 4 etc be “subscriptions” consisting of a single book each?

        In any event, we need option 1 to be the catch-all, so that if the subscriber comes to the end of an alternate subscription series, yet her subscription term is still active, her next book would automatically come from option 1.

        In the scenario above (a catch-all subscription and several alternates)…
        –> Would it be done using a single attribute such that there would be a single drop-down menu with the catch-all subscription plus a line item for every alternate?
        –> Or would there be two attributes, one for the catch-all and one with a drop-down for all the alternates?
        –> Or would there be one attribute for the catch-all and a separate attribute for every alternate?

        Thanks for sharing your wisdom!

        1. Hey Kevin, sounds like you’d need something external developed to track the book sequence, as there’s nothing right now in your system that would be doing so (except you). Users would be able to switch between these subscription variations without issue. However, what you’re actually sending to customers isn’t tied into the subscription – you’re managing the fulfillment and what gets sent. Subscriptions simply manages creating an order for you and accepting payment.

          A custom solution would have to “note” where customers are in your book list for options 2-4 based on how many subscription periods have passed. The same custom solution could then track this, even if users have moved away from this subscription and back again, as it would be saved as part of their customer / subscription history (my thinking is you’d want to have your own menu for viewing customer subscription history as part of this custom work). You could then also have the correct book in the sequence added as part of the order.

          As per the last few Qs, this seems like you’re overcomplicating a bit. One variation per alternate option (each variation would be a value of a product “attribute” – i.e., Variation Type (attribute): Opt 1 | Opt 2 | etc) would probably be best – this would show them all as options in the same dropdown so the choice is clear – customers are only picking one thing to get.

  14. Beka,
    Hi, first of all, excellent work! I have a quick question… Ok,its not that quick!

    Id like to run a promotion on Groupon or similar where I supply a coupon to each customer who purchases from Groupon- then they redeem using a coupon on my site also paying postage at the same time. For example Im selling a product at Β£4 instead of Β£8 (on Groupon) on a half price 6 month subscription – hoping that when the 6 month is up the customer will continue paying at full price . The customer pays Groupon for the 1st 6 months directly and receive a coupon code in return.

    The subscription is billed monthly. Therefore a customer would enter a coupon code at the start of the subscription which entitles them to 6 months products in effect for free as they have already paid group on (6 months of products) but they would be billed Β£2.50 each month postage from the start.

    Unfortunately when the 6 month trial period is up – the discount continues no matter what I try. No matter how I set the subscription coupon, the user continues to receive the discount after the 6 month period.

    Ive investigated the 6 month free trial period which in effect does what i want – but I can’t secure it to customers buying from Groupon.

    I hope this makes sense!

    So, Id like to offer a subscription that is controlled by a coupon (as the only people with the coupons will have already paid a company like group on to receive the discount) which in effects charges Β£2.50 a month postage from the start and gives 6 months free products then after the 6 months the usual “subscription” Β£8 price kicks in along with the postage.

    Thanks
    Dan

    1. Hey Dan, discounts are meant to be for the lifetime of the subscription, so to implement this the way you’d like to, you’d have to have some custom code around the coupon. The only way I can think of doing this without custom code is as follows:
      (1) We’ll create the product w/ the 6-mo free trial as you said, but we’ll lock it to Groupon customers by using the coupon code as a password instead of a coupon.
      (2) Install the Multiple Passwords for Protected Pages plugin.
      (3) Make the product password-protected and create a generic password for your product (a “master password”), then enter the list of your Groupon Coupon codes as passwords under “Publish”. This will ensure that only people with a password (Groupon purchasers) can view or purchase this product. You have to enter the first password before you can fill in the “multiple password” field. You’ll probably want to set your “Catalog Visibility” to “Hidden” as well so that this isn’t included in your shop, but people with the link can still access it.

      The only issue here is that passwords could be shared to non-Groupon purchasers. You could tell people that it will expire, be locked to your account, etc to hopefully avoid this, or you’d have to custom code the coupon to work in the way you’d like if this becomes an issue.

  15. Thanks Beka thats awesome πŸ™‚

    Kind Regards,
    Dan

  16. Beka,
    Hey, apologies, just thought of another – hopefully quicker question this time…!

    Is there any way I could give a customer “credit” (say 6 months worth) that could be used against the cost of the subscription only each month (they would still have to pay postage) – and then after the 6 months is up their debit card could be charged as normal as their credit has run out?

    I tried a set up using smart coupons but it didn’t work… Im certain this was due to the way i tried to configure it!

    Thanks

    Thanks
    Dan

    1. Hey Dan, I believe Smart Coupons only applies a store credit to the first renewal and not subsequent months. Don’t think it was just you πŸ™‚

      You could give them a 6-month subscription that expires, but then they’d have to renew manually. I’m not aware of any automatic way to do this unfortunately aside from using a free trial.

  17. Any idea if the subscriptions plugin can support 20,000+ subscriptions based on physical goods. We would be running a dedicated server. Someone said that this number is just too high for the plugin. I am pretty sure we can hit 20,000 within 15 months given prior history. The plugin seems to have the best features so it is a natural choice, just wondering about data limitations.

    Your website is a great resource.

    1. Hey Justin, thanks for the kind words! A year ago I may have agreed that 20,000+ subscriptions is too high. However, I knew of one site that was at 14,000 subscriptions and running successfully at that point, and with versions 1.4 and 1.5, Brent made very significant improvements to the way the plugin stores subscription data and scheduling to address this specifically. With those updates and a dedicated server, the plugin will be able to handle subscription sites that large.

  18. Beka,

    Awesome. Thanks for the fast response. You’re the best.

    Justin

  19. Hi Beka,

    I know this is slightly different than the usage you described, but I can’t seem to get a good answer out there for this. And, I see the question asked over and over again in the WP Community, but you seem so nice and knowledgeable – maybe you’ll be able to help us!

    I have a nonprofit organization for which I manage the website – they need a membership plugin as in a *organization/community membership,* not protected content.

    The website is completely geared towards the public, but it also needs to function to have members be able to join the organization or renew their membership (annually – and there are a few add on options there for donations, but’s not a complicated model.)

    This would then take them through setting up their “member account,” then they could manage simple things on their account:
    – basic directory information (name, address, phone, email – this is why it must be member-only page)
    – communication preferences
    – volunteer committees
    – manage their membership payment (ideally, offer annual renewal)
    – perhaps purchase tickets for members-only events but not a huge deal.

    There really isn’t much that needs to be protected beyond that. They are a volunteer-only nonprofit, so they’d like to avoid an expensive plugin that offers way more than they need, although it does need to be a seamless UI experience – not glued together from a few funky options.

    Whenever I research membership plugins, they are all geared towards the protected-content business model, membership in terms of a content community. Do you have any suggestions for what we could use for our needs?

    Thank you SO much for any advice you can provide. πŸ™‚

    1. Hey Alexa, thanks for the kind words πŸ™‚ . Should anyone be able to register, or do you have to approve or manually create members? There may be a couple of ways to do this, but would need to know (1) how do people become a member and (2) do renewals have to be automatic?

  20. Hi again – Oh, I’m so excited to have someone knowledgeable explore this!

    The membership for the nonprofit is based on an annual June to May year and a member must renew annually (dues are a flat $40, but there is an option to add a few other options, all resulting in set flat $ amounts). An individual member is then included in events all year and part of an organization working on improving the health of the community. It’s really not very much about anything online at all.

    Here’s the current page where you join:
    http://www.mmaeonline.com/membership/application.php

    I just used a contact form plugin for that and then the second page was just a payment processing with Paypal. Here is that page (normally you could not access this page unless you had completed the first page above)
    http://www.mmaeonline.com/membership/memberpayment.html

    This accomplishes a transactional membership join or renew, but it doesn’t set up that membership account where they can do just those *few* things I mentioned above.

    Thanks for any suggestions you have – I am so appreciative!

    1. Ok, to do everything you’d want, you’d have to have something custom coded to generate a “My Membership” page, as managing the member information + billing is a bit tough to find (though I remember Jason at Paid Memberships Pro talking about doing something like this, so I’d recommend contacting him).

      Option 1) It sounds like the “directory” page is just a user profile, so you could use the WP User account for this. With a site login, the member could simply edit this information (like when you edit your own user profile page) and the admin could access all of it from the “Users” list. Use Gravity Forms dev license (coupon here, recent tutorial here) + payment gateway add-on + User Registration add-on. You’d also need free plugins: ACF and User Role Editor. Add a user role for your members, create ACF fields for the data about members you’ll need and add this to the users page. Then use a Gravity Form for registration / payment and tie the registration form info to the user meta fields generated by ACF. This will let you accept payment to simply create and pre-populate a user account.

      Downside: Payment info not included in profile, and members must re-register to renew. You could create another form for renewals for logged in members so they don’t have to fill everything in again. However, no ability for members-only purchasing or any other functionality if you want to protect any content at all – limited to user creation and payment.

      2) Using WooCommerce, and add checkout fields, which will become user meta (like contact method preference). You could then have something coded to add this meta and display it on the “My Account” page, which wouldn’t be a big development job. The benefit here is that you’ll get ability to sell other stuff, view reports, have member purchasing (using other extensions), as well as the ability to use Subscriptions for automatic renewals. Downside is that you need that small development job to add your member info to the my account page.

  21. Beka, hey, Dan here again πŸ™‚ Quick question please – When buying a subscription (physical product) on our website, in the first month you get 1 razor handle and 3 heads and every month after that you get 4 razor heads. So the first months subscription package is different to the regular delivery.

    When processing the orders is there any way of telling if the order is a new order or a repeat of a current order so that we know which package to send to the customer please?

    Thanks
    Dan

    1. Hey Dan, I believe that the order page itself marks renewal orders, so you can tell by viewing the order. However, this would be something I’d submit to WooThemes as it’s been a while since I’ve checked renewals out. Thanks!

  22. Hi Beka,

    First, thank you for the guides, really helpful for newbie like me. Beka, I plan to sell lots of product and keep adding it per week. Ex:
    Basic fish recipe $5, Silver fish recipe $10, Gold fish recipe $15
    Basic vegan recipe $5, Silver vegan recipe $15, Gold vegan recipe $25
    Basic noodle recipe $5, Silver noodle recipe $15, Gold noodle recipe $25
    Basic rice recipe $2, Silver rice recipe $10, Gold rice recipe $15
    Basic pasta recipe $2, Silver pasta recipe $10, Gold pasta recipe $30
    etc…
    From your articles, I know I should go for Woo, but still not sure.. I really want to achieve these requirements:
    1. a member can buy more than one product
    2. a member can upgrade to higher product level (basic upgrade to silver or gold)
    Should I go for Woocommerce or Easy Digital Downloads? Or maybe another membership plugin? (but from your articles, I’m not sure membership plugins can allow their member to buy more than one product)

    Thanks in advance,
    Marshanda

    1. Hey Marshanda, WooCommerce will let members have multiple subscriptions attached to an account (they just have to purchase each subscription separately until version 2.0 comes out). If you use Subscriptions, members can also upgrade / downgrade themselves based on your settings. Upgrades / downgrades are allowed between variants, or between grouped products. WooCommerce Subscriptions and MemberPress are the only plugins so far that support upgrades and downgrades, so it sounds like WooCommerce is the best fit for what you want.

  23. Thank you Beka, you answer every questions patiently and provide FREE helpful information in your blog, it’s very important for newbies so they can spend their money on right product, no trial error buying dazzled products, no wasting time and money, because I know some gurus will sell information like this for money.. You are the BEST!

    1. Hey Marshanda, thanks for the kind words πŸ™‚ . Happy to help!

  24. Beka,
    Hey, hope you are well. Quick question, without any additional coding is it possible to use woo commerce to checkout like you can here https://www.harrys.com/auto-refill or here https://cornerstone.co.uk/subscribe – Basically where a customer can easily customise their request on checkout e.g. Every SIX weeks send me TEN razors where the numbers in capitals can be changed by the user to preset ones pre programmed?

    Thanks
    Dan

  25. Hi Beka,
    Just to let you know I figured it out today – apologies for asking before looking! Thanks, Dan

    1. Hey Dan, thanks for the update! Care to share what you decided to use? I’m guessing Product Add-ons for a Subscriptions product? Thanks!

  26. Hey Beka, I ended up using a variable subscription using attributes and variations… Works well so far but haven’t properly tested it yet… Will revert when i have πŸ™‚ Thanks again, you are awesome… πŸ™‚ Dan

  27. Hi Beka! I have been searching for the answer to these questions everywhere, and it seems like you are the only person who has enough knowledge to answer these questions. Like Alexa, the commenter a couple weeks ago, I have a question about a membership site. I have not even picked a WordPress theme yet, but here is what I want to do:

    I would like to set up a site where people could “advertise” on my site. So, say they pay $100 to advertise their business on my site. They would fill out a form which would answer certain questions (name of organization, phone number, email, category of business, etc.). This information would be a “listing” on my site. So if someone searched for the state they are in and the category of business, there would be several “listings” which would only show certain information- almost like a staff directory on most company websites. But then once you clicked on them, it would give a bunch of the information- all of which would be included in that ecommerce form they filled out in the beginning. So I am trying to understand how to do these things:

    1. Should I use WooCommerce for this? Would it have the ability to have all the form information I would need and then is there a way I could have it automatically upload to the site (perhaps after I approve it so I don’t get spambotted)? Another option I saw is 123contactform with the widget webhooks. Would this do the same trick? I would need whatever form I use to link with Braintree with recurring payments.

    2. What kind of WordPress “theme” would you recommend? I am a beginner when it comes to any kind of website design. But I do want the website design to be modern and mobile-friendly.

    3. My idea was to have many different sites- a different site for every state, which would then show all the different categories the user can pick from, and then subpages for every different category under each state (so we’re talking about a lot of subpages). Whatever coding needs to be done would need to automatically upload both the “listing” and the extended information once you click on the listing- so to two different sites. It may even need to go to several different sites if the company is in many different “categories.” Does that make sense? Depending on the form information they filled out, the information would need to be uploaded in a neat fashion to many different sites. Is this possible using WooCommerce?

    Ok, that’s all the questions I have I think πŸ™‚ You have already been a huge help to me Beka! Thank you!

    1. Hey Michael, to sell paid listings I’d probably use Gravity Forms + Gravity View + the free GF Braintree extension instead (recurring payments coming soon – a donation or some funding may help get this out quicker). We have directions on using payment forms with Gravity Forms as well.

      You can add whatever you want to your Gravity forms to submit a listing, then use Gravity View to organize these listings, allow filtering (i.e., by site or type), and display them nicely on the frontend of your site. This way, you could display all listings on a page, and allow filtering or searching. You can also approve / reject them first. Using this setup, it wouldn’t matter which theme you use πŸ™‚ . I’d recommend going with a reputable company like WooThemes or Array rather than just picking something from ThemeForest.

      1. Beka, thanks for your quick reply!

        That is very helpful. Is there any option with recurring billing for Braintree? They have the Small Business Startup deal where the first 50k of my payments have no transaction fee. So I would really like Braintree, but I also would really like recurring payments. Everything else in Gravity Forms seems to be exactly what I need, but that is a big feature to me. Is there another option?

        Thanks again!

        1. Hey Michael, the Gravity Forms Braintree extension I mentioned above appears to be adding recurring billing – I’d get in touch with the plugin author to see if there’s an ETA on this or if you can make a donation to help fund development to speed it up.

  28. Hi Beka, thanks heaps for all the killer advice. I have gone down the route of WooCommerce, Groups and Subscriptions and have set most of it up successfully thanks to your pointers.

    My problem is I need to create fairly complex User Profiles for my Members. On it’s own I guess this might not be such a problem, but I need the extended information gathered at the time they buy their Membership. I have new signups being connected to Mailchimp at the time of purchase, and some of the information is need to add segementing of the list. In other words it’s no good trying to gather this information after a person has purchased their Membership.

    Is there a way to add custom fields to the checkout process when a Subscription product is being purchased, so that it adds this informaiton to the User Profile in WordPress? I will need the Member to be able to update this informaiton at a later date via Edit Profile etc, and I can handle the custom coding for that. I just need a way to capture this information when they choose a Membership when checking out.

    Conversely these fields must not show if another product type is chosen – a ticket for example, or a book. I dont need extended profiles for these people as they won’t be Members, or creating a profile.

    Any suggestions greatly appreciated

    DJ

    1. Hey David, there’s not really an easy way to do this. Kind of a Frankenstein way would be to use User Role Editor + ACF as described in this comment to add a user role for subscribers, add this to a Gravity Form, then map the form field to user meta. You could then use Gravity Forms Add-ons for WooCommerce to use this form as part of the product page for your Subscriptions. That would capture the information in the checkout process for the Subscription, but I’ve never done something like this.

      The other option would be a custom plugin to add your fields to checkout and map them to user meta when checkout is completed and the WooCommerce account is created.

      1. Thanks for that Beka. I had a look at your previous comment about user fields and I think option 2 is about what we’re looking at as we need to keep the recurring billing and other woo options for reporting etc.

        Can you expand on how to achieve adding more checkout fields that add user data, as per the below?

        “2) Using WooCommerce, and add checkout fields, which will become user meta (like contact method preference). ”

        In the Woo admin I found options to turn on account creation preferences which currently ask for a username and password, so the hooks exist to add fields which affect the user meta. Is there a way to use ACF or Types plugins to manage these or will this need to be done programmatically?

        1. Hey David, if you use the Gravity Forms Add-ons option, it does simply add these details to the products and will be part of the WooCommerce checkout.

          If you do go the route to add this information at checkout instead of the product page, you’ll have to use the actions in the checkout page to add them programmatically.

  29. Hi Beka, thanks for the tut – bookmarked it. Quick question – do you know of any way of applying a discount mased on Groups membership? (rather than on Roles as Dynamic Pricing Woo Extension does?)

    Thank you.
    Elijah.

    1. You can do so with Dynamic Pricing if Groups + Groups WC are enabled πŸ™‚ . A “Groups” tab is added: https://i.cloudup.com/sz3MnVlnLd.png

      1. That’s the thing – as I mentioned Dynamic Pricing works on Roles. But I need to make discounts dependent on group memberships. (not roles)

        1. It does work on both if you’re using Groups and the Groups WooCommerce connector. The screenshot I’m using it not a user role, but rather a custom group generated by Groups. You can price based on Groups *or* based on user roles.

        2. Thanks Beka, I’m getting a bit lost and thing I lack some basic understanding. Please take a look at the sequence the way I hope it will work…

          2 MAIN QUESTIONS:
          a) When I purchase membership created as a woo commerce product – how the user created during this step will be placed in appropriate pmppro membership level.
          b) How do I tie specific products to membership level.
          Please see below my precise steps.

          1. Woo Commerce installed, so is PMPro and PMPro WooCommerce integration plugin. (testing it now in pilot environment)
          2. I went to Membership > Membership Levels and created the level for Gold Discounts. I specify 10% as discount value.
          3. Then I created a product in WooCommerce – Gold Membership. (this is how I plan to sell memberships). In the properties of this product in the Membership tab I specify the “Gold Discounts”.
          My understanding is that by doing that – when user purchases Gold Membership as a woo product he will get all Gold Discount settings.

          So far so good. Now I need to actually tie PMPro membership level to specific products (instead of doing store-wide discount to everything). Let’s say I have 20 vacation packages in only 10 of them should be discounted under membership settings.

          a) I was hoping that in Membership Level I would be able to choose WooComerce categories – but only WordPress categories show up. So this is not an option
          b) Another option – to go to the properties of every vacation package (as created in woo commerce) in choose membership level “Gold Discounts”. Is it the right way to tie product to a membership level?

          I hope this is not too much to answer…

        3. Hey Elijah, Everything looks right up to step 3. Discounts will always be global (all products) if entered on the memberships page. You could instead leave this blank enter a different price for gold members in the “Memberships” tab for the products that should have a discount available (described here).

  30. Why not just use one dedicated plugin like WooCommerce Membership?
    http://codecanyon.net/item/woocommerce-membership/8746370

    Seems to be much easier to set up.

  31. Any idea on configuring this setup to work with a forum like Simple:Press allowing for users to be mapped to different levels on the forum via the group system. As far as I can tell Simple:press uses the WP Role system to map users and if Groups puts everyone into the same Role, but then creates groups within that role, would I need a separate solution?

    1. Hey John, if you’re looking for forums, I might go with WooCommerce + PMPro, as PMPro will integrate with bbPress for forums. I’ve not set something up like this myself, but I’m pretty sure that would be an easier approach.

      1. Hmm… unfortunately I don’t use bbPress I’m using Simple:Press which maps users to WP-User-roles so I’d need a way to create new roles upon registration. Thanks for the info though PMPro does look like a powerful tool, and has some nice features, if I wasn’t so invested in Simple:Press already I’d certainly consider it and bbPress as an option, but converting the forum at this point would be a lot of work.

  32. Beka, so far so good, I think I’ve figured it out an at this point have a pilot running with memberships and discount prices assigned for the specific products.

    There are a couple of things that I need to polish, and I would appreciate if you can give me some pointers.

    1. It would be extremely great if logged in user with specific membership would see the icon placed on the product that says “Discounted for Gold Membership”. Otherwise – how will he know that he is looking at the discounted price.
    2. If the above is not doable, then is there any way to enable any other discount display based on membership.
    3. Is there any way to provide flexible discount structure? Meaning not only specify the discounted price but create something that will enable “buy 2 package -> get additional discount” or “enable store-wide discount and in addition apply 10% on specific products” (for specific membership) or “with each additional purchase gain additional discount”
    4. Will user be able to see their own profile pages with PMPro membership?
    5. Will I be able to create a page with protected site content and make it available only for users with specific membership level?

    P.S. Funny thing – you deactivate PMPro plugin and WooCommerce stops showing products.

    Thanks a lot for your support. We pretty much zeroed in on this solution, but need to iron out some details.
    Thanks.
    Elijah.

    1. Hey Elijah, RE: number 4 and 5: yes. However the rest sound like they’d require custom code, so I’d check in the plugin forum to see if they’d be included in a support membership or if you’d have to hire a developer.

  33. Good evening,

    IΒ΄m creating a website where users can buy subscriptions to publish posts and custom posts according to their group.
    I want to know if itΒ΄s possible to hide from public all content created by a specif user if he doesn’t pay.

    Thanks

    1. Hey Carolina, you could do this automatically with custom code, but you can also use this plugin to filter posts by author, then just bulk edit them to make them all drafts instead of published.

  34. Beka,
    Hi, Dan here again… πŸ™‚ I have a quick Stock keeping question please… I currently sell a subscription product on my web site that has several different attributes e.g. check out will be something like this SEND ME “THE COLONEL RAZOR PACKAGE” and “2 TUBS OF SHAVING CREAM” every “3 MONTHS” – where everything listed in “??” are attributes. In the first “?” there are 3 options, in the second “?” there are 6 options and in the third “?” there are a further 6 options.

    Is there any real way of stock keeping for the possible options please? In the above example the amount of months don’t matter but which razor sold and the cream sold do.

    Thanks

  35. Hi Beka. Thanks for a fascinating resource regarding such a niche topic. I wondered if you could help me get to the bottom of this issue. We are starting a subscription site which sells digital templates for download. I want subscribed members to be able to access a group of 8 different templates, all individual created as WooCommerce products. I know I can host the download links as restricted content and use the Groups plugin but is there a way of creating them as individual digital products on Woo and then allowing download of these products once a subscription is activated?

    Could this be achieved with the Chained Product plugin?

    Reason for this requirement is that we might want to make certain templates purchasable for a one off fee and not part of the subscription.

    1. Hey Will, I think you’re right that Chained Products would be your best bet πŸ™‚ . That way the products will still be in your catalog, but you can “gift” them by chaining them via the Subscription.

  36. Beka,
    Hi, apologies I thought I had posted a stock question but I can’t find it anywhere!! Anyways, here is my stock question… Pls see – http://www.poundshaveclub.com/product/build-shaving-plan/ Pls could you advise on the best way to keep track of stock while selling like this (in effect 5 products – 3 different razors, cream and razor cartridges). At the moment I have set up 1 product / variable subscription with several attributes… It doesn’t work very well for stock control!!

    Can you assist at all please?

    Thanks
    Dan

    1. Hey Dan, this is one I’m not sure about – I’d recommend filling out a quick support ticket at WooThemes, as most of the time I’ve used subscriptions I haven’t needed inventory management.

  37. Hi Beka,

    Great post! I do have one question though, I hope you can help me with. Is there a way to a gate on posts saying you most be a member/subscribed to access this content? It seems the groups plugin only hides the content completely from non subscribers. Please let me know what you think?

    Best,
    Brian

    1. Hey Brian, the Groups plugin will cause the page to 404 for non-members. I’d use something similar to the Groups 404 Redirect + landing page described in this post.

  38. Does this plugin creates a user of the admin panel? After the puchase of this subscription, does the member listed in the user table with the priviledges he has gain through group and capalities?

    1. Hey Niroj, you’re correct that each new subscriber will be created as a WordPress user. The user account will have the role “Subscriber”, and any Groups the member is in will be listed in the user profile as well. Capabilities created via the Groups plugin are tied to the group, so listing them as well would be unnecessary.

  39. Hi Beka

    Appreciate your help and articles. The membership model that we’re looking at is pay $x per month and get y products downloads of your choice for free; then only $z for each additional. The prices for each item will be the same.

    I’m thinking that I would need Dynamic Pricing, Groups, and I’m thinking PMPro? Or do I have my plugins confused? The products will also be available to purchase at a normal price for non-members.

    1. Hey Kylie,

      It sounds like you won’t need PMPro at all because you’re not doing any content restriction. You can give access to downloadable products while the subscription is active – see Brent’s comment here. However, if you’re looking to provide a choice on which products they can download, but not provide the others, you may want to check into using Gravity Forms + Gravity Forms addons to allow selection (see my comment here). You can then have regular products available for all of these downloads so customers can purchase what they didn’t select.

      You’re correct that the reduced rate for your groups / subscriber role can be done with Dynamic Pricing πŸ™‚ .

  40. I’m actually looking for my members who subscribe to be able to submit events AND sell tickets after making a profile. Is there anything out there that can do this?

  41. Thx for sharing the content! I was looking to find something that will allow me to create a subscription package using woocomerce for one of my clients websites.

  42. Hi Beka! Thx for the content!

    We’re developing an online courses website. We want the teachers to be able to create “student users”, by gravityformsuserregistration in a private frontend page, where only can access once via password, after purchasing a product (the course).

    So we imagine some module that generates different “coupons/keys/serial”, and the user could use it like a password to get in the final page (where is the form to create the user with student role in certain course).

    We already have integrated LearnDash, Woocommerce and GravityForms, but still is needed the step where the Teachers purchase a course (with a key or something), and use that key to get in only once to an URL and could join his/her student.

    We have integrated LearnDash, Woocommerce and GravityForms, but still is needed the step where the Teachers purchase a course (with a key), and use that key to enter to a determain URL and could join only once his/her student.

    Can you give us some advice please?

    1. Hey Miguel, this will definitely require custom code, but this guide can probably give you or your developer some tips to point you in the right direction. Cheers!

  43. Hi Beka,

    thanks for your article. I installed everything, but have a problem. Maybe you know a quick solution πŸ˜‰

    I do have a lot of subscribers (paying and free with different subscriptions handled via the plugin magicmembers).

    How can I add these subscribers to the wc subscription plugin? I can add them to groups (no problem), but after that they arenΒ΄t listed as a subscriber. The only workaraound (I found) is to add manually a new order (with the subscription item) and asign this order to the existing member. But that is not very handy (1000 subscribers).

    Du you have a tip?
    Thanks, Marco

    1. Hey Marco, there’s not really a quick solution here. Migrations are always very involved, and if you wanted to migrate all subscriptions, you’d need to have a custom migration script developed, which can do this automatically, as adding a member to a Group will not create a subscription (Groups ties into Subscriptions, not the other way around). I’m afraid the options are either work with a developer to do the migration, or add subscriptions manually, and then redo the Groups you’ve already done by tying them to the subscription.

      I’d recommend working with a developer, as that way you provide access to the group only via the subscription. Otherwise, with the way you’ve added members to groups manually now, they’ll have access even if they stop paying because the group access isn’t tied to the billing.

  44. Great article! I am doing a site where people can rent out PS4 games. So they buy “time” – a month say – and then can rent a game out at a time. I have pretty much decide on WooCommerce plus WooCommerce Subscriptions.

    The basic thing I am trying to get my head round is “products”. I have two types of products. The first type is the actual time-based subscriptions. The second type are the games themselves.

    I am just wondering the best way to differentiate these two types of products in WP / WooCommerce?

    For instance, in “Recently Viewed Products” widget, I just want that to show recent games they have looked at, not subscriptions. Under visibility you can filter based on:
    category, author, user, role, tag, date, page, taxonomy

    So what in your opinion is the way to “split” my products between (1) subscriptions and (2) games?

    Also, since people are paying for time, the actual games themselves are “free” – its just a way of the client telling us what game they want next. I am wondering if using WooCommerce for that part is overkill. I really just need to find a way for the client to let me know what game they want next (presuming it is in stock)

    Sorry for so many questions, these projects are always the hardest at the beginning when you have so many choices available, and in my case zero experience of running an eCommerce site!!

    best,
    lee

  45. Not having much luck to date. The “visibility” button on woocommerce widgets is just used to decide whether the widget is displayed or not. There doesn’t seem to be a way to actually filter the products that get displayed?

    I do like keeping the games ordering within the woocommerce system though. Selling “free” products seems to work very well.

    So just need to what to use to differentiate between subscriptions and games, and any widgets I can use to filter out the subscriptions …

  46. Hi Becka,
    Thanks for your time!

    1/ I have a print templates store where i sell digital goods and i want to use a plugin to give the customers the option to purchase a monthly plan and a yearly one. Both plans should grant unlimited access to all the store’s products for free while non members buy those products individually. And they should’nt go through the checkout page for each download to make their user experience more efficient.
    Here is an example of website with exactly what we expect: https://flyerheroes.com/store/pro/: .
    Which plugin does this? With recurring billing option using the 2Checkout plugin.
    Hope it’s clear:)

    Best regards
    Thank you

    1. Hey nora, this sounds like you’d need a custom solution I’m afraid. You could give free access to store products for members with the new Memberships extension, but they’ll have to still go through the checkout page.

      If you’d like access to be tied to the recurring billing plan (so access is cancelled when billing is), you’d need to use WooCommerce Subscriptions, which is not supported by the 2Checkout extension and would require a different payment method.

It's been over 2 years since this post was published, so comments have been closed. Thanks for reading!