How to set WooCommerce role-based pricing [+ video]

WooCommerce role-based pricing featured graphic

WooCommerce is packed with loads of great features but it doesn’t have any role-based pricing functionality. If you’d like to charge prices based on user role, you’ll need an extra plugin.

That’s where WooCommerce Dynamic Pricing and Discount Rules comes in. In this article we’ll show you how to use the Fees and Discounts plugin to set role-based pricing in WooCommerce. We’ll look at:

  • How to set user roles – then assign different prices to each role
  • Setting user role prices globally, by category, and by product
  • Different options for display role-based prices on the front end
  • How to exclude certain user roles from pricing rules
  • Options with shipping and payment gateways

WooCommerce role-based pricing plugin

Dynamic Pricing and Discount Rules is a powerful, easy-to-use role-based pricing plugin for WooCommerce. It’s designed to help you charge different prices for your products to different users.

WooCommerce Fees and Discounts featured image

WooCommerce Dynamic Pricing and Discount Rules

Create role-based pricing for WooCommerce

Find Out More

Read on for how to use this plugin to set product prices by user roles in WooCommerce. There’s also a short video tutorial on the same topic.

How does role-based pricing in WooCommerce work?

A core feature within WordPress is user roles, which mean that you can allow each logged-in user to perform different actions or tasks on your site. There’s a detailed guide on user roles in WooCommerce here.

This can have specific applications in your WooCommerce store. For instance, you can assign some of your users with a ‘Wholesale’ role and others with the ‘Retail’ role.

Using role-based pricing, you can charge these two groups of users different prices for the same products. So you can give your wholesale customers discounts that aren’t available to retail customers. You could even give retail customers different pricing from users who’ve never purchased anything from you.

We’ll look at several methods for how to change the product price based on the user role. You can pick the ones that suit your site’s needs best.

Using the WooCommerce Dynamic Pricing and Discount Rules plugin to set role-based pricing

Dynamic Pricing and Discount Rules is a powerful and flexible plugin for creating discounts based on user role in WooCommerce. In this section we’ll look at how easy it is to set up all kinds of role-based pricing.

Creating your user roles

By default, WooCommerce will assign the ‘Customer’ role to any user who makes a purchase from your site. So if you just want to set prices for users who’ve made previous purchases, you can use the ‘Customer’ user role.

However, you might want to create additional user roles. There are a couple of different options:

  • The User Role Editor plugin is free and has all the features you need for creating new user roles for your WooCommerce store
  • If you need more functionality, including the ability to restrict access or hide prices from certain user roles, you can use our WooCommerce Members Only plugin.
WooCommerce Members Only featured image

WooCommerce Members Only

Create user roles in WooCommerce

Find Out More

Types of pricing rule

Once you’ve got your user roles set up, you can decide what kind of pricing rule you’d like to apply. Dynamic Pricing and Discount Rules has several options:

  • Global percentage or fixed discounts (or fees) per user role
  • Simple discounts (or fees) that can be applied to specific user roles
  • More complex rules, like bulk or tiered pricing, that discount prices based on the quantity purchased
  • Discounts based on the amount spent
  • Buy One Get One Free style offers

We’ll look at all these below.

Creating global role-based pricing in WooCommerce

The simplest form of role-based pricing in WooCommerce is to apply a global discount or fee for one or more roles. For example, you could offer a 10% discount for existing customers by reducing the price on all products for users with the ‘Customer’ role.

To create a global role-based discount in Dynamic Pricing and Discount Rules:

  • Go to WooCommerce > Settings > Fees and Discounts > User Role Pricing
  • Select an ‘Adjustment’ for each role where you’d like to modify the pricing. You can choose from ‘Fixed Discount’, ‘Fixed Fee’, ‘Percentage Discount’ and ‘Percentage Fee’
  • Set the amount of the adjustment. So, if you chose ‘Percentage Discount’ for the adjustment type and you enter 10 in the ‘Amount’, the pricing for all products for that user role will be discounted by 10%
Global role-based pricing setting in WooCommerce

This is by far the easiest way to set global role-based pricing in WooCommerce.

Creating a role-based pricing rule

Setting global role-based discounts or fees on certain user roles is useful – but you may want to create slightly more complex pricing rules.

Dynamic Pricing and Discount Rules allows you to create multiple pricing rules – so you could create one pricing rule for ‘Gold’ customers, a different rule for ‘Silver’ customers and so on.

