WooCommerce: Subscribing to All The Things

WooCommerce Subscriptions finally got its much-anticipated v2.0 update, earlier in October. The new version, which has been in development for more than a year, is a major rewrite of the plugin that introduces support for multiple subscriptions, allowing customers to purchase more than one per order. It also makes WooCommerce Subscriptions much friendlier for developers, since it now relies on a custom Subscription post type for storing and accessing subscription data, separately from the order in which a subscription is purchased.

Support for multiple subscriptions is a great step forward, since it:

  • simplifies the checkout process,
  • reduces payment gateway fees by processing the sign-up and renewal of multiple products in one transaction and
  • reduces the number of renewal orders since it’s no longer necessary to create multiple orders for what may be a single shipment.

Combined with the use of a dedicated post type for creating and managing subscriptions, v2.0 is a stepping stone for introducing new functionality such as personalized subscriptions and subscription bundles. Composite Products, for instance, is typically used to create configurable product kits that consist of multiple, grouped products. No matter what you want to sell, from ties and grooming products to undies, personalization and bundling techniques can help your subscription-based business target its audience much more effectively. The release of Subscriptions v2.0 finally makes such long overdue integrations possible: Stores that rely on Composite Products, Product Bundles and other grouped product-type extensions, such as Mix ‘n Match Products, may soon be able to offer subscribed versions of their products.

How soon? Well, if you like living on the edge, right now!

Today, we’ll be taking a first look at an experimental mini-extension developed to bridge the gap between grouped product-type extensions and Subscriptions: Subscribe All The Things.

Subscribe All The Things, which is co-authored by SomewhereWarm and Prospress, provides basic subscriptions support for non-subscription product types. It allows you to attach subscriptions to Simple products, Variable products, Composite Products, Product Bundles and Mix ‘n Match Products, and includes a neat feature: The ability to switch any product from a one-time purchase to a subscription, even after is has been added in the cart! And the best part? The code is already public – so you can start testing, sending feedback and contributing to the plugin right now.

The catch? The code is still in pre-beta status:

  • Some important features are still missing: When attaching a subscription option, it is only possible to define the subscription period, interval and length. No matter which option is active/selected, the recurring price is always the same as the product price. Additionally, the sign-up, trial period and subscription sync fields are unavailable.
  • Some, or many things, might not work as expected. You might stumble upon bugs, lose data, or even find the code to be completely unusable.

Adding Subscription Options to an existing product

To give you a quick idea of what’s possible with Subscribe All The Things, we’ll start with a Simple Product: A modest Bag of Raw Almonds.

Simple Product: Raw Almonds Bag

Simple Product: Raw Almonds Bag.

Nothing to see here. However, a look at the edit-product section reveals some interesting new options, tucked away under a new Subscription tab:

Editing the Raw Almonds Bag Simple Product

Editing the Raw Almonds Bag Simple Product.

From here, you can:

  • attach one or more subscription options to the product,
  • convert the product to be subscription-only by disabling one-time purchases, and
  • tweak some other options, such as the “Choose a subscription” message, displayed when attaching multiple subscription options to the product.

Let’s see what happens when we add a single subscription option, without disabling one-time purchases:

Added a single subscription option: every month for all time

Added a single subscription option: every month for all time.

Buy one-time or buy as sub?

Buy one-time or buy as sub?

Things look just as interesting in the cart, where it is still possible to switch between a one-time purchase, or a subscription, without removing the product from the cart:

Choosing between a one-time purchase, or a subscriptions - this time, in the cart.

Choosing between a one-time purchase, or a subscriptions – this time, in the cart.

After selecting the subscription option and updating the cart, the refreshed totals look exactly what you would expect from a subscription product:

Think it's a sub? No, this is just a Simple product!

Think it’s a sub? No, this is just a Simple product!

Offering a Product Bundle as a Subscription

This is where things start to get a bit more interesting: Offering a Product Bundle as a Subscription. Our example Bundle, Almonds Mix is a 500g pick ‘n mix assortment of 5 different 100g almond packs, offered at 20% off:

A pick 'n mix almonds subscription.

A pick ‘n mix almonds subscription.

To create the bundle, we have used the free Tabular Layout and Min/Max Items mini-extensions for WooCommerce Product Bundles:

Setting up the Almonds Mix subscription bundle.

Setting up the Almonds Mix subscription bundle.

Note that a similar result can be obtained using the amazing Mix ‘n Match Products extension.

