Would you like to offer your customers different prices according to their user role? In this article I’ll show you how to set prices by user role in WooCommerce in three easy steps.
Use the menu below to skip directly to the section you need:
- Setting prices by user role in WooCommerce
- What are WordPress user roles?
- Why set prices by user role in WooCommerce?
- How to create new user roles in WordPress
- Two easy steps to set prices by user role in WooCommerce
- Further tutorials
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.
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.
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:
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 creating members only stores in WooCommerce here.
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.
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.
You can create new user roles using the WooCommerce Members Only plugin. This plugin has a simple interface to allow you to create new roles, edit existing roles, and assign capabilities to roles.
You can also take a look at this article on automatically setting user roles after customers check out.
Okay, now let’s look at setting 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.
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.
You’ll see a list of all your site’s user roles alongside fields for the adjustment types and amounts.
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’.
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 percentage discounts in WooCommerce in this article.)
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.
As with the global settings, you’ll see a list of each role with fields to set the adjustment type and amount for each.
Respecting sale prices
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: