WooCommerce user role pricing in 2 easy steps

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.

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

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.

Related Tutorial
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

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.

WooCommerce Members Only

Protect your content and sell members-only products

Find Out More

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:

  1. 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.
  2. 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
  3. 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.

WooCommerce Fees and Discounts

Create powerful pricing incentives quickly and easily

Find Out More

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.

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.

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

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.

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

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.

WooCommerce role-based price field for simple product
WooCommerce role-based price field for variations

It’s as easy as that.

Further tutorials

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:


    • 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?

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


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

    • Hi

      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.



  3. Hi I was wondering if you are able to exclude specific products. For instance, we have wholesale customers on the site that get a flat 35% discount on all products, however, we have recently introduced packs and would like to sell them at full price as they are already discounted. Is this possible with your plugin?

    • Hi

      Yes, you can set discounts by product category. So you can assign the packs to a specific category and exclude that category from any pricing rules.



  4. We have arround 10 products and 4 types of roles for clients: Client1, Client4, Client5 and Client6. And each product has 4 different fixed prices, but the prices has nothing to do with the regular price, so it’s not a %discount or something like that. Is posible to do that?

  5. Hi,

    I want to know if with this plugin we can change price by specific user not by user role.
    Or if it can’t be possible with this plugin, will you know plugin can do this.


    • Hi Gilberto

      Do you want to create a different price for every product for every single user? If so, how many products and how many users do you have?


      • Hi,

        Yes, exactly !! I want apply that with a lot of product. Now, i have not idea number exact of product and number exact of user. But, our site web will be a e-commerce for B to B business like “ali-express”

  6. You mention that you can set up discounts by product category but I don’t see those options in any of the screenshots. (Maybe I missed it)

    Please confirm that I can set set discounts by product category

    And can I restrict page access on a page by page basis, to user types

    And finally, can I do a page redirect after logging in?


  7. Can I change User Name to own membership level name ? (Customer > Silver, Contributor > Gold, etc..) , also is there any way to assign roles automatically whenever customer sign up WooCommerce subscription ? In other words, our store has Free membership (sign up only – regular price), paid membership ( pay annual fee via Woo Commerce Subscription ) and get 10-20% discounts.

  8. Are there message prompts that can be turned on, to remind users to register/login to receive the member-role discount price? If yes, will the prompts work with the allow guest to login/register during checkout setting? Also, can the plugin be setup to show a strikethrough price next to a VIP Member discount price?

    • Hi

      The plugin itself doesn’t have any prompts to remind the user to log in but this could be easily accomplished with a snippet. I’m happy to help with that if required.

      The plugin doesn’t display a strikethrough but you can optionally display different price levels to indicate the discount.


  9. Is this plugin able to level up the role automatically?
    For example, a new customer (Silver) who buys a product and accumulates a total amount of purchases throughout the month or throughout the year up to 50,000.- The system will change the role of that customer up to Gold.
    And Gold customers accumulate purchases of more than 100,000.- The system will automatically change the role of that customer to the Platinum level, etc.

  10. Is there a way to show a 15% discount on all products site-wide, that is visible to everyone whether they are a customer or not, but the discount can only be accessed if you register? So they can see the discount, add products to the cart but then will need to register to move forward with the discounted purchase, otherwise, they will pay full price. We are trying to push customer sign-up.

    • Hi Tracy

      Yes, there’s an option to display each role price – so users can see the standard price and the discounted price for existing customers.


  11. Can you do User Role Discounts on your Calculated Fields? I tried to put a discount on a user role, but it doesn’t discount my dynamic pricing I get using your other plugins. I cannot use the regular price in the product. All pricing is figured through calculated number fields.

Leave a Reply

Your email address will not be published. All fields are required.