Would you like to set different prices for different users in WooCommerce? In this article I’ll show you how to set up WooCommerce user role pricing for simple and variable products, including user role discounts, so that you can offer your customers different prices according to their user role.
Setting prices by user role in WooCommerce
Through this post, we’ll look at what user roles are in WooCommerce and WordPress. We’ll also look at what benefits you might get from WooCommerce user role pricing.
We’ll examine an easy way to create new user roles then focus in on WooCommerce user role discounts with some typical real life examples of how to use discounts based on user role.
Finally, we’ll look at a simple method to set prices by user role in WooCommerce. This will include a way to set prices rules globally, by individual products and by variation.
If you’d like to skip straight to the tutorial, click here.
What are WordPress user roles?
Before we start looking at prices, let’s summarise quickly what we mean by user roles. WooCommerce uses the standard WordPress ‘Roles’ system, which allows the site owner to control what users can do.
For example, users with the role of ‘Administrator’ are able to perform any task they wish on the website, including publishing posts, creating new users, moderating comments, and so on.
Understanding what role a user currently has can also be crucial. To learn more about this, you can read our guide on how to get the current user role in WordPress.
What is the difference between a WordPress role and a capability?
Each of the ‘tasks’ mentioned above, like publishing posts, is called a ‘Capability’. Each role is made up of one or more capabilities.
There’s more information on WordPress roles and capabilities here.
What user roles does WooCommerce add?
By default, WooCommerce adds two new user roles: Customer and Shop Manager. When a user makes a purchases or registers on the site, they’re assigned the ‘Customer’ role. The ‘Customer’ role has very limited capabilities, such as viewing previous orders.
The ‘Shop Manager’ role has additional capabilities which allow users with this role to manage WooCommerce products in the dashboard and to view WooCommerce reports.
Why set prices by user role in WooCommerce?
You’ve probably got your own reasons for wanting to set different prices for different users. However, here are some examples where user role pricing could be used:
WooCommerce user role pricing for members only stores
If you are running a members only store, you might want to offer your members different pricing for products depending on their membership level. For example, ‘Gold’ members will get products 10% cheaper than ‘Silver’ members.
You can find out more about how to create membership sites in WooCommerce here.
Offering different prices for wholesale users is a very common usage of role based pricing. Wholesale customers are likely to be buying more products so you want to offer them a discount.
A really quick way to set up differential pricing for wholesale customers is to create a new user role called ‘Wholesale’. Then, using the method below, set a different price for customers with the Wholesaler user role.
You can take a look at this tutorial on building a wholesale store in WooCommerce.
Would you like to offer discounts to your staff when they’re buying products from your online store? Just assign each staff member the user role of ‘Staff’ then use the method below to create their discount.
Discounts for existing customers
Another common, yet very simple, role based pricing rule is to offer existing customers a discount. It’s an easy way to encourage customers to make return purchases.
To create discounts for existing customers, just use the method below, assigning a discount to the ‘Customer’ role.
How to create new user roles in WordPress
A key part of setting different prices for different users in WooCommerce is user roles.
You can create new user roles using the WooCommerce membership plugin – Members Only. This plugin has a simple interface to allow you to create new roles, edit existing roles, and assign capabilities to roles.
You can also take a look at this article on automatically setting user roles after customers check out.
WooCommerce user role discounts
Put simply, WooCommerce user role discounts let you offer customers special discounts based on their user role. This is great for online stores that:
- Sell to different types of customers, e.g. regular customers, wholesale buyers, and staff members.
- Offer premium memberships, e.g. bronze membership, silver membership, and gold membership.
- Need to offer subscribers a percentage-based discount on their purchase to encourage repeat purchases.
Depending on the type of online store or ecommerce website you’re running, you might have different user roles set up with different pricing rules for each type of customer.
What do we mean by WooCommerce user role discount?
A WooCommerce user role discount is when you offer customers discounts on WooCommerce products based on their user role. For example, let’s say you have the following user roles added to your online store:
- Customer. These are regular customers that you’d like to sell products to at their regular price.
- Wholesale Buyer. Your wholesale customers tend to purchase products in larger quantities e.g. in the dozens. You want to offer them 15% off on their purchase assuming they purchase at least two dozen product units.
- Staff. As an online seller, you want to offer staff members a 5% off on their total purchase amount.
So, your customers will see a different product price depending on their user role.
Real-life examples of how WooCommerce user role discounts are used
Store owners might consider offering their customers a WooCommerce discount based on user roles for a variety of reasons. Let’s take a closer look at some popular use case scenarios:
Example #1: Wholesale customers and B2B buyers
If you sell products to wholesale customers or other businesses, you might need an easy way to offer special discounts. This way, you can avoid having to add each WooCommerce product twice to your online store – once with pricing for regular customers and once for your wholesale customers.
Instead, you can follow the steps outlined below to create a separate user role for wholesale customers (or B2B buyers). Once that’s done, you can use the WooCommerce Fees and Discounts plugin to create a WooCommerce discount by user role.
Example #2: Guest checkout and customers with user accounts
You probably already know that, as an online store owner, you can benefit from building an email list. You can use it to let customers know about new products, offer discounts and coupons, and reduce your abandoned cart rates. This is also a great way to boost sales and increase your average order value.
One way to encourage customers to create a user account on your store rather than availing the guest checkout option is by offering a percentage based discount to customers with user accounts. In other words, if a customer creates an account on your store, they’ll qualify for, say, 5% off on their total purchase.
The easiest way to implement different pricing rules for customers that create a user account versus customers that opt for guest checkout is by offering a WooCommerce user role discount.
Example #3: Staff discounts
Many store owners offer exclusive discounts on products to their staff members. You can create pricing rules for staff members in two different ways:
- All staff members get the same percentage-based discount on their purchase e.g. 10% off.
- Staff members with different user roles get different WooCommerce user role discounts. For example, Store Managers get 10% off whereas Customer Support Representatives get 5% off.
This is a great way to incentivise staff members to purchase products from your store rather than going to competitors.
Example #4: Membership sites and SaaS products
If you run a membership site or sell SaaS products, you might want to offer customers with premium subscriptions a larger discount. Creating a WooCommerce discount based on user role is the easiest way to do this.
For example, let’s say you have the following membership packages and an exclusive members-only store where you sell merchandise:
- Bronze package for $99 per month. Members that subscribe to this package will have to pay the full price for exclusive products.
- Silver package for $129 per month. Members who’ve subscribed to the Silver package qualify for a 5% discount on their total purchase.
- Gold package for $159 per month. Gold members qualify for a 15% discount on their total purchase.
Similarly, you can follow the same approach to sell SaaS products to customers. For example, you might offer customers who sign up for the Premium plan a 10% off on all add-ons whereas customers on the Basic plan would pay full price.
How to set different prices for different users in WooCommerce
Okay, now let’s look at exactly how to set different prices for different users in WooCommerce.
We’re going to look at three different methods:
- Adjusting prices globally according to user role. This means you can apply a discount or charge an extra fee for all products in your store based on user role. This is great if you want to give certain customers the same discount on all products across the board.
- Adjusting specific product prices according to user role. With this method, you can apply a discount or fee to a specific product based on user roles. So you can give your Wholesale customers a 15% discount on Product A, 10% on Product B, etc
- Define different prices per product for user roles. In this method, you enter different prices per user role.
Let’s take a look at how to do each of these.
Step One: Install WooCommerce Fees and Discounts
In order to be able to set product prices by user role, we’ll need a copy of the WooCommerce Fees and Discounts plugin.
You can follow this guidance for installing the plugin.
Step Two: Enable user role pricing
WooCommerce Fees and Discounts lets us set prices by user role. To enable this feature, go to WooCommerce > Settings > Fees and Discount and check the ‘Enable user role pricing’ option.
Enabling this option will activate an additional item called ‘User Role Pricing’ in the sub-menu under the tabs.
1. Setting user role prices globally
Fees and Discounts allows you to set user role pricing globally or on a product to product basis. If you want to set your user role pricing globally – so that a single rule will apply to all products – then click the ‘User Role Pricing’ menu item.
You’ll see a list of all your site’s user roles alongside fields for the adjustment types and amounts.
All you need to do is set the type of pricing adjustment (see below for a list) and an amount against each user role. If you don’t want to set different pricing for a user role, leave the adjustment field set to ‘No adjustment’.
Types of pricing adjustment
WooCommerce Fees and Discounts lets you adjust the product price in four different ways:
- Fixed Discount – reduces the price by a set amount
- Fixed Fee – increases the price by a set amount
- Percentage Discount – reduces the price by a set percentage
- Percentage Fee – increase the price by a set percentage
2. Setting user role prices for specific products
If you only want to set role-based pricing for certain products, you can do so from the Product Data section. Edit the product that you’d like to set the role-based price for, clicking on the ‘User Roles’ tab in the ‘Product Data’ section.
As with the global settings, you’ll see a list of each role with fields to set the adjustment type and amount for each.
Setting user role discounts for variations
Finally, if you want to set different pricing rules for individual variations, you can do so by setting the rules per variation.
Click the ‘Variations’ tab in your Product data section, then set role-based fees and discounts per variation:
3. Defining specific product prices by user role
Finally, our third method is specified different prices for a product rather than the first two methods which allowed use to specify adjustments to the main price.
To define specific role-based product prices in WooCommerce:
- Go to WooCommerce > Settings > Fees and Discounts > User Role Pricing
- In the Role Price Fields section, enter the roles that will need specific prices. Defining roles here helps to keep the interface from being cluttered from too many fields
- If you want to set specific prices for variations then check the ‘Role-based prices for variations’ option
- Save the settings
- Go to your product and enter the prices for each role. If you leave a price field empty for any roles, the price will just default to the standard product price
In the image below, we’ve enabled role pricing just for the ‘Shop manager’ role.
Now, every product will have an extra price field specifically for the Shop manager price.
It’s as easy as that.
User role pricing is just one example of dynamic pricing in WooCommerce. And setting different prices for different users is a common feature of many WooCommerce sites.
There are some further tutorials using the Fees and Discounts plugin in these posts: