WooCommerce role-based pricing: Everything you need to know

Discover the best WooCommerce role-based pricing plugins and how to use them to charge different prices to different groups of users. We'll look at two different types of role-based pricing for WooCommerce and which one is right for your store.

Out of the box, WooCommerce lets you add a regular price and a sale price for each product. There is no built-in role-based pricing options.

Luckily, there are several plugins available that let you add role-based pricing for WooCommerce. In this article, we will explore two different ones:

  • WooCommerce Discount Manager lets you create a wide range of discounts and pricing rules, and select which roles - or even individual user accounts - they are available for.
  • WooCommerce Wholesale Pro offers flexible role-based pricing specifically for wholesale or B2B stores.

Keep reading to learn how to use each of these WooCommerce role-based pricing plugins to add user group discounts to your store. Whichever plugin you choose, you'll learn how to create multiple user roles and charge different prices per role. Each user sees the same products, with the correct pricing for them 💪

Why do you need WooCommerce role-based pricing?

If you sell products to different groups of customers – such as retail customers and wholesale customers, or members on different subscription plans – then you probably need WooCommerce role-based pricing. This is the easiest way to set up customer-specific pricing, in which pricing is based on a logged in user's role.

Here are some example scenarios where setting WooCommerce prices by user role could save you a lot of time and back-end store management:

  • You sell to both retail customers and wholesale buyersIf you sell to retail and wholesale customers, you can sell the same product at different prices without having to duplicate products. This is a great way to deliver better user experience, especially since wholesale customers are likely to buy more from you per order.
  • You sell products to members subscribed to different membership plansIf you’re running a membership site, you might consider offering members on higher-priced subscription tiers a larger discount on purchases than members on lower-priced tiers. This is also great for offering different discounts to different customer groups.
  • You want to hide prices from your public-facing storeAs an online store owner, you might want to encourage visitors to create an account. One way to do this is by hiding prices until login. This way, guest users will have to create an account and become registered users to view product prices.

These are just some of the reasons why you might consider adding WooCommerce role-based pricing to your online store. Depending on the type of online store you’re running, you can use WooCommerce role pricing in different ways to increase conversions and boost sales.

Next, I'll tell you how to set up role-based pricing using the two dynamic pricing WordPress plugins plugins I mentioned above.

Method 1: Use Discount Manager to set up role-based pricing for WooCommerce

For method 1, we will use WooCommerce Discount Manager. This is my favorite WooCommerce role-based pricing plugin because it's so flexible and suitable for any use case or industry.

Essentially, you should use this method for all ecommerce sites except for wholesale stores. For wholesale, skip to Method 2 which is specific to that use case.

Discount Manager is an incredibly flexible discount plugin for WooCommerce. It lets you create absolutely any type of discount or pricing deal, and choose which user role(s) it applies to.

Here's a quick overview of what you get with this role-based pricing plugin:

  • Choice of 6 discount types including fixed or percentage pricing, bulk pricing tiers, free products (including buy-one-get-one-free), discounts based on order value, and more.
  • Either run each discount storewide on all products, or restrict it to specific categories or even individual products.
  • Choose which user roles each discount applies to so that only logged in users with that role can see the special pricing.
  • Run sales for new customers only by creating discounts for the 'guest' user role.
  • Schedule each role-based pricing rule to start and end on a specific date.
  • Display unique text or other information to display on product pages for users with the correct role.
WooCommerce role-based pricing product page content
Display custom messages per role on the product page

Next, I'll show you how to set up WooCommerce role-based pricing with the Discount Manager plugin.

Step 1. Create your user roles (optional)

The first step is to add any extra roles that you need. WordPress itself comes with a range of built-in user roles, such as subscriber and contributor. WooCommerce adds some additional roles, such as customer and store manager. If these aren't enough, then it's easy to create additional roles.

I recommend the free User Role Editor plugin for this. Simply install the plugin and clone the 'customer' role to create as many new ones as you like.

