
B2C WooCommerce stores can also have a B2B section. Wholesalers can offer different prices based on different criteria. Subscription stores can offer lower prices to current members.
Either way, setting different WooCommerce prices for different users (“based on user role”) is not that difficult. All you need is a plugin (or a stack of plugins, depending on your custom requirements), and you can immediately show different prices if the logged in user has a specific role or “capability”, as well as targeting active memberships, active subscriptions or other criteria.
If you want to learn more about user roles and capabilities, I suggest to take a look at the WordPress documentation: https://codex.wordpress.org/Roles_and_Capabilities – you’ll know WordPress has 6 default roles (administrator, editor, etc.) and that WooCommerce adds another one (customer). Other plugins can set additional roles – for example https://wordpress.org/plugins/members/ by Justin Tadlock, a very popular WordPress developer.
So, while “targeting” user roles is quite easy, the only difficult part is to choose the right “user role based pricing” product. As usual, when picking a plugin, you always need to consider its functionalities as well as the quality of its support team, long-term reliability, code cleanliness, frequent updates and total number of sales.
Today, we’ll take a look at the plugins I recommend, together with their pros and cons. If you use different stacks or custom functionalities, feel free to interact via the comments.
1. YITH WooCommerce Role Based Price
Now that you’ve chosen to assign different prices to a certain user role, with this plugin you can do even more than that. There are also nice third party plugin integrations (such as currency switchers).
Here are some of the best functionalities offered by YITH WooCommerce Role Based Price:
- Edit price (percentage or amount) for a single product, product category or product tag, based on user role
- Apply different pricing to either regular or sale amount
- Toggle visibility of Add to Cart button, price, role based price, based on user role
- Show/hide product price tax depending on user role
- Works with variable products
- Works with Currency Switcher for WooCommerce by Aelia
Typical scenarios:
- 10% off to all customers with user role “wholesaler”
- $20 off (category “wholesale”) to all customers with user role “resellers”
- Hide product prices unless logged in (wholesale shop only)


2. YayPricing – WooCommerce Dynamic Pricing & Discounts
To enhance your dynamic pricing based on user roles, you can use YayPricing to run advanced promotion campaigns on your WooCommerce store.
It allows you to specify user roles, and also add further Any/All conditions to tailor the discounts. For example, the customer has to be a “VIP Customer” and use the payment method as “Direct bank transfer” to enjoy the discount.
Not only user role based discounts, YayPricing also helps you quickly add discounts based on customer purchase history.
- Customer order count: Used for first-time order discount, 10th-order discount, or loyalty rewards.
- Past orders’ product/category: Give a discount if the customer has bought items from your specified products/categories.
- Order history’s purchase date: You can set a discount applied to those who are early birds or have bought in a custom date range.
Exclusively, YayPricing allows you to display custom notice only to those user roles that match the conditions.
With YayPricing, you can add dynamic messages with variables, rich text, and images to the product page. This is super helpful to let your customers know which products are offering sales.
You can add user role conditions to other types of WooCommerce dynamic pricing rules as in these scenarios:
- WooCommerce BOGO for Loyal Customers
- Buy X Get Y, Bulk Pricing, and Conditional Discounts
- Free Shipping for Specific User Roles
3. WooCommerce Dynamic Pricing
Dynamic Pricing by WooCommerce can not only be used to change the pricing of target user roles – it can also do bulk discounts (based on quantities). Here’s the reason of its cost – when you have different prices or discounts for wholesalers, you usually also want to give bulk discounts (e.g. buy 5 get 10% off) to all users.
This plugin has the following functionalities:
- Edit price (percentage or amount) for a single product or product category, based on user role and/or product quantity and/or cart total
- Works with variable, composite, grouped, etc. products
- Integrates with other WooCommerce.com plugins
Typical scenarios:
- 10% off to all customers with user role “wholesaler”
- $20 off (category “wholesale”) to all customers with user role “resellers”
- 5% off when a customer buys 5 items or more
- 10% discount to all items in the “chairs” category
- $10 off if cart total > $100
- Buy product X, get 5% product Y



4. WISDM Customer Specific Pricing
This product allows you to quickly set different pricing by user role – and you can even define a custom group of products this applies to.
Besides, you can define dynamic pricing by WooCommerce product category, bulk pricing (price changes based on purchased quantity), run B.O.G.O. campaigns and also quickly bulk edit prices with a nice price dashboard.
Discounts can be set as a fixed amount or price percentage.
Here are some interesting screenshots:


Hi, I definitely recommend the first option. YITH WooCommerce Role Based Price by YITH – I use this plugin on multiple websites and couldn’t be happier 🙂
Thanks for your feedback
Hi, R!
This can be applied on purchase, but what about applying a discount to all current members automatically.
I’d like, for example to give a free month subscription to my current subscriptors to celebrate Christmas or something like that. And the following month will be normal price subscription.
Any idea about doing that?
Thanks in advance.
Hi Teresa, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
I am trying to find a simple way to have one price for customer role and 1 price for Dealer role that is a fixed price using the standard regular and sale price fields. So customer gets regular price and dealer gets sale price. I have like o12 pricing plugins and none can see the regular and sale price as a field and non can do fixed price. They all do formula percentage fixed discount etc.. but not 39 for customer and 25 for dealer using regular fields.
Hi Mark, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
The third option does offer the fix price function for different roles since I have installed it recently.
Great!
how to set special price for product+role (not discount or markup but different price which not concern to main price) ?
Hi Rus, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hello, I have this problem.
I have a product that belongs to two categories: XX and YY. I would like who consult the XX category see the full price, while who consult the YY category (password protected only for bestbuyers) see the sale price. The different price must be set for each product (not for the whole category) and not for user roles.
Hello Michele, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hey there!
Is it possible to set a price according to a custom UserMeta? ex:(isDoctor). ?
Hello Robert, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hello..
I have a question, I have an App linked with an API with my woo-commerce …Can you make this app work with my woo-commerce app?
Respectfully Yours,
Hi Waleed, impossible to know until you run some tests!
Hi Rodolfo,
I want to setup a Woocommerce powered store in such a way that I can specify different prices for normal users, retailers and wholesalers.
Is that possible?
Yes!
Hi,
None of these plugins work as our members have 2 roles – Subscriber (default WP) and Member (added by the User Role Editor plugin) if they’re a member (set up by the MemberPress plugin).
These plugins only seem to recognise whatever is the first role.
A snippet for the member role pricing for categories would probably work? We only have a couple of categories and the pricing is exactly the same in each category.
Have you seen a snippet like this?
Cheers
Hi Keely, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hello,
I want to offer members discounted prices. Is it possible to display two prices for each item for users not logged in?
Ex:
Non-Member Price: $20
Member Price: $18
Specific roles will only see the member price when logged in and will see that price for the product when added to the cart. All other users will see both prices and charged the non-member price for the product when added to the cart unless they join while or before completing their purchase.
Hello Rodney, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hello, do you know if there is a way to show a different pricing based on a page? For example if page x shows 10 dollars I want page y to show 14 dollars.
Hello Nick, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
these solutions work well indeed.
I use also in one of my project where i need prices based on users roles
– WooCommerce Role Based Pricing Pro (https://codecanyon.net/item/woocommerce-role-based-pricing-pro/14120734)
it integrate very well with wp all import
– Product Visibility by User Role for WooCommerce Pro (https://wpfactory.com/item/product-visibility-by-user-role-for-woocommerce/)
Need to hide some products or some categories based on the role
Thanks for your feedback Mike!