How to Give WooCommerce Subscribers a Store-Wide Discount

16 August 2016 #Code #Tutorials

We’ve been building quite a few WooCommerce stores recently. It’s a plugin that is incredibly powerful out of the box. But it’s also easy to feel nickel-and-dimed every time you want to do something out of the ordinary. No matter how large or small. (That is, if nickels and dimes were $100-200, these extensions aren’t cheap).

Recently we built a site that was offering products to sell, along with a monthly subscription product. For this we use the premium extension WooCommerce Subscriptions. It handles creating a product that automatically renews. What it lacks though is any kind of reward for the customer.

In our instance we wanted to reward any customer who had actively purchased a subscription with a store-wide discount on all other products. Subscriptions can be in themselves discounted, but the plugin does not support modifying anything else in the store based on an active subscription.

After contact WooCommerce support, their response was (surprise surprise) another premium extension. But I have my own solution.

Give Discounts Based on User Role

The WooCommerce Subscription plugin does support changing the Role of a user when they have an active subscription.

Find this in WooCommerce > Settings > Subscriptions

We can combine this functionality with a free plugin, Woocommerce Role Pricing, to give storewide discounts to anyone with the “Subscriber” role.

Unfortunately this means customers with any Subscription product will have the same Role and therefore the same discount. For example you can’t give 15% off to an active subscriber of one product and 30% off a different subscription.

But it’s better than nothing!

Also the Role Pricing plugin by default does not show the normal and discounted price side by side, but this can be fixed, see this support thread for the plugin.