To create a new role-based pricing rule:

  • Go to WooCommerce > Fees and Discounts and click ‘Add New’
  • Choose the ‘Rule’ type. The options are:
    • Simple: apply a simple percentage or fixed discount or fee to some or all products
    • Bulk pricing: create quantity-based discounts where you offer discounts depending on how many items the user purchases
    • Tiered pricing: set exact product prices for different quantities
    • BXGX: use this rule type to create ‘Buy One Get One Free’ style offers
    • BXGY: use this rule type for ‘Buy Two of Product X and Get a Deal on Product Y’
    • Discount on spend: apply discounts based on the amount the user is spending on certain products
    • Cart total: apply discounts based on the total value of the cart
  • Enter a ‘Label’ – this can be used as a sales flash to promote your pricing rule to qualified users
  • In the ‘Status’ field, choose from ‘Active’, ‘Paused’ or ‘Scheduled’. The ‘Scheduled’ option allows you to start and stop role-based pricing rules in the future
  • In the ‘Applies to’ field, choose from ‘All items’, ‘Specific categories’ or ‘Specific products’. We’ll look at these options further below
  • In the ‘Roles’ setting, choose which role(s) the pricing rule should apply to
  • In the ‘Exclude roles’ setting, you can optionally specify some roles that should be excluded from the rule. We’ll look at this in more detail further below
  • In the ‘Tiers’ section, you can create any quantity-based discounts. In the example settings below, we have a bulk pricing rule for our ‘Gold’ user roles that offers them progressively better discounts the more items they purchase
WooCommerce role-based pricing rule

Creating role-based pricing by product category

If we want to apply role-based pricing to just certain categories, we can do so by updating the ‘Applies to’ field to ‘Specific categories’. Then, we can apply any of the discount types above to specific categories and specific user roles.

In the example below, our bulk discount will be for ‘Gold’ users and only apply for items in the ‘Clothing’ category.

Role-based pricing rule by category

You can create as many of these rules as you like. So you could create different discounts for different categories – and for different user roles.

Excluding roles from pricing rules

Instead of creating a rule and applying it for certain user roles, you might want to exclude certain user roles. For instance, you could create a 10% discount on your site for all users – except your ‘Wholesale’ customers.

To exclude a role from a pricing rule, just select in the ‘Exclude roles’ field. You can exclude as many roles as you like from each rule.

Exclude roles from pricing rule

Setting exact role-based prices for individual products or variations

Pricing rules work great when you have multiple products where you need to apply role-based pricing. But you might need more granular control than that.

Dynamic Pricing and Discount Rules allows you to set exact role-based prices for individual products and variations. So you might have a product that has a regular cost of $20 but you want to offer it to your ‘Gold’ customers for only $18.

You can do that by selecting which roles will have their own unique prices in WooCommerce > Settings > Fees and Discounts > User Role Pricing.

Role based prices x.jpg

Then, when you edit a product, you’ll see additional fields to enter unique prices for the selected roles. You can leave a field blank to use the regular price for that role.

Exact role-based prices for each product

In the example above, the standard price is $20 but users with the role ‘Customer’ will be able to purchase the product for $19. And ‘Gold’ users will be able to purchase it for $18.

Setting exact role-based prices for variations

To do the same for variations, you need to enable the option for ‘Role-based prices for variations’.

Role-based prices for variations setting

Then you can enter the exact role-based price for each variation of a product. Leave a field blank to use the default variation price.

Variation role-based pricing fields

Displaying discounts on the front end

Depending on the type of pricing rule you’re using, you have several options for how to display your role-based pricing on the front end.

  • Display the current user’s price only: this way, the user only sees the price for their user role. They don’t necessarily know that other pricing is available.
Example showing single price only
  • Display the original price and the current role-based price: if you’d like to show your user that they’re getting a discount, you can display the regular price with a strikethrough and the discounted role-based price.
Discounted price with strikethrough
  • Display price range: this option works if you have quantity-based or tiered pricing. You can show the user the full range of pricing – from lowest to highest.
Bulk pricing price range
  • Display the full list of role-based pricing: finally, you can – if you wish – display a list of all role-based pricing for each product. This might be helpful if you want your users to know what kind of discount they’re getting – or could get – compared to other users.
List of all role-based pricing for single product

See this article for more information on displaying multiple prices in WooCommerce.

WooCommerce role-based pricing video

Check out the video below for how to set role-based prices in WooCommerce.

Role-based pricing may be only one part of the puzzle for your WooCommerce store. Here’s a list of related articles:

WooCommerce role-based pricing FAQs

What is role-based pricing?

Role-based pricing allows you to set different prices for different user roles and customers. You can assign prices as a global discount, by product category, or assign exact role-based prices to individual products and variations.

How to set up WooCommerce group pricing

You can create pricing rules and assign them to a 'group' or user role(s). You can use the User Roles Editor or Members Only plugins to create new user roles - then assign pricing rules to groups of one or more roles.

How do I set a custom price in WooCommerce?

If you are creating role-based pricing for your WooCommerce store, you can set a custom price in a couple of different ways:

  • Create a new rule at WooCommerce > Fees and Discounts
  • Enter exact prices for products or variations in the product edit screen

You can find out more from this article on how to set custom prices in WooCommerce.

Start setting role-based pricing in WooCommerce now

WooCommerce Dynamic Pricing and Discount Rules is the perfect plugin to start creating role-based pricing rules in WooCommerce. It’s compatible with all themes and backed by our 14 day money-back guarantee.

WooCommerce Fees and Discounts featured image

WooCommerce Dynamic Pricing and Discount Rules

Create role-based pricing for WooCommerce now

Find Out More

Leave a Reply

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