How to Set Multiple Prices Per Product in WooCommerce

If you purchase through a link on our site, we may earn a commission. Learn more.

Learn how to set multiple prices per product in WooCommerce with this step-by-step guide. Create attributes & product variations, assign unique prices to those variations, and even offer special pricing for wholesale and/or membership customers.
Table of Contents
WP Engine High Performance Hosting
BionicWP Hosting

Ever wondered how to add multiple prices to a single product in WooCommerce? Whether you want to charge different prices for various colors, sizes, or other variations of a product, WooCommerce can do it all, both with and without additional plugins. This is particularly beneficial for eCommerce shops that offer diverse product variations and want to tailor pricing to match the uniqueness of each option.

This article will look at some of the reasons why you might want to offer different prices, various ways to set them up, and even some bonus tips on displaying those prices to your customers in unique ways. We’ll also suggest a few plugins to make your product variations stand out and encourage more users to add those variations to their cart.

By the end of this article, you’ll have several ways to add multiple prices to a WooCommerce product:

  • a unique price for each product variation (color, size, etc.)
  • different prices for wholesale vs. retail
  • different prices for unique user roles (or members of a membership)

Why Set Multiple Prices Per Product in WooCommerce?

Product Variations (size, color, etc.)

It’s fairly common to have multiple versions, or variations, of the same product. Oftentimes, these variations will require unique pricing. A few examples might include:

  • T-shirts are offered in different sizes (S, M, L, XL, 2XL). You might want to charge more for XL and 2XL.
  • Wall art is offered in various sizes (5″x7″, 8″x10″, etc.). The larger the size, the higher the price.
  • Shoes are offered in multiple colors. The red version is far more popular than the white & black, so you charge a premium for it.
  • Add on a service, ebook, or other supplemental material. If you sell software, and you also offer a personalized setup of that software, you could add the setup as a variation and tack on an additional fee if they choose this option.

With WooCommerce, you can set different prices for each product variation. Each unique combination of size, color, or any other variation or add-on would get its own price.

Wholesale Pricing

You might also consider adding multiple prices per product if you offer wholesale pricing. Your wholesale customers will usually order in bulk, and add a markup when reselling the product to their customers. Offering them a better price than your retail customers is a good way to build a relationship with your resale partners and get your products into more hands.

Pricing by User Role

Do you have repeat customers who buy frequently? Do you run a loyalty program where you reward your best customers? Or perhaps you offer a membership where you provide discounts for your highest-tiered members.

With the WooCommerce Wholesale Pro plugin, you can set multiple prices for a product based on each of these scenarios. Each unique user role can pay a different price for the same product.

Alternatively, you can also use WooCommerce Discount Manager to charge different prices to different users for the same product. You can do this by restricting each discount within WooCommerce to specific users or roles, giving you all the flexibility you need.

We’ll cover all of these scenarios below, and show you the various methods for setting up multiple prices per product in WooCommerce.

Multiple Prices Per Product Variation

You can add multiple prices to a product in WooCommerce by simply using product attributes. Let me first explain the different types of attributes, how to set them up, and how attributes lead us to variations. Then we’ll discuss how to apply a separate price for each variation.

There are two main types of WooCommerce product attributes:

  • Global attributes are ones that you plan to use for more than one product on your site. For example, if you sell a bunch of different t-shirts, you’ll use S, M, L, and XL on all of your shirts. Therefore, you would set up a global attribute for Size, and make each size that you offer an attribute term.
  • Local attributes are ones that you only plan on using one time, or for very specific or unique products. Instead of setting these up globally, you create them on a product-by-product basis, only when you need them. An example could be a specific add-on service or setup fee upgrade.

Global attributes are a time saver, especially for larger shops with many products. But local attributes achieve the same thing if you are confident you’ll only need them on that specific product.

What is a Product Variation?

A variation then refers to a unique combination of product attributes. If you’re only using one attribute for a product, and that attribute has 3 possible terms, you’ll have 3 product variations. Each variation can have its unique price.

  • i.e. Color is the attribute, and its terms are black, white, and red. That equals 3 variations.

If you’re using two attributes for a product, and each attribute has 3 possible terms, you’ll have 9 product variations. And again, each variation can have its own unique price. An example would be:

  • Color is attribute 1, and its terms are black, white, and red.
  • Size is attribute 2, and its terms are small, medium, and large.

You’d have the following 9 product variations:

  • black small, black medium, black large
  • white small, white medium, white large
  • red small, red medium, red large

Before we can assign multiple prices for each of these variations, let’s create some attributes and turn them into variations.

How to Create WooCommerce Product Attributes

Let’s first look at how to create a global attribute.

  1. Navigate to Products > Attributes
  2. Give your attribute a name and a slug
  3. Optionally Enable Archives? (if you’re not sure, just leave this unchecked)
  4. Choose a Default sort order. Most people will want Custom ordering.
  5. Click Add attribute
