Did you know, 83% of shoppers crave personalized deals?
Yet most stores treat everyone like strangers at a party. 🥴 Awkward.
What if you could whisper, “Psst… this price is just for YOU” to loyal customers or bulk buyers? Meet role-based pricing: your VIP pass to happier customers and fatter margins.
What is Role-Based Pricing?
Role-based pricing assigns unique prices or discounts to WooCommerce user roles (e.g., Wholesale, Members, VIPs). It turns generic pricing into tailored experiences—perfect for B2B, loyalty programs, or exclusives.
Now, the question is how to offer role based pricing in WooCommerce?
To offer role-based pricing in WooCommerce, configure user roles, then use a plugin to create rules. For example, configure rules like “20% off for Wholesale roles” or custom pricing for VIP members. Tools like Disco plugin simplify this with built-in role-based features (even in free versions) and automate the discount implementation process.
Below, we’ll explore methods to set up role-based pricing, optimize rules, and explore best practices—so your store speaks directly to shoppers hungry for personalized deals.
Table of Contents
Understanding User Roles in WooCommerce
Think of user roles as nametags for your customers. They tell your store who’s who—like separating regular shoppers from VIPs. Let’s break it down:
1. Default WooCommerce User Roles
WooCommerce comes with basic roles out of the box:
- Customer: The average shopper. They see standard prices.
- Shop Manager: Handles orders and products—but no special pricing powers.
- Administrator: Runs the whole store (but not ideal for custom pricing).
The Catch: Default roles don’t let you set unique prices for different groups. Want to charge wholesalers less? You’ll need custom roles.
2. Creating Custom User Roles
Why bother? Imagine offering:
- “Wholesale Buyer” roles for bulk discounts.
- “Gold Member” roles for exclusive deals.
How to Create Them:

- Plugins: Use free tools like User Role Editor / Members (no coding). Just name your role, set permissions, and done.
- Code: For developers, a few PHP snippets can add roles.
Pro Tip: Always test new roles with a plugin like User Switching to avoid surprises.
How to Offer Role Based Pricing in WooCommerce?
The built-in WooCommerce coupon tool is handy for creating basic discount offers. However, it doesn’t have advanced features like WooCommerce role based pricing.
You have two options to set up WooCommerce customer-specific pricing.
- Using a Dedicated WooCommerce Discount Plugin
- Using Custom Codes
Your best choice is using a WooCommerce dynamic pricing plugin. Plugins are way safer and easier to use.
For this guide, we have picked a role based pricing for WooCommerce free plugin called Disco. This plugin is incredibly powerful and offers features you would only find on a paid premium plugin.
Disco brings role‑based pricing to WooCommerce without the usual complexity. In just a few clicks you can create special price rules for wholesalers, VIP customers, or any custom role—even combine them with bulk or cart‑level conditions using Disco condition filters.

The interface is user-friendly and straightforward, so there’s no steep learning curve, and because Disco is lightweight, it won’t slow down your store. Best of all, the core features are completely free, which gives you premium‑grade flexibility without the price tag.
Let us walk you through how to offer role based pricing in WooCommerce using Disco.
- Example Scenario: “20% Off On All Products For ‘Wholesale’ Members Only”
Step 1: Install The WooCommerce Discount Plugin Disco
- From the WordPress admin panel, navigate to Plugins >> Add New.
- Search for ‘Disco.’

- Install and activate the plugin
Step 2: Create a New Discount Rule
Disco generates its dedicated menu in the admin panel.
- Go to Disco >> Create a New discount button and hit it.

- Enter a name for your user role discount for WooCommerce campaign.
- Select the Product discount intent.

Step 3: Configure Discount Rule Settings
- Select the All Products option from the Discount section.

- From the Discount Type dropdown, select the Percentage Discount option.

- Type in your value in the Discount Value box.
Optional: You can also set discount expiry dates from the Valid Between fields.
Step 4: Set WooCommerce User Role Discount Condition
- Click the Add Condition button.

- Select the User Role filter.

