How to set WooCommerce role-based pricing [+ video]
WooCommerce is packed with loads of great features but it doesn’t have any role-based pricing functionality. If you’d like to charge prices based on user role, you’ll need an extra plugin.
That’s where WooCommerce Dynamic Pricing and Discount Rules comes in. In this article we’ll show you how to use the Fees and Discounts plugin to set role-based pricing in WooCommerce. We’ll look at:
- How to set user roles – then assign different prices to each role
- Setting user role prices globally, by category, and by product
- Different options for display role-based prices on the front end
- How to exclude certain user roles from pricing rules
- Options with shipping and payment gateways
WooCommerce role-based pricing plugin
Dynamic Pricing and Discount Rules is a powerful, easy-to-use role-based pricing plugin for WooCommerce. It’s designed to help you charge different prices for your products to different users.
WooCommerce Dynamic Pricing and Discount Rules
Create role-based pricing for WooCommerce
Read on for how to use this plugin to set product prices by user roles in WooCommerce. There’s also a short video tutorial on the same topic.
How does role-based pricing in WooCommerce work?
A core feature within WordPress is user roles, which mean that you can allow each logged-in user to perform different actions or tasks on your site. There’s a detailed guide on user roles in WooCommerce here.
This can have specific applications in your WooCommerce store. For instance, you can assign some of your users with a ‘Wholesale’ role and others with the ‘Retail’ role.
Using role-based pricing, you can charge these two groups of users different prices for the same products. So you can give your wholesale customers discounts that aren’t available to retail customers. You could even give retail customers different pricing from users who’ve never purchased anything from you.
We’ll look at several methods for how to change the product price based on the user role. You can pick the ones that suit your site’s needs best.
Using the WooCommerce Dynamic Pricing and Discount Rules plugin to set role-based pricing
Dynamic Pricing and Discount Rules is a powerful and flexible plugin for creating discounts based on user role in WooCommerce. In this section we’ll look at how easy it is to set up all kinds of role-based pricing.
Creating your user roles
By default, WooCommerce will assign the ‘Customer’ role to any user who makes a purchase from your site. So if you just want to set prices for users who’ve made previous purchases, you can use the ‘Customer’ user role.
However, you might want to create additional user roles. There are a couple of different options:
- The User Role Editor plugin is free and has all the features you need for creating new user roles for your WooCommerce store
- If you need more functionality, including the ability to restrict access or hide prices from certain user roles, you can use our WooCommerce Members Only plugin.
Types of pricing rule
Once you’ve got your user roles set up, you can decide what kind of pricing rule you’d like to apply. Dynamic Pricing and Discount Rules has several options:
- Global percentage or fixed discounts (or fees) per user role
- Simple discounts (or fees) that can be applied to specific user roles
- More complex rules, like bulk or tiered pricing, that discount prices based on the quantity purchased
- Discounts based on the amount spent
- Buy One Get One Free style offers
We’ll look at all these below.
Creating global role-based pricing in WooCommerce
The simplest form of role-based pricing in WooCommerce is to apply a global discount or fee for one or more roles. For example, you could offer a 10% discount for existing customers by reducing the price on all products for users with the ‘Customer’ role.
To create a global role-based discount in Dynamic Pricing and Discount Rules:
- Go to WooCommerce > Settings > Fees and Discounts > User Role Pricing
- Select an ‘Adjustment’ for each role where you’d like to modify the pricing. You can choose from ‘Fixed Discount’, ‘Fixed Fee’, ‘Percentage Discount’ and ‘Percentage Fee’
- Set the amount of the adjustment. So, if you chose ‘Percentage Discount’ for the adjustment type and you enter 10 in the ‘Amount’, the pricing for all products for that user role will be discounted by 10%
This is by far the easiest way to set global role-based pricing in WooCommerce.
Creating a role-based pricing rule
Setting global role-based discounts or fees on certain user roles is useful – but you may want to create slightly more complex pricing rules.
Dynamic Pricing and Discount Rules allows you to create multiple pricing rules – so you could create one pricing rule for ‘Gold’ customers, a different rule for ‘Silver’ customers and so on.
To create a new role-based pricing rule:
- Go to WooCommerce > Fees and Discounts and click ‘Add New’
- Choose the ‘Rule’ type. The options are:
- Simple: apply a simple percentage or fixed discount or fee to some or all products
- Bulk pricing: create quantity-based discounts where you offer discounts depending on how many items the user purchases
- Tiered pricing: set exact product prices for different quantities
- BXGX: use this rule type to create ‘Buy One Get One Free’ style offers
- BXGY: use this rule type for ‘Buy Two of Product X and Get a Deal on Product Y’
- Discount on spend: apply discounts based on the amount the user is spending on certain products
- Cart total: apply discounts based on the total value of the cart
- Enter a ‘Label’ – this can be used as a sales flash to promote your pricing rule to qualified users
- In the ‘Status’ field, choose from ‘Active’, ‘Paused’ or ‘Scheduled’. The ‘Scheduled’ option allows you to start and stop role-based pricing rules in the future
- In the ‘Applies to’ field, choose from ‘All items’, ‘Specific categories’ or ‘Specific products’. We’ll look at these options further below
- In the ‘Roles’ setting, choose which role(s) the pricing rule should apply to
- In the ‘Exclude roles’ setting, you can optionally specify some roles that should be excluded from the rule. We’ll look at this in more detail further below
- In the ‘Tiers’ section, you can create any quantity-based discounts. In the example settings below, we have a bulk pricing rule for our ‘Gold’ user roles that offers them progressively better discounts the more items they purchase
Creating role-based pricing by product category
If we want to apply role-based pricing to just certain categories, we can do so by updating the ‘Applies to’ field to ‘Specific categories’. Then, we can apply any of the discount types above to specific categories and specific user roles.
In the example below, our bulk discount will be for ‘Gold’ users and only apply for items in the ‘Clothing’ category.
You can create as many of these rules as you like. So you could create different discounts for different categories – and for different user roles.
Excluding roles from pricing rules
Instead of creating a rule and applying it for certain user roles, you might want to exclude certain user roles. For instance, you could create a 10% discount on your site for all users – except your ‘Wholesale’ customers.
To exclude a role from a pricing rule, just select in the ‘Exclude roles’ field. You can exclude as many roles as you like from each rule.
Setting exact role-based prices for individual products or variations
Pricing rules work great when you have multiple products where you need to apply role-based pricing. But you might need more granular control than that.
Dynamic Pricing and Discount Rules allows you to set exact role-based prices for individual products and variations. So you might have a product that has a regular cost of $20 but you want to offer it to your ‘Gold’ customers for only $18.
You can do that by selecting which roles will have their own unique prices in WooCommerce > Settings > Fees and Discounts > User Role Pricing.
Then, when you edit a product, you’ll see additional fields to enter unique prices for the selected roles. You can leave a field blank to use the regular price for that role.
In the example above, the standard price is $20 but users with the role ‘Customer’ will be able to purchase the product for $19. And ‘Gold’ users will be able to purchase it for $18.
Setting exact role-based prices for variations
To do the same for variations, you need to enable the option for ‘Role-based prices for variations’.
Then you can enter the exact role-based price for each variation of a product. Leave a field blank to use the default variation price.
Displaying discounts on the front end
Depending on the type of pricing rule you’re using, you have several options for how to display your role-based pricing on the front end.
- Display the current user’s price only: this way, the user only sees the price for their user role. They don’t necessarily know that other pricing is available.
- Display the original price and the current role-based price: if you’d like to show your user that they’re getting a discount, you can display the regular price with a strikethrough and the discounted role-based price.
- Display price range: this option works if you have quantity-based or tiered pricing. You can show the user the full range of pricing – from lowest to highest.
- Display the full list of role-based pricing: finally, you can – if you wish – display a list of all role-based pricing for each product. This might be helpful if you want your users to know what kind of discount they’re getting – or could get – compared to other users.
See this article for more information on displaying multiple prices in WooCommerce.
WooCommerce role-based pricing video
Check out the video below for how to set role-based prices in WooCommerce.
Related tutorials
Role-based pricing may be only one part of the puzzle for your WooCommerce store. Here’s a list of related articles:
- How to hide products from some users
- How to set role-based payment methods
- How to create role-based shipping methods in WooCommerce
- How to set up a wholesale store in WooCommerce
- How to create a B2B store in WooCommerce
WooCommerce role-based pricing FAQs
What is role-based pricing?
Role-based pricing allows you to set different prices for different user roles and customers. You can assign prices as a global discount, by product category, or assign exact role-based prices to individual products and variations.
How to set up WooCommerce group pricing
You can create pricing rules and assign them to a 'group' or user role(s). You can use the User Roles Editor or Members Only plugins to create new user roles - then assign pricing rules to groups of one or more roles.
How do I set a custom price in WooCommerce?
If you are creating role-based pricing for your WooCommerce store, you can set a custom price in a couple of different ways:
- Create a new rule at WooCommerce > Fees and Discounts
- Enter exact prices for products or variations in the product edit screen
You can find out more from this article on how to set custom prices in WooCommerce.
Start setting role-based pricing in WooCommerce now
WooCommerce Dynamic Pricing and Discount Rules is the perfect plugin to start creating role-based pricing rules in WooCommerce. It’s compatible with all themes and backed by our 14 day money-back guarantee.
WooCommerce Dynamic Pricing and Discount Rules
Create role-based pricing for WooCommerce now