Example of WooCommerce global attributes
The WooCommerce product attributes screen

Next, we’ll add terms to our attribute.

  1. On the right side of that screen, you’ll see a link to “Configure terms.” Click this link.
  2. Now you’ll be asked to enter a name and slug for each attribute term
  3. Click the Add new button after each term

In the example below, Color is our attribute and our terms are Red, Black, and White.

Example of WooCommerce attribute terms
How to add WooCommerce product attribute terms

Now we’re ready to use these attribute terms to create multiple prices for a single WooCommerce product.

How to Create Product Variations Based on Attributes

The attributes & variations tabs in WooCommerce
WooCommerce product data section, the attributes tab
  1. Edit the product you’d like to use variations with (or create a new product)
  2. On the product edit screen, scroll down to the Product data section
  3. Change the product type to a Variable product
  4. Click Attributes on the left

Here we have two options.

Option 1 is to use a global attribute that we already created. To do this…

  1. Click the Add existing dropdown
  2. Click on an attribute
  3. In the Value(s) box, choose which attribute terms you want to use for this product
  4. Make sure the Visible on the product page AND Used for variations boxes are checked

Option 2 is to create a new local attribute. To do this…

How to add local attributes & values in WooCommerce
How to add local attributes & values in WooCommerce
  1. Click the Add new button (right next to the Add existing dropdown)
  2. Give your attribute a name
  3. Enter the values/terms for your attribute. Separate each term with a vertical bar (|)
  4. Make sure both boxes are checked
  5. Click the Save attributes button

Turn Attributes into Variations

Once all your attributes have been created, it’s time to turn them into variations.

  1. Click on the Variations tab
  2. Click the Generate variations button
Generate variations from attributes for a WooCommerce product
How to generate variations from attributes in WooCommerce

Assign Multiple Prices to Each Variation

This is how you set multiple price variations in WooCommerce:

How to add a price for a WooCommerce product variation
  1. Navigate to the product you want to edit
  2. Scroll down to the Product data section
  3. Click on the Variations tab
  4. Click the Expand link in the top-right corner. This will open all variations.
  5. Look for the Regular price ($) field
  6. Enter a price for each variation you created
  7. You can optionally add a sale price in the field right next to it
  8. Be sure to save/update your product when you’re finished

You have now successfully added multiple prices to one product, based on the product’s variations.

WooCommerce Attribute Swatches Plugin

WooCommerce attribute swatches plugin example

If you’re okay with a dropdown menu for your product variations, the above method works just fine. However, radio buttons make a lot more sense if you only have 1 or 2 variations. And for colors, you’ll want to show color swatches instead of displaying the words “red” and “blue” in a dropdown menu. That’s where the WooCommerce Attribute Swatches plugin comes into play.

This is a premium plugin that replaces the standard WooCommerce variation dropdowns with color, image, and text swatches. You’ll help customers make decisions more quickly with more of a visual and user-friendly experience when choosing variations.

WooCommerce attribute swatches plugin example
Example of WooCommerce Attribute Swatches plugin

As the name suggests, Attribute Swatches also allows you to display your product variations in a more intuitive way. You can add:

  • Color swatches
  • Image options
  • Radio buttons
  • Text button options

These enhanced swatches are not only shown on product pages, but you can also display them on category pages and your main shop page. They can even be used in product filters.

So while WooCommerce does offer variations without a plugin, most users will want to display their variations in a variety of ways, and the WooCommerce Attribute Swatches plugin is an excellent choice to do just that.

Multiple Prices: Wholesale vs. Retail

Another reason you might want to display multiple prices in your WooCommerce shop is to give wholesale buyers a different price than your retail customers. To achieve this, we’re going to use the popular Wholesale Pro plugin by Barn2.

Once you’ve installed the WooCommerce Wholesale Pro plugin, there are 3 main ways you can assign varying pricing.

  • add a global percentage discount on all products for a particular user role
  • set category percentage discounts for a particular user role
  • set exact prices for each WooCommerce product, per user role

Before setting custom prices, you’ll first need to create a new user role. You can do all of that from within the Wholesale Pro plugin.

  1. Navigate to WooCommerce > Settings > Wholesale > Roles
  2. Click the Add new role button
  3. Add as many wholesale buyer roles as you’d like
Global percentage discount for wholesale customers

This page is also where you’d set up a global percentage discount.

To set up a discount for each product category…

  1. Navigate to Products > Categories
  2. Scroll down until you see Wholesale % discount
  3. Enter the percentage discount for each user role
WooCommerce wholesale discount for all products in a category

To set up discount prices for each product individually…

  1. Navigate to the product you’d like to set unique prices for
  2. Scroll down to Product data
  3. Click on the Variations tab
  4. Look for the user roles you created, and enter your price