- Type in or scroll and select your target user role ‘Wholesale’.

Step 5: Save and Test the Discounts
- Click the Save button to publish the WooCommerce wholesale pricing by user role discount.
- Log in from a demo Wholesale member’s account, and you will notice Disco is displaying the discounted amount on product pages automatically.

This is how to set up user role discounts in WooCommerce.
Note that you won’t see the discounted amount from any other member’s account or even from your admin account. To test the rule, you must log in from the target user role account.
This is one of the common WooCommerce discount rule not applying issues you need to be aware of.
Exploring Different WooCommerce User Role Discount Strategies
WooCommerce discount based on user role rescues you from offering those boring, generic discounts that all your competitors offer. User-specific discounts help you target your returning customers with personalized deals, resulting in higher conversions and deeper customer loyalty.
Below, we’ll explore actionable strategies—from bulk discounts to seasonal perks—that align with your goals. Let’s dive in.
Strategy 1: Exclusive Deals for Membership Roles
Example:
- 10% Off on All Products for Elite Members
- 15% Off on All Products for Gold Members
- 20% Off on All Products for Platinum Members
User roles discounts serve best for WooCommerce membership sites. You can offer tier-based discounts to encourage customers to upgrade to higher tiers.
Overall, membership discounts foster loyalty and make paid subscriptions feel worthwhile.
Why Use This?
- Increases subscription signups.
- Reduces cart abandonment for members.
- Creates exclusivity without complex coding.
How to Offer Role Based Pricing in WooCommerce for Membership Tiers?
To set up this type of WooCommerce discount by user role, you will need to create three separate rules. No worries; Disco makes it incredibly easy as well. Let’s start with the first rule for Elite members.
- After creating a new rule, name it “Elite Members Get 10% Off All.”

- Select the Product intent and All Products from the top.
- Set the percentage value.

- Add the User Role condition.

- Select the Elite user role and save the discount.
- Go to the Disco dashboard and select the discount rule we just created.

- Click on the Settings icon and click on Duplicate twice. This will create duplicate discount rules with the same settings. All you need to do now is edit the name, percentage value, and user role.

- Go and edit one of the duplicate discount rules for Gold members.

- And edit the last one for Platinum members.

- Now, all your different subscribed members can enjoy the discounts based on their current plan. You should also set expiry dates to allure customers to upgrade before the deal ends.
Strategy 2: Bulk Discounts for Specific User Roles
Example: Offer increasing discounts for a “Wholesale” role. –
- Buy 2-5 Items: Get 5% Off
- Buy 6-10 Items: Get 10% Off
- Buy 11+ Items: Get 20% Off
Bulk discounts reward customers who buy more, encouraging larger orders while protecting margins.
Why Use This?
- Boosts average order value.
- Simplifies negotiations with B2B clients.
- Automates volume-based pricing without manual quotes.
How to Offer Role Based Pricing in WooCommerce for Bulk Purchases?
To create the above custom user role pricing for WooCommerce example, follow these steps.
- Select the Bulk discount intent after creating a new rule.

- Specify the products or select All Products.
- As per the above example strategy, enter 2 in the Minimum and 5 in the Maximum Quantity boxes.

- Select the Percentage option and set the value.
- Click the Add More button twice to add 2 more rows.
- Set the values accordingly. Keep the last maximum field empty so it can count as unlimited.

- Add the User Role and condition, and set the target role.

- Save and test from a ‘Wholesale’ customers account.

- Here’s what the cart page will return for 6-10 products.

- And finally, for 11 or more products –

Strategy 3: Seasonal Discounts for Specific Roles
- Example: Offer “Platinum Members” a 48-hour flash sale with an extra 15% off already discounted holiday items.
The holiday season is often considered the Holy Grail for online store owners, frequently covering up to 50% of their annual sales. This makes it the perfect time for strategically offering discounts to capture customer attention and drive significant revenue effectively.
Capitalizing on the holiday season’s significance, consider implementing time-sensitive flash sales exclusively for specific user roles. This strategy combines the urgency of a limited-time promotion with the personalized appeal of role-based pricing.
Why Use This?
- Combines the urgency of flash sales with the personalized appeal of role-based discounts.
- Rewards valuable customer segments, like Platinum Members, fostering loyalty.
- Drives immediate action through time-sensitive offers, encouraging quicker purchases.
- Strategically discounts during high-traffic periods to potentially increase overall revenue.
How to Offer Role Based Pricing in WooCommerce for Limited Time?
To create such WooCommerce discount for user role, follow these steps.
- Select the Product intent and specify the products.

