WooCommerce Variable Pricing: One Size Doesn't Fit All

Chris Lema

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.

Powered by the Rainmaker Platform

The Rainmaker Platform by Copyblogger Media is the complete website solution for building your own online marketing and sales platform. In short, it makes the technology part of running an online business simple so that online marketers and business owners can focus on building audiences and growing businesses.

Start your free 14-day trial

Join more than 5,000 others

My posts. Your inbox. Beautiful.


  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.

    • The Woo guys write about bulk editing variations here: http://wcdocs.woothemes.com/user-guide/product-variations/

      • 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?

        • 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!

      • Duffy Winston says:

        There is a bulk edit variations plugin over on codecanyon that does a nice quick job for doing exactly what Jarrod is after: http://bit.ly/1blYEsa

  2. Thank you so much for this post…I have been trying to figure out how to add different variables for some time now.

  3. 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??

  4. What I can’t figure out about variable products is that now it says “Price: From:” on my site. Check out this screen grab:


    Any ideas? I’ve searched high and low for an answer and can’t find anything.


  5. Is it possible to show all the prices at the same time, without the dropdown.?

  6. I was about to create an entire product listing just to increase the price. Thank you so much for this article! It was very helpful!

  7. 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~!

    • drag the variation up/down

    • On the Products>Attributes page set the default sort order to Custom Ordering.

      Then click on the gear to edit terms, and then drag and drop to the correct order.

      I kept trying to change the order by drag and dropping on the product page itself, and that didn’t seem to work.

  8. I cannot find “product type” in the Product Data section inside woocommerce > settings > catalog.

  9. Hi.
    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?

  10. 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.

  11. 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?

    • 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.

      • 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????

        • 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.

  12. 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

  13. I just wanted to say thank you! it works perfect for woo-commerce.

  14. I used the plugin that Duffy mentioned above which can be found here: http://codecanyon.net/item/woocommerce-bulk-edit-product-variations/6822726 and it works great, has a bunch of options for bulk updating simple products too which is a bonus

    • Does it also allows different pricing?
      I don’t have a problem with setting different variations (ring size and carat weight) but I would like to have two price options (or more) and can’t figure out how to do that.

  15. 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

  16. 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?

  17. 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?


  18. i’m trying to set up a gift card that has drop down choices for the amount

  19. 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!

  20. Thanks for the tip!

  21. I am setting up an apparel category for tshirts and have 2 variables – gender and size. I set these up as attributes then followed the steps to add the variables but no drop down boxes have been added to the shopping cart. The variables screen does look different on my woocommerce.
    What may I have done wrong?

  22. 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.

  23. 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.

  24. 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!! 😉

  25. Thanks – this answered my question!

  26. What if they buy two products but want one to be a large and one to be an extra large?

  27. What if I don’t want to have a combobox? What if I want the user to type the desired price in a text input box?
    Is there a way to do that, too?

  28. 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.

  29. Great tutorial, thank you. Very clear and right to the point.

  30. We are in the middle of moving from OSC to WOO and the transition has taken months if not years now. We are still working on moving over, but the issue of pricing variations is a major road block.

    Quantity – 100 – 250 – 500 – 1000
    Sides Printed – one – two
    Edge Colors – NONE – Red – Black – Orange – Yellow – ETC…
    Rounded Corners – NONE – Yes 1/8th inch – Yes 1/4 inch

    For the options above that have the word NONE, they require only a single input or calculation, but if you have several colors, you need to give each combination with each different color, which would lead to 1000’s of variations. This is stupid! Why would woo not create a separate script to price each variation together with other of the same price value? If NONE is free and the rest of the colors are all the same price of $50, why can’t we apply $50 once instead of repeating the same damn combination for each f’ing color and double that if you have other variations with more than a single value/price? Woocommerce is awesome, but soooo time consuming that it may not even be worth it. I have spent weeks and months trying to figure out a solution, but NOT ONE solution fixes the problem. You see, my product requires you choose a quantity for it – 100 250 1000, etc. Each quantity changes the variation price. Cmon WOOCOMMERCE, quit selling crap that we don’t need and work on this fix and maybe you’ll retain more clients to sell more of your addons to. If you plan on having a huge website like mine, you may want to hire a team to do the input. Process the input on a spreadsheet and train a few people to use it in the page building forms on woo OR spend a year adding products manually if they have lots of variations. MY VARIATIONS ARE WHAT MAKES OUR COMPANY SO UNIQUE – So pist off – major waste of time so far.

  31. How to set different attribute and different price for each attribute?

  32. I am trying to achieve this in woocommerce subscriptions plugin..not getting need quick help.

    In the woocommerce product i am selling product with software monthly and yearly subscriptions..I want to show the base price as 200$ default and variation monthly has 20.99$ and yearly has 30.99$ which on selected will get added to base price and total price showed up…but I cant able to get this ..please anybody knows can you help me..thank you

  33. Marco Moretti says:

    Hi there!! I have a little problem. I really hope you can help me! I Want to add variables (size) to a product, but i cant save the price. So..the size menu and the ADD to Cart doesnt work. What can i do? I tried reinstalling both woocommerce and theme! Marco

  34. Hi, I have encountered a problem, hope you would be able to help me. How do I set my pricing variation for quantity selected? For example: (1) 1 -24 cartons = $100 per carton and (2) 24 – 100 cartons = $90 per carton. Thanks!

  35. Hey! I need lelp! I would like to build a website (webshop) where i will sell deferent types of business cards. I’m using WordPress and woocommerce. Costumers should be able to customise their business through some drop down menus with different cosmiztions.

    I need to have a drop down manu with five products. You get deferent chooses depending on what product you choose and it depends on what chose you choosed you get other options and so on. And you get the price at the end when you choose the quantity.

    I need to have this drop down menu without a product or product picture.

Leave a Reply

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

Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”


I regularly schedule calls to answer your questions using
a service where you only pay per minute.

call me
  • People don’t fully grasp how strategic Chris is. I love that about him and count on it all the time.

    Karim Marucchi
  • Chris often breaks paradigms and has me rethinking the way I approach my business.

    Jeff Zinn
  • Chris always gives me something to think about – a new lens through which to examine my business.

    Lucy Beer
  • Chris’s advice has helped me to make better decisions about my business, and manage my clients better.

    Natalie MacLees
  • Chris has been a source of wisdom and insight in business and product strategy, startups, entrepreneurship, and more.

    Austin Gunter
  • Chris is one of those rare people who can take a difficult subject and make it easy to learn and remember.

    Dave Jesch
  • Chris has a heart of gold and is willing to reach out and help. He has helped me in several ways both in WordPress coding and consulting with me on my business. He has been a blessing in my life and look forward to a long friendship with him.

    Gregg Franklin
  • Chris Lema always drops knowledge bombs that makes me think about how I can evolve my WordPress-powered business. Even more valuable is that he does it in a way that makes drastic change seem achievable.

    Chris Ford
  • Whether it's product strategy or a question about which plugin to use, I know Chris will get me an answer faster than anyone else.

    Steve Zehngut
  • Chris is a great mentor, instructor and friend. He fills all these roles with a down to earth style and ease that actually encourages you to believe that success is within your grasp.

    Alex Vasquez