Step 2. Set up role-based pricing

  1. Get the plugin, save the zip file to your computer, and copy the license key from your confirmation email.
  2. Install and activate the plugin on your WordPress site.
  3. Activate your license key in the setup wizard.
  4. Next, go to Marketing → Discounts and click 'Add Discount'.
  5. A popup will appear asking you to choose which type of role-based pricing you'd like to set up. There are examples on the right-hand side to help you decide.
  6. Next, enter the information for the role-based discount. This includes:
  7. Add a name to help you identify the pricing rule in the WordPress admin, e.g. "Role-based pricing for silver users".
  8. Select which products or categories you want the role-based pricing to apply to.
  9. Enter the details of the discount. The exact options will depend on what type of role-based pricing you're creating.
    WooCommerce Discount Manager simple discount
  10. Now click 'Selected roles' and choose one or more user roles that the pricing will be applied to.
  11. Use the 'Availability' section to schedule the pricing rule, if required.
  12. The 'Product page content' field is an opportunity to display role-based information on the WooCommerce product page. Feel free to enter any fancy styles from your theme, add emojis etc. For example, you might enter: "🔥 WELCOME BACK! As a Silver Member, we have given you 50% off everything 🔥" 
  13. Select a location for the product page content from the dropdown. For example, you can display it at the top of the page or above the add to cart button.
  14. Finally, you can add some text which appears at the top of the cart page. This is a nice way to remind people they're getting special pricing.
    Role-based pricing for WooCommerce add product page content select role
  15. Finally, click 'Save'.

Repeat these steps to add as many different role-based pricing roles as you like to WooCommerce, each one different.

How it looks on the front end

When a user logs into their account on your WooCommerce site, they will see the correct pricing for their role. They will also see any additional messages that you set up for them, such as product page content or a cart notice.

WooCommerce role-based pricing plugin cart notice

Of course, users with a different role (or logged out users and guests) will continue to see your regular pricing. Only logged in users with the correct roles will ever know that your WooCommerce store offers role-based pricing 🤫

Method 2: Create role-based wholesale discounts with Wholesale Pro

The WooCommerce Wholesale Pro plugin is a role-based pricing plugin designed for a specific use case: trade sales. It lets store owners create a wholesale store which runs alongside their main public-facing shop. When wholesale users log into their account, they receive special role-based pricing - while standard customers continue to see your regular pricing.

Here's a quick overview of what you get with this role-based pricing plugin:

  • Create an unlimited number of wholesale user roles, each with its own pricing.
  • 3 types of role-based pricing: global percentage discounts, category percentage discounts, or manually set role-based prices for specific products or variations.
  • Customizable wholesale registration and login forms (with the ability to hold new accounts for moderation by an administrator before they can start shopping).
  • Role-based payment options, so that you can offer different payment gateways to wholesale users.
  • Role-based shipping options, which you can use to offer different shipping methods to regular and wholesale buyers.
  • Different tax settings for each wholesale role, so you can charge tax to different roles depending on their location or tax status.
  • Use it with its sister plugin - WooCommerce Product Table - to create quick wholesale order forms.

WooCommerce Wholesale Pro prices 1

As you can see, Wholesale Pro is a fully featured wholesale plugin for WooCommerce. It has everything you need to run a successful wholesale store, with wholesale role-based pricing at its foundation.

Next, I'll tell you how to set it up.

How to set up wholesale role-based pricing

  1. Get the WooCommerce Wholesale Pro plugin and install and activate it on your WordPress site. You’ll receive a license key along with the plugin files in an email.
  2. The plugin setup wizard will open automatically when you first activate the plugin. Use it to activate your license key and set up the other main settings for your wholesale store.
  3. Next, add as many user roles as you like:
    1. Head over to WooCommerceSettingsWholesaleRoles from the WordPress admin panel.
    2. Click the Add new role button. Enter the display name and percentage role-based discount you’d like to offer users.
    3. Click the Save changes button to continue.

Once you've created a role for each pricing group, you can use WooCommerce Wholesale Pro to add 3 types of role-based pricing:

  1. Create global percentage discounts
  2. Create category percentage discounts
  3. Set exact prices for individual products

Feel free to skip ahead to your preferred method, or read through them all to see which one best fits your needs.

#1: Create global percentage discounts