- Use the Valid Between fields to set the discount validity period. Start by selecting the start date and time.

- Select and set the end date and time for the rule.

- Set the percentage value and user role from the respective fields.

- Disco will automatically activate and end the campaign as per your settings.
Strategy 4: Free Shipping for Targeted Roles
- Example: Offer “Gold Members” free shipping on all orders, while regular customers pay standard rates.
Free shipping is a powerful incentive, especially for high-value customers. By tying it to user roles, you reward loyalty without sacrificing margins on smaller orders.
Why Use This?
- Reduces cart abandonment for premium customers.
- Encourages repeat purchases from loyal audiences.
- Compete with larger retailers without slashing product prices.
How to Set Up Free Shipping Discounts for Specific User Roles in WooCommerce?
Setting a Free Shipping discount is pretty straightforward using the WooCommerce user role based discount plugin. Here’s what you need to do.

- Create a new rule and select the Shipping option.
- Specify your target products and set the validity time.
- Select the condition User Role.
- Set the target user role and save the rule.
- Try it out from the front by logging into a Gold member’s account.
Strategy 5: Cart Condition-Based Discounts
- Example: Give “Wholesale” roles 30% off if their cart total exceeds $500.
Cart condition discounts let you set rules like “Spend X, Save Y” for specific roles. It’s a flexible way to upsell while keeping discounts strategic.
Why Use This?
- Drives larger orders from high-potential buyers.
- Combines role targeting with cart value triggers.
- Automates promotions without manual oversight.
How to Offer Role Based Pricing in WooCommerce Based on Cart Condition?
Disco supports adding multiple conditions using AND/OR logics. This time, we will add two conditions and apply AND logic.
Here’s how to create such WooCommerce user role based discounts.
- Create a new rule and select the Cart discount intent.

- Specify the products and set the percentage value.
- Add and set the User Role condition.

- Click the Add Another Condition button.
- Add the Cart Subtotal condition along with AND logic.

- Select the Greater Than Or Equal operator and set the value.

- Save and test from the front.

Strategy 6: BOGO (Buy One, Get One) Deals
- Example: Let “Elite” members buy one laptop, get one mouse for free.
BOGO deals create urgency and perceived value. Assigning them to roles ensures only eligible groups (like students) can access time-sensitive offers.
Why Use This?
- Clears inventory while rewarding specific groups.
- Attracts deal-focused shoppers to your niche.
- Works seamlessly for seasonal or limited-time campaigns.
How to Set up BOGO Discounts for Specific User Roles in WooCommerce?
BOGO is a premium feature of Disco, only available on the Pro version. To create the above WooCommerce discount per user role example, follow these steps.
- Select the BOGO intent and select the Few Products option from the top.

- Search and select the target laptop product.

- From the BOGO Type dropdown, select the Buy X Get Y option.
- Enter 1 in the Minimum Quantity and Get Quantity boxes.

- Select Free Items as the discount type.
- Search and select the Mouse you want to give away for free.

- Add and set the User Role condition.

- Save and test the discount from the target user role account.

How to Offer Role-Based Pricing in WooCommerce Without a Plugin
Role-based pricing allows you to set unique prices or discounts for specific user roles (like Silver, Gold, or Platinum members). While plugins simplify this, custom coding is a free alternative for advanced users.
Below is a step-by-step method using code snippets.
Step 1: Create User Roles
First, define user roles (e.g., Silver, Gold, Platinum) if they don’t exist.
- Use a plugin like Members to create roles.
- Assign customers to these roles manually or via membership plugins.
Step 2: Backup Your Website
Editing code can break your site. Always:
- Backup your site using a plugin like UpdraftPlus.
- Use a child theme (recommended) to avoid losing changes during theme updates.
Step 3: Add Custom Code
Go to Appearance >> Theme File Editor >> Functions.php.