Individual prices for wholesale buyers on a per product level

Multiple Prices Per User Role

To add multiple prices to a WooCommerce product or variation based on unique user roles, you would follow the same instructions that we laid out above in the Wholesale vs. Retail section. Just give your user roles an appropriate display name that makes sense for your site.

This also requires the WooCommerce Wholesale Pro plugin.

Bonus Tip: Displaying Multiple Prices

When you set up multiple prices in WooCommerce, regardless of which method you used, the default display is “lowest price – highest price,” for example:

$10.00 – $30.00

However, you might want to customize how those prices are displayed to your customers, or if they are even displayed at all. You can choose to hide the price entirely until the customer chooses a variation, and then give them the exact price for that variation.

The WooCommerce Variation Prices plugin allows you to have greater control over how your pricing is presented to the end user.

WooCommerce variation prices plugin settings
WooCommerce Variation Prices plugin settings

You can display:

  • a price range (“from X to Y”)
  • a maximum price (“up to X”)
  • list all variation prices
  • or choose a completely custom format (i.e. include tax or shipping costs)

Price Range Separator

Replace the dash between the low-high variation prices with anything you like. For example, “$50 to $100” or “$50 / $100.”

How to add custom display prices in WooCommerce
Create custom pricing ranges and variations.

Hide the Variable Product Price

Want to hide the variation price range completely? You can easily hide product prices until a variation is selected.

Example of no price shown on a WooCommerce product with variations

Keep in mind, WooCommerce Variation Prices just controls how the prices of your variable products are displayed. It does not affect the price which your customers are charged.


Can I have multiple prices for the same product in WooCommerce?
Yes. You can add multiple prices for different product variations in WooCommerce, as well as set multiple prices for different types of users based on their user role.

How do I add variations in WooCommerce?
First, you create either global or local attributes. Then, you create values for those attributes. Finally, you convert each attribute value combination into a unique variation.


As you can see, there are several ways in which you can add multiple prices to a product using WooCommerce. How you approach it depends on your exact situation. We hope this article provides you with options both with and without any additional plugins.

  • If you use color variations, we highly recommend the Attribute Swatches plugin
  • For wholesale pricing, the Wholesale Pro plugin is the best we’ve found
  • For super-simple variations of no more than 3 options, you can probably get away without any plugins

Happy selling!

Dave Warfel

Dave built his first website in 2004 and hasn’t looked back. Since discovering WordPress in 2011, Dave has developed several plugins, spoken at WordCamp, and built close to 100 WordPress sites. He has a passion for evaluating all kinds of software, and teaching it to the masses.

Discover more from our archives ↓

Popular articles ↓

10 Responses

  1. Hi, is there a way that the attributes drop can also showcase the different price either positive or negative based on currently selected option.

    For Example, check here –

    if you got to the link above, and open the drop down of processor, each of the value will consists of a difference amount dynamically appearing, showcasing the value extra value to be paid or value reduction that will happen after we switch to another choice then what is currently selected. This gives a price difference idea of increase/decrease to the buyer in an easier way.

    Currently, in your plugin, I can show the value of that attribute/variant but it doesn’t show the price impact in overall price of the final product.

    1. Hey,

      James here from Iconic. You’re right – right now the pricing isn’t dynamic in that way because the final price is not available until all options are selected.

      For example, if a variation was $40, and another was $30, we wouldn’t know that until the user selected all the attribute options.

  2. Hi
    I can’t seem to find a plugin that offers the the fee variation either. The link in the article does’nt work. Do you know what to do?

    Thank you

    1. Hi Tine, which link isn’t working for you?

      Just to confirm, do you have the WooCommerce Attribute Swatches plugin installed and activated on your website already?

      1. Hi Mark

        It’s the link for the plugin that’s not working, and I can’t seem to find any plugins that will let me add fees in that way.
        I don’t have the plugin installed. It doesn’t com up when I search for it.

        Thank you so much for replying.

        1. Hi Tine, the Attribute Swatches plugin is a premium plugin that you can purchase by clicking on this link. It will take you to its website to buy a license, and once you’ve done that you can download and install it on your website.

  3. Hi,
    In WordPress version 5.9.2 there is no fees option in the drop down menu of the attribute where I want to change the price.
    Can you advise where to change the price of one attribute?


    1. Hey,

      Are you using our WooCommerce Attribute Swatches plugin, linked in the article? That is what makes this option available.


      James at Iconic

Share Your Thoughts

Your email address will not be published. Required fields are marked *

Claim Your Free Website Tip 👇

Leave your name, email and website URL below to receive one actionable improvement tip tailored for your website within the next 24 hours.

"They identified areas for improvement that we had not previously considered." - Elliot

By providing your information, you'll also be subscribing to our weekly newsletter packed with exclusive content and insights. You can unsubscribe at any time with just one click.