WooCommerce Variable Pricing: One Size Doesn’t Fit All

If there is a topic in the WooCommerce realm that seems more complicated and confusing than it really is, it has to be variable pricing. I’m not sure why but if I had to take a guess, it’d be because the terms “variable” and “variation” are both used in the context of attributes. Maybe that’s where the confusion comes from. Nevertheless, WooCommerce variable pricing is a pretty easy thing to make happen. Before I walk you thru the steps, let’s look at the final result. Here’s what we’re going for.

Notice the Increased Price?

When you look at the screen shot, do you notice that it says “from $15″ as the price, and yet, when I select 2XL, the price is actually $20? That’s variable pricing. I’m able to define a set of variations (small, medium, large, etc) for a particular attribute (size) and then attach a different price for one of the variations.

Start by adding an Attribute

1. Visit Products > Attribute and enter a new one on the right.

Once you add something like “size”, you’ll see it on the right, and you’ll be able to configure the attribute options.

Configure your Attribute

2. Next, click on “Configure terms” so that you can create all your options.

In this case, you’ll add small, medium, large, XL and 2XL. And don’t worry about the order that you create them. While you may not know it, you can change the order that appears in the drop down simply by dragging and dropping the term values on this page.

Adjust your Product

3. At this point, you need to go back into your product catalog, look for the product, and change the product type – in the Product Data section.

Instead of a simple product, you’re going to want to change it to a “Variable product”. This will allow you to manipulate the data in the attributes and variations tabs.

4. Go to the Attributes tab and next to the blue “add” button, pick the attribute you created and then click add.

If you do this right, you’ll see it appear in that section.

Configure your Variations

Here’s where we get to the good stuff.

5. Click on the Variations tab and start adding variations (by clicking on “Add Variation”).

You can ignore the top row, where it says “bulk edit:”, for now. Just don’t worry about it. If you only have one variable, like “size” you can also short cut the process by clicking on “Link all variations”. But if you have a lot of variables, you don’t want to click this.

At this point you’re almost done! What you see is each variation (the instance) that is mapped to your product. This is where you want to manipulate pricing. But where? It’s a little deceiving because it looks like your only option is to change the value in the drop down or click remove. One sec…here’s your next step.

6. Click on the bar, and a panel will appear.

And that’s where you can pick the row/panel that you care about.

7. Now look for the price field and you can change it. You’re done!

Did it work?

If you followed the 7 simple steps, you should have the basics of WooCommerce variable pricing down. If it didn’t work, make sure you’ve followed each step. I did run across a situation this week where a plugin with it’s own javascript was creating a collision with WooCommerce, which had an impact on the product page. The “add to cart” button doesn’t appear until you’ve made a selection from the drop down. If you don’t see that happen, turn off your plugins and re-activate them one by one until you find the culprit.

About This Site

