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.
- Navigate to Products > Attributes
- Give your attribute a name and a slug
- Optionally Enable Archives? (if you’re not sure, just leave this unchecked)
- Choose a Default sort order. Most people will want Custom ordering.
- Click Add attribute
Next, we’ll add terms to our attribute.
- On the right side of that screen, you’ll see a link to “Configure terms.” Click this link.
- Now you’ll be asked to enter a name and slug for each attribute term
- Click the Add new button after each term
In the example below, Color is our attribute and our terms are Red, Black, and White.
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
- Edit the product you’d like to use variations with (or create a new product)
- On the product edit screen, scroll down to the Product data section
- Change the product type to a Variable product
- 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…
- Click the Add existing dropdown
- Click on an attribute
- In the Value(s) box, choose which attribute terms you want to use for this product
- 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…
- Click the Add new button (right next to the Add existing dropdown)
- Give your attribute a name
- Enter the values/terms for your attribute. Separate each term with a vertical bar (
|
) - Make sure both boxes are checked
- Click the Save attributes button
Turn Attributes into Variations
Once all your attributes have been created, it’s time to turn them into variations.
- Click on the Variations tab
- Click the Generate variations button
Assign Multiple Prices to Each Variation
This is how you set multiple price variations in WooCommerce:
- Navigate to the product you want to edit
- Scroll down to the Product data section
- Click on the Variations tab
- Click the Expand link in the top-right corner. This will open all variations.
- Look for the Regular price ($) field
- Enter a price for each variation you created
- You can optionally add a sale price in the field right next to it
- 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
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.
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.
- Navigate to WooCommerce > Settings > Wholesale > Roles
- Click the Add new role button
- Add as many wholesale buyer roles as you’d like
This page is also where you’d set up a global percentage discount.
To set up a discount for each product category…
- Navigate to Products > Categories
- Scroll down until you see Wholesale % discount
- Enter the percentage discount for each user role
To set up discount prices for each product individually…
- Navigate to the product you’d like to set unique prices for
- Scroll down to Product data
- Click on the Variations tab
- Look for the user roles you created, and enter your price
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.
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.”
Hide the Variable Product Price
Want to hide the variation price range completely? You can easily hide product prices until a variation is selected.
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.
FAQ
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.
Conclusion
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!
14 Responses
Thank you for this…however I have products that have more than 500 variations per product. It would take me weeks to add pricing in. How do i do bulk pricing? For instance, i sell flags, i have 5 different sizes for 50 different states. how do I make the 2×3 one price for all states, 3×5 one price for all states, 4×6 one price for all states etc.? I cannot figure out how to do this. I have tried and paid for multiple plugins that do not work. I need a bulk pricing edit for each size and state/country variation. Thanks!
Hey John, would any of the below options do the trick for you? They might allow you to create sheets with your product data and import it rather than setting everything up manually. This isn’t something I’ve done before, so it might not be exactly what you’re looking for, but hopefully it could trigger a good idea…
– https://wpmayor.com/wpsyncsheets-for-woocommerce-review/
– https://wpmayor.com/import-woocommerce-products-on-a-schedule/
– https://wpmayor.com/import-woocommerce-products-in-bulk/
– https://wpmayor.com/sync-woocommerce-product-prices-and-stock-values/
Thank you Mark! I will give these a try!
Happy to help, John. Let me know what solution works out for you, I’m curious to see if there’s a tutorial in there which might still need to be written for others in your position.
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.
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.
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
Tine
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?
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.
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.
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?
Thx
Rawan
Hey,
Are you using our WooCommerce Attribute Swatches plugin, linked in the article? That is what makes this option available.
Thanks,
James at Iconic
Thank you. Was looking for this
nice work