Creating global percentage discounts is useful if you want to offer a specific user role a flat percentage discount on all products. For example, you can use this to give wholesale customers a 5% discount on their orders while retail customers pay the full amount.

You can also use it to offer members on different subscription plans a percentage discount on all purchases. For example, Silver Members qualify for a 3% discount whereas Gold Members qualify for a 5% discount.

To set up global role-based pricing in WooCommerce, head back toWooCommerceSettingsWholesale → Roles and add a percentage discount for each role:

Set up global discounts in WooCommerce

Your product page will look something like this to different customers:

Notice how the product page display price is different depending on the customer’s user role.

#2: Create category percentage discounts

Some WooCommerce store owners might benefit from creating category percentage discounts. This way, you can offer different types of users a different discount for each WooCommerce category.

For example, you might want to offer Silver Members a 15% discount and Gold Members a 20% discount on products in the Seasonal Sale category. These discounts might be bigger than the reductions in your year-round categories.

Here’s what you need to do to set this up in your online store:

Create category percentage discounts
  1. From the WordPress admin panel, navigate to Products Categories.
  2. Edit the product category you’d like to set category percentage discounts for or create a new WooCommerce product category.
  3. Use the Wholesale % discount option to set the category percentage discounts for each user role.
  4. Click the Update button.

In addition to this, you can also make product categories visible to only wholesale users, only guest users, or both wholesale users and guest users. This is an easy way to hide specific products from your public-facing site.

#3: Set exact prices for individual products or variations

There are plenty of scenarios where you might want to set exact prices for specific products instead of offering percentage discounts.

This is possible with the WooCommerce Wholesale Pro plugin. You can use it to set exact wholesale prices for individual products. The best part is that it works for simple products and products with variations.

Here’s how you can set exact prices for individual WooCommerce products:

Enable product specific pricing
  1. Head over to WooCommerceSettingsWholesaleRoles from the WordPress admin panel.
  2. Edit the user role you’d like to enable exact prices for.
  3. Tick the checkbox next to the Product specific pricing option.
  4. Click the Save changes button to continue.
Set exact prices in WooCommerce

Now you can set the per-product pricing for each role:

  1. Edit the product or variation that you’d like to set custom prices for.
  2. Scroll down to the Product data section and set the exact prices for each user role. This also works for variable products.
  3. Click the Update button to continue.

Bonus: show WooCommerce role-based pricing in a table layout

Wholesale customer-specific pricing plugin WooCommerce

One of the key benefits of using the WooCommerce Wholesale Pro plugin for setting up WooCommerce price by user role is that you can list products in a table layout. For this, you’ll need to get the WooCommerce Product Table plugin which integrates seamlessly with WooCommerce Wholesale Pro.

Using the WooCommerce Wholesale Pro plugin with WooCommerce Product Table, you can create quick, one-page order forms that display role-based pricing as well as other product details (such as product ID, image, and description). For example, you can use this to make it easier for wholesale customers to add products to their shopping cart without having to click the add to cart button for each one and quickly and proceed to the checkout page.

Wholesale customers will see wholesale pricing in the table layout and they can simply use the checkboxes to select all of the products they’d like to purchase and add to cart in one go.

To save money, get WooCommerce Product Table in a bundle when you buy WooCommerce Wholesale Pro.

Set up WooCommerce role-based pricing

In this article, we've discovered two fantastic role-based pricing plugins for WooCommerce:

Whichever plugin you use, you can easily add WooCommerce role-based pricing to your store. Each logged in user will see the correct pricing for their role 🚀


  1. Hi! Question about the role-based pricing plugin. My client wants give discounts for bronse, silver en gold users, but he also want status changes automaticly from bronse to silver and from silver to gold when clients reach a total sales ammount in the passed X period. Is this possible too with the plugin?

    Kind regards,

    • Hi, Maxim. I'm afraid that WooCommerce Wholesale Pro doesn't have an option to automatically upgrade a wholesale user to a different user role based on purchase amount - thanks for the suggestion! I have added it to our feature request list so that we can track the amount of demand. We will let you know if we add this to a future version of the plugin.

      In the meantime, I'm sorry that this isn't possible. Please let me know if you have any more questions. Best regards.

Please share your thoughts...

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