How to set different prices for different customers in WooCommerce

WooCommerce different prices for different customers featured graphic

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 Fees and Discounts featured image

WooCommerce Dynamic Pricing and Discount Rules

Set different prices for different customers in WooCommerce

Find Out More

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’.
Plugin file upload area

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
WooCommerce enable role-based pricing
  • 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
WooCommerce different prices for different customers field settings

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
WooCommerce existing customer price

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
Display each role price option

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

Display different prices for different customers on the front end

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
Global discounts for different user roles

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
WooCommerce percentage discount for different users

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
Fixed discount setting

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 Fees and Discounts featured image

WooCommerce Dynamic Pricing and Discount Rules

Set different prices for different customers in WooCommerce

Find Out More


Leave a Reply

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