WooCommerce user role pricing in 2 easy steps

How to set prices by user role for WooCommerce

Would you like to offer your customers different prices according to their user role? In this article I’ll show you how to set up WooCommerce user role pricing, including user role discounts, so that you can offer different prices for different users, in two easy steps.

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.

Use the menu below to skip directly to the section you need:

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.

There’s a complete guide to WooCommerce user roles here.

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 prices by user role. 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.

Wholesale stores

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.

Staff discounts

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

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.

WooCommerce Members Only

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.

Two easy steps to set prices by user role in WooCommerce

Okay, now let’s look at exactly how to set prices by user role in WooCommerce.

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.

Enable WooCommerce user role pricing

Enabling this option will activate an additional item called ‘User Role Pricing’ in the sub-menu under the tabs.

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.

WooCommerce user role pricing settings

You’ll see a list of all your site’s user roles alongside fields for the adjustment types and amounts.

Setting user role pricing in WooCommerce globally

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’.

Customer percentage discount

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

(By the way, there’s specific guidance on WooCommerce discounts here and guidance on WooCommerce percentage discounts here.)

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.

WooCommerce user role pricing by product

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:

WooCommerce user role discounts for variations

Further tutorials

User role pricing is just one example of dynamic pricing in WooCommerce. There are some further tutorials using the Fees and Discounts plugin in these posts:

Popular Posts

8 thoughts on “WooCommerce user role pricing in 2 easy steps


Do you know any plugin that allow to set final price per product for a role, instead of percentage discounts?


Do you mean set different prices by user role? I don’t know of any. Fees and Discounts allows you to set discounts either by percentage or a fixed amount per product – so I think this amounts to the same thing?


is there a way to add a 2nd price list to woocommerce ? a totally seperate price list ? not based on the main price list ?


Hi Lars

Can you confirm what you mean by a second price list?



Will this plugin work if the user has multiple roles assigned to him?
John as the primary role A and also has the role B assign to him!
Role A offer a discount on product ABC
Role B offer a discount on product XYZ
So John should get the discount for the product ABC and XYZ
In my use case a user could get up to about 10 different roles.



Hi Philippe – yes, that’s correct. This will work if the user has multiple roles.




Hi, sorry if my english writing bad.

can user roles have his own tier price also? example :

retails :
buy 1-5 : 20usd
buy 6-10 : 15usd

for user role Silver :
buy 1-5 : 17usd
buy 6-10 : 12usd

for user role Gold :
buy 1-5 : 15usd
buy 6-10 : 8usd

is this possible to have tier price for each user role? tq..



You can combine price tiers and user role pricing. So you can create tiers for 1-5 products, 6-10 products (-5USD), etc.

Then you can set role-based discounts. So for Silver, the discount could be 3USD; for Gold, the discount could be 5USD, etc.




Leave a Reply

Your email address will not be published. Required fields are marked *

WooCommerce user role pricing in 2 easy steps Changelog