What should a wholesale buyer see that a regular shopper doesn’t? In WooCommerce the answer has to live on their account, because the store only knows who someone is after they sign in.
WooCommerce role-based pricing gives different prices to different user roles: 15% off for Wholesale accounts, say, while everybody else pays full price. Under the hood it’s an ordinary discount with a User Role condition attached. The discount is the easy part. The real work is deciding who qualifies, how approval happens, and what trade buyers see before logging in.
Roles come first
Think of a role as a label stored on each WordPress user. WooCommerce adds two of its own: Customer, created when someone registers at checkout or signs up, and Shop Manager for staff (WooCommerce roles documentation). Wholesale or VIP doesn’t exist until you create it, usually with a role-editor plugin.
Three consequences matter more than any discount setting:
- Guests carry no role. Visitors who aren’t logged in see regular prices, so trade buyers need an account and must sign in before anything changes.
- Someone assigns it. Accounts created at checkout or through sign-up get the Customer role. Promoting one to Wholesale happens manually under Users, or through a registration plugin, and that step is where you confirm the buyer is genuine.
- Tiers need boundaries. Decide early whether VIP and Wholesale may overlap on the same person or whether everybody belongs to exactly one group.
Set up WooCommerce role-based pricing in Disco
Role conditions cost nothing in Disco, along with logged-in versus guest and specific-customer conditions. A 15% wholesale rate looks like this:
- Open Disco and start a new campaign. Name it and choose Product as its type.
- Under the product filter, select All Products, or narrow it to items trade buyers should get cheaper.
- In Product Rules, set Percentage Discount and enter 15.
- Click Add Condition, choose User Role, set In List, and pick Wholesale.
- Save, sign in as a test account holding that role, then check a product page and the cart.

The screenshot shows the same setup at 30% for the Subscriber role. Repeat the check from a second login without the role. If that shopper also gets the lower figure, the condition sits on some other campaign.
Role pricing is a discount, not a second price list
Disco expresses every role price as a reduction from the regular one: a percentage, a fixed amount, or a fixed amount per cart item. There’s no field for typing “$8 for Wholesale” as its own price. If your trade sheet says $8 on a $12 item, enter $4 off for that product, or use a percentage when wholesale prices follow one ratio.
A different rate for each group means a separate campaign for each. When somebody qualifies for two on the same item, a store-wide setting picks either the lowest or the highest discount. Product campaigns never add together, so 10% VIP plus 15% Wholesale never becomes 25%.
Combine a role with other conditions
Conditions belong to the campaign, so the same check can sit in each campaign below.
| Offer | How it’s built | Plan |
|---|---|---|
| Wholesale price ladder | Bulk campaign + User Role | Free |
| VIP threshold | Cart campaign + User Role + Cart Subtotal | Free |
| Members’ free shipping | Free-shipping campaign + User Role | Free |
| Category sale for one role | Product campaign + Categories + User Role | Free |
| Wholesale BOGO | BOGO campaign + User Role | Pro |
| First order for new members | Customer-history condition | Pro |
Bulk tiers apply to every unit on the line: twelve units at a “10+ = 10%” tier all get 10% off. Free-shipping campaigns add a $0 rate to the whole order once the shopper qualifies, listed beside your other rates.
Tier mechanics are covered in WooCommerce bulk discounts; pairing a role with a department is in the category discount guide.
Before touching settings, list each role and how an account earns it. Then build, and test from one login inside the role and one outside. Get Disco free for role conditions, or see Disco Pro pricing for BOGO and order-history rules.
Related guide: How to Set Up WooCommerce Pricing by Location (Step-by-Step Guide)
FAQ
Is role-based pricing free in Disco?
Yes. Role, logged-in versus guest and specific-customer conditions work in the free plugin; BOGO and order-history rules need Pro.
Can guests see wholesale prices?
No. A guest has no role, so they see regular prices until they log in to an account with the wholesale role.
Can different roles get different rates?
Yes, through separate campaigns, such as 15% for Wholesale and 10% for VIP. Where someone qualifies twice, the lowest-or-highest setting decides.