A look at the Subscription tab reveals that, in order to offer the bundle as a subscription-only product, we created a single subscription option and ticked the Force Subscription checkbox:

Setting up the Almonds Mix subscription bundle: The Subscription tab.

Setting up the Almonds Mix subscription bundle: A look at the Subscription tab.

After adding the configured bundle to the cart, all bundled cart items, along with the container cart item itself, are converted to subscriptions with the same period, interval and length; this wouldn’t have been possible without Subscriptions v2.0:

The Almonds Mix subscription bundle in the cart. A subscribed bundle of physical products, for real.

The Almonds Mix subscription bundle in the cart. A subscribed bundle of physical products, for real.

Summing Up

Subscribe All The Things by SomewhereWarm and Prospress finally makes it possible to attach multiple subscription options to physical or virtual products regardless of their type. Currently, it includes support for Simple products, Variable products, Composite Products, Product Bundles and Mix ‘n Match products. The code is in beta phase and is already available publicly for testing, feedback and contributions by the WooCommerce community!

Like what you see? Grab Subscribe All The Things now. As always, feel free to share your impressions 🙂

12 responses to WooCommerce: Subscribing to All The Things

  1. Sam Stone

    Hi there!

    Currently using Subscribe All The Things with Product Bundles and it’s basically exactly what I was looking to achieve for one of my clients and I love what I’m seeing so far on my staging site.

    I wanted to see if you guys had a date that Subscribe All the Things would be out of pre-beta and be officially supported? My client is also really liking what they see and really want to switch to the new format (Products Bundles with Subscribe to All the Things) as well.

    Thank you!

    • Manos Psychogyiopoulos Post Author

      Hey Sam,

      Thanks for the feedback! The main reason the plugin is still in beta is that it’s not yet “battle tested”. The more feedback we receive (comments like this one, bug reports, feature requests) the sooner it will move out of beta.

      Note that bugs and issues can be submitted to the GitHub repo, which is regularly viewed by both teams (SW and Prospress) — so the plugin IS supported.

      However, there is no “premium” support on offer, which makes it only suitable for use by developers who can support their own clients, if an issue comes up – another reason for the “beta” label.

  2. Natkm

    Is it possible to add a discount to subscription option as compared to one-time purchase to incentive user to subscribe? This is an important feature.

  3. Nelle

    your plugin description clearly states that it supports both simle products & variable products – but when i am in a variable product the subscription tab disappears???? what am i doing wrong?

    • Manos Psychogyiopoulos Post Author

      Hi Nelle,

      Variable products are supported in v1.1, which is a couple days away from being tagged/released.

  4. Nelle Baird

    loving this plugin in general, works as i expect & need I mostly use the update products to subscription feature in the cart as my customers are repeat business and it’s pretty easy to educate them that they’ll always have that option without adding specific settings to hundreds of products….

    One thing – I use chained products to create a linked bundle and if I allow the chained items to show in the cart statt allows my customers to subscribe to each item in the chain (at their price of 0.00) as it would paid items but sttrangely not the overall bundle… My workaround has been to not SHOW the chained items in the cart but this may not work if someone is utilising chained items differently than i am.

    Also I’ve just found a little conflict with https://codecanyon.net/item/woocommerce-prices-by-user-role/8562616-Team
    using these babies in conjunction make the go to checkout button and the radio button options for statt disappear in the cart page….
    have reported the conflict to festi – will let you know if they fix it 😀

    • Manos Psychogyiopoulos Post Author

      Hey Nelle,

      Thanks for the feedback! Due to the nature of SATT and the way hooks/filters work, compatibility with other official extensions is a big challenge, let alone 3rd party plugins. For all intents and purposes, SATT should be considered to be compatible only with extensions for which compatibility is explicitly mentioned in the readme.txt file or change log (Variable Products, Product Bundles, Composite Products and partly Mix and Match). Ideally, in the future we would like to support every official extension, but there are practical limitations that may often require work on both ends.

      For the time being, SATT should be considered as an “experiment” mainly due to the complexity and fragile nature of its integration with WooCommerce Subscriptions.

  5. Rob

    this looks great guys, just what we are looking for. our site offers simple and variable products on subscription but has bundled and compostie products we can offer as subscription products – such a frustration – how do we go about becoming a tester of the plugin and give you feedback

Leave a reply

Basic HTML is allowed. Your email address will not be published.