Selling a t-shirt in four sizes and three colours means twelve different combinations. Creating twelve separate products in WooCommerce would be a nightmare to manage. Product variations solve this — one product listing, one product page, with all the options your customers need to choose from. Setting them up takes about ten minutes once you know where to look.
WooCommerce calls these variable products. The process involves three stages: defining the attributes (like Size and Colour), adding the values for each (Small, Medium, Large), then generating or building the variations that combine them. Here’s how each part works.
Quick Answer
To set up product variations in WooCommerce: edit the product, change the Product type to Variable product, add your attributes under the Attributes tab (ticking Used for variations), then go to the Variations tab and click Generate variations. Set a price for each variation and save. The product page will display a dropdown for each attribute so customers can make their selection before adding to cart.
Why This Matters
Variable products keep your catalogue clean. One URL, one set of reviews, one place to manage stock. When a customer searches for your product, they land on a single page rather than having to navigate between multiple listings for what is essentially the same item. That’s better for SEO and better for conversions.
It also makes stock management more granular. You can track inventory per variation — knowing you have 20 units in size Small but only 3 in size Large — without needing separate product entries. If you haven’t set up WooCommerce yet, start with creating a WooCommerce store before working through variations. WooCommerce’s own documentation on variable products covers additional settings and edge cases beyond this guide’s scope.
Step 1: Change the Product Type to Variable
Open the product you want to set up variations on (or create a new one). In the Product data panel below the content editor, find the dropdown at the top that currently says Simple product. Change it to Variable product.
You’ll notice the tabs in the Product data panel change when you do this — General (where a simple product’s price lives) disappears, because pricing now moves to the individual variations. Don’t worry about the price fields for now; you’ll set them per variation in Step 4.
Step 2: Add Your Attributes
Click the Attributes tab in the Product data panel. This is where you define what options customers will choose between — Size, Colour, Material, and so on.
- Click Add to add a new attribute.
- Give it a name — Size, for example.
- In the Value(s) field, enter each option separated by a pipe character:
Small | Medium | Large | XL - Tick Used for variations — this is the critical step. Without this, the attribute won’t appear in the Variations tab.
- Click Save attributes before moving on.
Repeat for any additional attributes. If you’re selling clothing with both Size and Colour, add both before you proceed. Adding them later is fine, but regenerating variations resets any variation-specific data you’ve already entered.
WooCommerce also supports global attributes — predefined lists you can reuse across products — set up under Products > Attributes in the main menu. These are worth creating if you’ll be using the same attribute values across many products, so you don’t re-enter them each time. For a full breakdown of how to organise your product taxonomy, see the guide to WooCommerce product categories and tags.
Step 3: Generate Variations
Click the Variations tab. At the top you’ll see a dropdown and a Go button. Select Generate all variations from the dropdown and click Go.
WooCommerce will create a variation for every possible combination of your attribute values. Two sizes and three colours gives you six variations. Four sizes and three colours gives you twelve. If some combinations don’t exist — say you don’t stock XL in a particular colour — you can delete the variations you don’t need after generating them.
If you’d prefer to add variations manually (useful when you have a small, specific set), choose Add variation from the same dropdown instead and select the attribute values for each one individually.
Step 4: Set Prices and Stock per Variation
Each variation needs a price, otherwise WooCommerce will show the product without an “Add to cart” button. Click the dropdown arrow on each variation to expand it, then set:
- Regular price — required. Set a sale price too if applicable.
- SKU — optional but good practice for inventory tracking.
- Stock quantity — tick Manage stock? and enter the quantity if you want per-variation inventory tracking.
- Shipping — if specific variations have different weights or dimensions, enter them here. Otherwise leave blank and WooCommerce uses the parent product’s shipping settings.
If all your variations share the same price, use the Set regular price bulk action from the dropdown at the top of the Variations tab — it sets the price on every variation at once.
Step 5: Add Variation-Specific Images (Optional)
When a customer selects a colour, it’s useful to show the product image in that colour rather than the default image. Each variation has its own image field — click the placeholder image icon within the expanded variation to set it.
This is optional but noticeably improves the shopping experience for anything where appearance is part of the decision. In most product setups I’ve worked on, adding variation images for colour options alone is enough to justify the time it takes.
Practical Tips
- Set a default variation. Under the Variations tab, use the Set default values dropdown to pre-select a variation when the product page loads. Choose your most popular option so the “Add to cart” button is immediately active when customers arrive.
- Use bulk actions for efficiency. The dropdown at the top of the Variations tab lets you set prices, toggle stock management, or change shipping class across all variations simultaneously. Use it — editing dozens of variations one by one is slow.
- Keep attribute names consistent. If you use “Colour” on one product and “Color” on another, WooCommerce treats them as different attributes. Decide on your naming convention before you create products and stick to it, or use global attributes which enforce consistency automatically.
- Publish variations before sharing the URL. An unpublished variable product shows no options on the front end, which can confuse customers if you share a preview link. Always check the product page looks correct before promoting it.
Common Mistakes
- Forgetting to tick “Used for variations”. This is the most common issue. The attribute won’t appear in the Variations tab until that box is checked and attributes are saved.
- Not setting a price on every variation. WooCommerce won’t show an “Add to cart” button for any variation without a price. If you generate variations and don’t set prices, the whole product appears unbuyable.
- Generating variations before saving attributes. Always click Save attributes before going to the Variations tab. If you skip that step, the attributes may not carry over.
- Creating too many variations. WooCommerce has a default limit of 50 variations per product for performance reasons. If you genuinely need more (a clothing store with many size/colour/style combinations), consider whether separate products or a different catalogue structure makes more sense.
Variations vs Separate Products
Product variations are the right choice when the items share the same core product — same description, same reviews, just different options. A blue t-shirt and a red t-shirt are the same product in two colours.
Separate products make more sense when the items are genuinely distinct — different use cases, different target customers, or significantly different descriptions. A beginner drone and a professional drone are separate products even if they share some component similarities. When in doubt, think about whether a customer comparing the two items would benefit from seeing them side by side, or whether they’d just want to pick an option from one listing.
For a broader look at how to structure your product listings in WooCommerce, see the guide to adding products in WooCommerce, which covers simple, grouped, and external products alongside variable ones. The step-by-step guide to building a WordPress website at Veravix also covers the full WooCommerce setup sequence for new store owners.
For more on this, see our guide on set up woocommerce product reviews for beginners.
Each variation can also carry its own stock count, separate from the parent product. If you need a refresher on stock thresholds, backorders, and how orders affect inventory levels, see our guide on WooCommerce inventory management.
Conclusion
Variable products in WooCommerce are straightforward once you understand the three-step sequence: set the product type, add attributes (with “Used for variations” ticked), then generate and price the variations. Take five minutes to set default values and check the product page on the front end after saving — that single check catches most of the common issues before your customers do.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.