Add this code to your theme’s functions.php file:

// Apply discounts based on user roles
add_action('woocommerce_cart_calculate_fees', 'apply_role_discounts', 20, 1);
function apply_role_discounts($cart) {
if (is_admin() && !defined('DOING_AJAX')) return;
$user = wp_get_current_user();
// Silver Members: 10% Discount
if (in_array('silver', (array) $user->roles)) {
$discount = $cart->subtotal * 0.10;
$cart->add_fee('Silver Discount', -$discount);
}
// Gold Members: 20% Discount
elseif (in_array('gold', (array) $user->roles)) {
$discount = $cart->subtotal * 0.20;
$cart->add_fee('Gold Discount', -$discount);
}
// Platinum Members: 30% Discount
elseif (in_array('platinum', (array) $user->roles)) {
$discount = $cart->subtotal * 0.30;
$cart->add_fee('Platinum Discount', -$discount);
}
}
What This Code Does:
- Checks the user’s role when they view their cart.
- Applies discounts as negative fees (e.g., 10% off for Silver members).
- Works automatically for logged-in users.
Step 4: Test the Discounts
- Create test accounts for each role (Silver, Gold, Platinum).
- Log in as a test user, add products to the cart, and check if the discount appears.

- Verify each role sees the correct discount (e.g., 20% for Gold).
Important Notes
- Backup First: Always test on a staging site or after a full backup.
- Tax Settings: Ensure discounts align with your tax setup (prices inclusive/exclusive of tax).
- Code Errors: A single typo can break your site. Double-check brackets and commas.
Best Practices for Offering Role-Based Pricing
To make role-based pricing work smoothly for your store and customers, follow these guidelines:
1. Clearly Explain Pricing Tiers
Tell customers how to access special prices. For example:
- “Register for a free account to unlock member discounts.”
- “Log in to view your exclusive pricing.
Why this matters:
- Reduces confusion and support requests.
- Builds trust through transparency.
- Encourages signups for discounted roles.
2. Simplify the User Experience
Ensure customers easily see their role-specific prices.
- Show discounts directly on product pages (e.g., “VIP Price: $45”).
- Add a banner or profile message explaining their benefits.
Why this matters:
- Avoids frustration from hidden or unclear pricing.
- Increases conversions by making deals visible upfront.
3. Set Minimum Purchase Rules (If Needed)
For bulk or wholesale roles, set a minimum order size.
- Example: “Wholesale pricing unlocks after 50+ units.”
Why this matters:
- Protects margins on small orders.
- Motivates larger purchases to qualify for discounts.
4. Update Pricing Regularly
Review pricing tiers every 3–6 months. Check:
- Are discounts still profitable?
- Do roles align with current customer needs?
Why this matters:
- Adapts to market changes or cost shifts.
- Keeps promotions fresh and relevant.
5. Test Everything Before Launch
Verify that discounts work for all roles and scenarios:
- Create test accounts for each role (Silver, Gold, etc.).
- Check discounts on mobile, desktop, and logged-in/logged-out views.
Why this matters:
- Prevents technical errors that could lose sales.
- Ensures a consistent experience across devices.
By focusing on clarity, ease, and regular checks, you’ll turn role-based pricing into a tool that delights customers and grows your business.
Wrap Up
So, as you can see, figuring out how to offer role based pricing in WooCommerce opens up some really smart ways to connect with different kinds of customers. It’s not just about slapping a discount on everything; it’s about making the right offer to the right people at the right time.
Whether you’re rewarding loyal fans or giving your wholesale partners a better deal, this approach can be a game-changer for building stronger relationships and boosting your bottom line. With the right tools and a clear strategy, you can really tailor your WooCommerce store to work smarter for you and your diverse customer base.