This site is hosted by Pagely - running on Amazon's hardware, making it lightning fast. They're a managed WordPress host which means they take care of my site so I don't have to. Starting at $24/month, this may be the perfect solution for you too.


  1. Jarrod Ruez says:

    I have a situation where I created an attribute, such as size. I then assigned it as a variation (4 different sizes) to about 10 products. Is there a way to change something like the prices for each of the variations on each of those 10 products at once? I can only figure out how to do this one product at a time.

      • But the “Bulk Editing” feature changes all the prices of ALL the variations. If you’re managing any real number of products with multiple variations and prices that need to be changed, this is a real shortcoming of woocommerce. For example, I’m trying to set up a store selling art prints that have multiple canvas/paper types, and ten different print sizes for all two hundred photos. That means thousands of entries if it has to be done for each variation on each product. And then if there’s a price increase, thousands of edits instead of just a few dozen.

        The lack of a batch editing feature for variations is a serious shortcoming in woocommerce from what I can see. Am I missing something?

        • Jennifer says:

          I agree with Deweese! I found this page by searching for a solution – I have a shop with many similar products, but if I want to change variable pricing across the board, I need to go in to each and every variable in each product and change them manually.

          • I’ve got a client who sells photo reprints in a variety of formats (keyrings, fridge magnets, different printed photo sizes etc), and need a way to automatically add these variables to each and every photo when they’re added. This is a pretty important feature, as otherwise an album of 20 photos from an event will take hours to add!

  2. I don’t understand, I add variations for size on the product, in the variations of the products I add different width, height and size but it has not effect whatsoever when I highlight them in the drop down, what is the point in having this if it doesn’t work??

  3. Michelle says:

    I know how to enter all of the information so it points to everything I need it to go to, my problem is that when I enter the numbers for the quantity of items purchased, it moves the order. For example instead of 1,2,3,4,5,6,7,8 my drop down shows 1,10,100,111,112,113. How can I make the numbers go in order when looking at the drop down. FYI.. I entered them in order from 1-288 and then tried 288-1. Would love some suggestions. Thanks~!

  4. Lotte says:

    I did as described, but on my product my only drop-down is: ‘choose an option’ and none of my variations.
    What do I need to change?

  5. You may want to clarify that you are only able to assign one variation from the dropdown. So, if someone wanted to include two separate variations that would manipulate the price, they would not be able to do that. It would be great if there was a workaround for this, but as of right now there isn’t.

  6. mrsuzi says:

    I have a strange one: My online store sells tyres. I have two attributes for each product/tyre, FRONT and REAR. The attribute values are the different tyre sizes and the variable pricing is a discount percentage if you choose a FRONT + REAR. The problem is because this is a variable product, it doesn’t show the price for just a FRONT tyre. You have to select a REAR as well in order to show the price. My quick fix is to add NONE as a attribute value so you can select FRONT + NONE and get the price for just the FRONT. Does anybody know how to have the FRONT price displayed if REAR doesn’t have any selection?

    • twum says:

      Hi mrsuzi,

      I am having the same issue and I’ve spent like two days trying to find an answer. I am setting up a photography site for a customer and for each picture, he would like a number of options, like posters and cards. For the posters, there are different sizes and paper and for the cards, there are greeting and postcards. One can set this up by working with categories for posters and another for cards, but that means creating two products with the same picture.

      Another way is to create an attribute for all the different combinations.

      And another, if possible, easier way, is to try and do what you describe. Show the options like in a checkbox way and have the customer choose what he or she wants.

      An example would be that when a customer views a picture, they can choose to purchase say a Poster, 60x40cm on Satin paper and another on dibond and then maybe a 5 pack of greeting cards and then add all of it to the cart in one go.

      • Adam says:

        Yes this is a very time consuming task. The products I am selling have probably a thousand variations (it seems) when you are doing every possible combination to derive a price. Is it possible to just assign a Dollar Value to each individual attribute, you can only choose one from each attribute drop down, then add them all up for the price?

        I cant even wrap my head around writing this many variations.

        5 Attributes with 7 options for each, really 7x7x7x7x7= 16,807????

        • mrsuzi says:

          Hi Adam,

          I think if you have 5 attributes with 7 variations each you should have a total of 245 variations? Still, this is a ridiculous amount of work for one product. I have a similar problem but I just can’t find a “shortcut” or faster way of doing this.

          I just got this plugin: http://wordpress.org/plugins/woocommerce-csvimport/

          You can buy the Products Variation Extension for €10 and import variable products to add or update prices.

          I still need to test it but so far the excel template looks a bit daunting by itself. Will let you know once I have spent some time with it.

  7. I am selling photographs as prints, I have configured variable sizes for products. Every time I upload new photographs, I have to enter the size and prices…..Can I bulk apply variable prices every time new product is added

  8. k says:

    Hi guys I tried so many time but my problem keep coming back..my price product says $22.55-$100.00 but what I want is from: $22.55

  9. Alisa says:

    Can you set up logic based product variations in WooCommerce? For instance, If you have 3 choice of a style in variation 1 (red, blue, green) and each option in variation 1 is only avaiable in certain sizes, like red avail in XS,M and blue avail in M,L,XL, and Green avail in XS,L. Can you do this and also how many product variations are allowed. So far the only product I’ve found to address my product variation issues is Gravity Forms. How well does WooCommerce integrate with Gravity Forms?

  10. mad 1 says:

    Hey –

    thanks so much for this article –
    i’m doing everything you’re saying but after i add some attributes to the variable type product and save them, clicking the variations link persists in asking me to “create some attributes” before adding variations – i can’t get to that variations tab!

    any thoughts?


  11. joel ali says:

    I have a question that I have not been able to figure out. I recently setup a wordpress site and incorporated woo commerce for our shopping cart platform. The website is for a clothing company I am starting, here is the link to the site http://www.stickypines.com and I want to be able to display the sizes across the page in square blocks instead of in a drop down menu that woocommerce defaults to for a variable product. Here is an example of what I am trying to achieve…


    Any help would be greatly appreciated!

  12. Jessica says:

    What if the person wants two of the same shirt in different sizes? For example. They want a small and a large. Right now they have to add the first one and go back and add the second. Is there a way to choose quantity first and then have the variables display.

    My company sells state specific guides. So I want to have the customer you choose the number of states they want and then choose the states. It is a fixed priced for each state. However, I can not figure out how to have them choose the quantity first.

  13. Carlo says:

    Hi there! I’d like to know if there is a plugin that can detect the country of the customer and change the price based on his/her current location. The scenario is that 2 distributors from different countries have different prices.

  14. Willian Teodoro says:

    Hi Chris!

    I’m Willian from Brazil!

    Congrats on your job! Is Amazing! 😉

    I’m new in Woocommerce…

    Is there any way to make a letters counter and calculate the price of each letter?

    Like this: http://www.woodlandmanufacturing.com/acrylic-letters.html

    Or this: http://www.alphabetsigns.com/signs/p/IF01-16.html (Options tab)

    Also, I’ll need to add other attributes such as thickness and size, but i think it’s easier.

    Thank You for your help!! 😉

  15. Reuben says:

    Hi. I have a problem. I want to create a global SIZE attribute that can be used for products like shoes, pants, dresses, shirts, etc. But the problem is that these items are measured in different units, for example pants can have size 32, while shoes can be size 7, shirts can be size LARGE/MEDIUM/SMALL. When I filter by the size attribute, I only want to see the relevant sizes for the particular product type. I dont want a person browsing shoes to see paths sizes mixed in the same size dropdown.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>