How to set different prices for different customers in WooCommerce

There are several reasons that you might want to set different prices for different customers in WooCommerce. B2B and wholesale stores operate by offering their wholesale and retail customers different prices. Subscription and membership stores can also offer different prices to their users.
By default, WooCommerce only allows you to set a single price per product so to allocate different pricing for customers, you’ll need an extra plugin. The WooCommerce Dynamic Pricing and Discount Rules plugin is designed to help you do just that.
WooCommerce Dynamic Pricing and Discount Rules
Set different prices for different customers in WooCommerce
Creating different prices for different customers with user roles
The easiest way to set different prices for your products is with user roles. User roles are a standard feature in WordPress and WooCommerce, which allow site owners to assign different capabilities to different users. For example, the site owner will usually be an ‘administrator’; content contributors will either by ‘editors’ or ‘authors’; and in WooCommerce, the person running the ecommerce side will have the ‘shop manager’ role.
The WooCommerce Dynamic Pricing and Discount Rules plugin allows you to set different prices for the same products based on user role. So a user with the ‘wholesale’ user role can see different prices from a user with the ‘retail’ user role.
Different types of pricing
There are several ways of creating different prices for different users. In this article, we’ll look at how to set up the following:
- Assign specific role-based prices per product – so that users with different roles will see different prices
- Set different prices for existing customers and new customers
- Set global discounts per user role
- Apply a simple percentage discount on some or all products for certain users
- Apply a simple fixed discount for certain users
We’ll also look at options for displaying different prices – either hiding differential pricing from users, or letting everyone see the possible discounts as an incentive.
First, let’s take a quick look at creating user roles.
How to create different user roles in WordPress
To create new user roles in WordPress, you’ll need a plugin. We can recommend two – one free and one premium.
The User Role Editor plugin is free and has over 700k active installations. Using this plugin, you can create, edit and delete user roles quickly and easily.
Alternatively, our own WooCommerce Members Only plugin also allows you to create, edit and delete user roles. Plus, you can use it to restrict access to certain content if you wish. It’s fully compatible with Dynamic Pricing and Discount Rules.
You can find out more about creating user roles in WordPress here.
5 methods to create different prices for different customers
Let’s take a look at some different ways to set different prices.
Install and activate the Dynamic Pricing and Discount Rules plugin
To create any of the pricing rules in this article, you’ll need to install and activate WooCommerce Dynamic Pricing and Discount Rules:
- Download the zip file by clicking on the link in your welcome email
- Go to Plugins > Add New in your WordPress dashboard
- Click on the ‘Upload Plugin’ button
- Drag and drop the downloaded zip file into the ‘Choose File’ area and click ‘Install Now’.

When the file has uploaded, click on the ‘Activate’ button.
Method #1: Assign different prices for different customers
In the first method, we will assign specific prices for different user roles. So if the standard price for the item is $20, we can assign a price for wholesale users of $15. You can create as many different prices for customers as you like.
To assign specific prices per product for different customers in WooCommerce:
- Go to WooCommerce > Settings > Fees and Discounts > User Role Pricing
- In the ‘Roles’ field, select which user roles can be assigned different prices
- Enable the ‘Role-based prices for variations’ option if you also want to assign different prices for variations

- Edit the product where you’d like to set a different price
- Enter the regular price as usual
- Then, enter different prices for each user role. If you leave a field blank, the price will default to the regular price

With the settings above, customers with the ‘Wholesale’ user role will be able to buy the product for $15. Everyone else will need to pay $20.
Method #2: Set different prices for new customers and existing customers
If you want to offer existing customers a different price from new users:
- Follow the steps in Method #1 above
- Ensure that you include the ‘Customer’ role in the ‘Roles’ setting
- Assign the price for existing customers in the ‘Customer’ price field

In WooCommerce, anyone who purchases an item from your store is automatically assigned the role of ‘Customer’. So now, the product will be priced at $20 for customers who haven’t made a purchase before; at $18 for existing customers; and still at $15 for any wholesale customers.
You can create as many user roles as you like and enter different prices for them all.
Display different prices to different customers in WooCommerce
By default, users will only see the price that applies to them. However, if you want to show your customers the different pricing levels available:
- Go to WooCommerce > Settings > Fees and Discounts > User Role Pricing
- Enable the ‘Display each role price’ setting

Now you can display all the different prices available to each type of customer.

Method #3: Set pricing globally for different customers
The methods above are perfect if you need to set specific prices for different products. However, you might just want to apply a discount on all products for different user roles. To set global discounts by user role in WooCommerce:
- Go to WooCommerce > Settings > Fees and Discounts > User Role Pricing
- Find the user role(s) that are receiving the discount
- Enter the type of discount, e.g. ‘Percentage discount’ in the ‘Adjustment’ field
- Enter the value of the discount in the ‘Amount’ field

In the example above, existing customers will automatically receive 5% off every product price. Customers in the ‘Exclusive’ user role will receive 10% off.
Method #4: Set a percentage discount for different customers
Let’s look at some other ways in WooCommerce to create different prices for different customers.
To create a simple percentage discount for different customers in WooCommerce:
- Go to WooCommerce > Fees and Discounts and click ‘Add New’ to create a new pricing rule
- Select ‘Simple’ in the ‘Rule’ field
- Select which products the pricing rule should apply to – either all products, products in selected categories, or specific products
- Enter which user roles the pricing rule should apply to – e.g. ‘Wholesale’ users
- Choose ‘Percentage Discount’ in the ‘Adjustment Type’ field then enter the percentage value of the discount in the ‘Amount’ field

Now, all customers with the ‘Wholesale’ role will receive 10% off any products in the ‘Hoodies’ category. Users who do not have the ‘Wholesale’ role will see the full price.
Method #5: Set a fixed discount for different customers
Alternatively, you could set a fixed discount for certain user roles. Just follow the steps in Method #4 above, plus:
- Change the ‘Adjustment type’ to ‘Fixed Discount’
- Update the ‘Amount’ field to the value of your discount

In the example above, customers with the ‘Wholesale’ role will receive $5 off all items in the ‘Hoodies’ category.
Other options for setting different prices for different customers
The methods above are the most common ways of setting different prices. However, you can also check out the following tutorials for some alternatives:
- Create bulk discounts for different customers – so certain users will get bigger discounts the more they buy
- Set tiered pricing rules – so customers will see different prices per product based on the quantity they buy
- Create special deals, like buy one get one free, that are only available to some customers
You can also take a look at these tutorials if you are building a wholesale or B2B store:
Finally, if you’d like to be able to set add-on prices by user role, you can check out our WooCommerce Product Add-Ons Ultimate plugin.
WooCommerce different prices for different customers – recap
In this article, we looked at how you can set different prices for different customers. You can choose to assign specific prices per product for different user roles, or you can create pricing rules for different users on different products.
You just need the WooCommerce Dynamic Pricing and Discount Rules plugin.
WooCommerce Dynamic Pricing and Discount Rules
Set different prices for different customers in WooCommerce