With a variable product Yes, you can offer multiple variations of a product under a single product page in WooCommerce.
Typical examples are T-shirts in various sizes and colors, shoes with multiple sizes, or products with different designs.
If you are not yet sure when you should use a variable product, read the article first WooCommerce Product Types Explained: Simple, Variable, Grouped, and External.
Briefly explained: For a variable product, the customer chooses, for example Size M and Color black. This combination is a separate variant and can have its own price, SKU, inventory, and even its own image.
What is the difference between property and variant? #
Before we begin, this difference is important.
A Property describes a product option.
For example:
Property:
Size
Values:
S
M
L
XL
A second property could be:
Attribute:
Color
Values:
Black
White
Blue
A Variant results from a specific combination of these values.
For example:
Option 1:
Size M
Color Black
Option 2:
Size L
Color Black
Option 3:
Size M
Color White
Note: Attributes define the choices. Variants are the concrete purchasable combinations of them.
We explain in detail how properties are generally organized and how they differ from categories and tags in the article How to correctly use categories, tags, and attributes for products.
Example for these instructions #
As an example, we are creating a T-shirt.
The customer should be able to choose between:
Size:
S
M
L
XL
Color:
Black
White
For example, this can result in the following variants:
S / Black
M / Black
L / Black
XL / Black
S / White
M / White
L / White
XL / White
Overall, that would be eight different variants.
1. Create new product #
Open in the WordPress backend:
Products
→ Add new product
Then enter the product name.
For example:
Classic T-Shirt
Complete it afterwards like a simple WooCommerce product a meaningful description, short description, product images, and a matching product category.
2. Change product type to „Variable product“ #
Scroll to the section Product data.
Open the product type selection there and choose:
Variable product
WooCommerce is now updating the product data section. Among other things, you have access to the sections Properties and Variants available.
Note: For a variable product, many settings are not managed on the main product, but directly on the individual variations.
3. Add properties #
Open the section within the product data Properties.
For variable products, you need at least one attribute from whose values WooCommerce can create variations.
You can basically work with two types of properties in the process:
- global properties, which were created centrally in the shop and can be used for multiple products
- individual product features, which are created exclusively for this single product
WooCommerce generally recommends global attributes for recurring attributes such as size or color because they can be reused throughout the entire shop and are easier to manage consistently.
4. Use global property #
For example, if you use the global property Size already created, you can select it in the product.
In the Properties section, select the existing property and add it to the product.
Next, select the values you want to make available for this specific product.
For example:
Property:
Size
Available values:
S
M
L
XL
You do not have to automatically use all globally available values. For example, if your shop also knows XXL, but this t-shirt is only available up to XL, you do not select XXL for this product.
5. Create a custom property specific to this product #
If you do not want to use a global property, you can create a new property directly on the product.
In the Properties pane, click the button to add a new property.
For example, enter:
Name:
Size
Values:
S | M | L | XL
For individually created properties, the individual values are separated by a vertical bar.
For a second property:
Name:
Color
Values:
Black | White
Tip: If you need a property like size, color, or material for many products, a global property usually makes more sense than repeatedly creating the same property directly within the product.
6. Use properties for variants #
For WooCommerce to actually create variations from an attribute, it must be used for variations.
Therefore, activate the option for the corresponding properties that they should be used for variants.
For our example:
Size:
Use for variants → Yes
Color:
Use for variants → Yes
Then save the properties.
Important: If you change attributes after creating the variants, the existing variants may no longer match the new combinations. WooCommerce therefore notes that variants may need to be redefined after changes are made to their underlying attributes. :contentReference[oaicite:2]{index=2}
7. Open „Variants“ section #
Now open the section within the product data Variants.
WooCommerce can basically create variations in two ways:
- automatically generate all possible combinations
- Create Variants Manually One by One
8. Generate all variants automatically #
If you want to sell all combinations of your attributes, automatic creation is usually the easiest way.
Select the function to Generate the variants.
WooCommerce creates all sorts of combinations from this.
In our example:
4 sizes
×
2 colors
=
8 variants
So WooCommerce generates:
S / Black
M / Black
L / Black
XL / Black
S / White
M / White
L / White
XL / White
9. Create Variants Manually #
You do not have to offer all theoretically possible combinations.
For example, if the white T-shirt is only available in M and L, you can specifically create the required variants manually.
Then, for example, only the following combinations would be available:
S / Black
M / Black
L / Black
XL / Black
M / White
L / White
This makes sense if certain combinations do not exist at all or are not supposed to be sold.
Basic rule: Create only variants that customers can actually buy.
10. Open single variant #
After the variants have been created, you can open each variant individually.
For example:
Size M / Color Black
Now the settings for this exact variant appear.
Depending on the product type and configuration, you can specify there, among other things:
- Product image
- SKU
- Price
- Offer price
- Inventory
- Stock status
- Weight
- Dimensions
- Shipping class
- Description
- virtual
- downloadable
WooCommerce thus allows individual variations to be configured very differently.
11. Set price for each variant #
A variant needs a price so that it can be purchased regularly.
Open the variant and enter the desired price.
For example:
M / Black:
CHF 29.90
XL / Black:
CHF 32.90
Therefore, the variants do not necessarily all have to have the same price.
If all variants are to receive the same price, depending on your WooCommerce version, you can also use bulk editing in the variations section and set prices for multiple variations at the same time.
12. Offered price of a variant #
Even individual variants can have an offer price.
This allows you, for example, to reduce only a specific color.
Example:
M / Black:
Regular price: CHF 29.90
M / White:
Regular price: CHF 29.90
Sale price: CHF 24.90
That means only the white version is discounted.
13. SKU per variant #
Each variant can be assigned its own SKU or item number.
For example:
Classic T-Shirt / M / Black
SKU:
TS-CLASSIC-M-SCHWARZ
Classic T-Shirt / L / Black
SKU:
TS-CLASSIC-L-SCHWARZ
SKUs help you particularly when every version is stored or ordered separately.
WooCommerce requires that a used SKU is unique within the store.
We cover inventory management in more detail in the article Manage inventory, SKU, and delivery status in WooCommerce.
14. Manage inventory per variant #
For variable products, you can manage inventory either at the product level, at the variation level, or in a combination of both. :contentReference[oaicite:5]{index=5}
For products like clothing, variant-based inventory management often makes sense.
Example:
S / Black:
5 pieces
M / Black:
12 pieces
L / Black:
3 pieces
XL / Black:
0 pieces
This allows WooCommerce to accurately track which sizes are still available.
If XL / Black is sold out, that does not mean the other variants must also be considered sold out.
15. Use shared inventory #
There are also situations in which all variants should access the same inventory.
WooCommerce therefore also supports inventory management at the main product level.
An example would be a physical product sold either alone or together with an additional digital file. Both variants access the same physically existing stock of items.
Whether product or variant inventory is a better fit therefore depends on your actual warehouse.
16. Backorders per variant #
Even with variants, it can be specified how to handle missing inventory.
If a specific variant is out of stock, you can allow or prevent backorders depending on your inventory configuration.
Only activate backorders if you can actually restock the variant in question.
17. Custom image for each variant #
A particularly helpful feature is the custom image per variant.
For the T-shirt, for example, you could save:
Black version:
Image of a black T-shirt
White version:
Image of a white T-shirt
If the customer selects a variant in the shop, WooCommerce can display the image associated with that variant.
This is particularly useful for colors or visually different versions.
We explain the basics of working with WooCommerce product images in the article Using product images and product galleries in WooCommerce.
18. Weight and dimensions per variant #
Variants may have different shipping dates.
For example, a larger version may be heavier than a smaller one.
Variant S:
Weight 0.20 kg
Variant XL:
Weight 0.28 kg
WooCommerce can manage weight, length, width, height, and shipping class separately for variations, among other things.
Whether this information affects the actual shipping price depends on your Shipping configuration ab.
19. Virtual Variants #
For one variant, you can specify that it virtual is.
A virtual variant does not require physical shipping.
This can be useful if the same basic product is offered in both a physical and a non-physical form.
WooCommerce hides unnecessary shipping fields for virtual variations.
20. Downloadable Versions #
A variant can also be as downloadable be marked.
You can then assign files, a download limit, and an expiration date to that specific variant.
This allows, for example:
Product:
Manual
Variant:
PDF
→ downloadable
Variant:
printed edition
→ physical
Virtual and downloadable are also two different properties even for variants.
21. Variant Description #
Each variant can have its own description.
This can be useful if a particular version has special features.
For example:
Color Black:
Matte finish
Color White:
Glossy finish
Use variant descriptions for actually different information and not to repeat the same long text for every variant.
22. Processing Variants in Larger Quantities #
With many variants, it would be tedious to make the same change individually for each variant.
WooCommerce therefore offers bulk actions in the variants section, or Bulk Actions.
Depending on the available action, this can be used to set or change specific values for multiple variants simultaneously.
This can save time, for example, when setting the same prices or other shared values. :contentReference[oaicite:8]{index=8}
Important: Carefully check a bulk change. It can modify multiple variants at the same time. If individual variants are supposed to have different prices or inventory levels, you must not accidentally overwrite these differences.
23. Define standard variant #
WooCommerce can be a Default selection for the attributes of a variable product.
For example:
Standard:
Size M
Color Black
This combination can thus be pre-selected when opening the product page.
WooCommerce documents this function as default form values or default variation of the variable product.
You do not necessarily have to set a standard variant.
Without a pre-selected variant, the customer must select the required attributes themselves before the matching variant can be added to the shopping cart.
24. Save changes to variants #
After editing the variants, click in the variants area on Save changes.
After that, you should also save or update the product itself.
Especially with many variants, it makes sense to save periodically and not only after a long editing session.
25. Publish product #
When the product name, description, images, attributes, and variants are fully set up, you can publish the product.
Check in particular beforehand:
- Are all required variants available?
- Are there any accidentally undesired combinations?
- Does every purchasable variant have a price?
- Are SKUs unique?
- Are the inventory levels correct?
- Are variant images correctly assigned?
- Are weight and shipping class correct when they are needed?
26. Test variable product in the shop #
Open the finished product page in the frontend.
WooCommerce displays the product attributes to the customer as selection options. Depending on the theme, these can be displayed as dropdowns or other selection fields, for example.
Test all important combinations.
For example:
Size M
+
Color Black
Check after that:
- Is the correct variant recognized?
- Is the correct price displayed?
- Is the corresponding variant image displayed?
- Is the stock status correct?
- Can the variant be added to the shopping cart?
Customers must select all required options for the variation before WooCommerce can add the specific variation to the cart.
What happens in the case of a sold-out variant? #
If you manage inventory at the variation level and a variation is no longer available, WooCommerce can display its availability accordingly.
Other variants of the same product may still be available.
Example:
S / Black → available
M / Black → available
L / Black → available
XL / Black → sold out
This is one of the most important advantages of variable products: inventory and other data can be managed separately for each variation.
What happens if a variant has no price? #
If a variant is not configured correctly for sale, it cannot be used by customers like a regularly purchasable variant.
Therefore, always check the price and the other necessary details for newly created variants.
Practice rule: After creating all variants, you should check each combination at least once. Especially with many variants, a missing price or incorrect stock level in the backend is easily missed.
Avoid too many variants #
With several properties, the number of possible variants grows very quickly.
Example:
5 sizes
×
6 colors
×
4 materials
=
120 possible variants
Just because WooCommerce can generate combinations doesn't mean that every theoretical combination makes sense.
When you combine many features with each other, maintaining the product becomes more extensive.
WooCommerce also points out that for products with more than 30 variations, the behavior of dynamic selection fields in the frontend changes technically.
This does not mean that WooCommerce generally only supports 30 variations. However, with extensive variable products, you should test particularly carefully how the selection works on the product page.
Global or individual properties? #
For a small shop, a product-specific attribute may initially seem uncomplicated.
However, if the same values occur in many products, you should use global properties.
Example:
Global property:
Size
Values:
XS
S
M
L
XL
XXL
You can then reuse this property on many items of clothing.
Among other things, WooCommerce cites as an advantage of global attributes that they can be centrally managed and reused store-wide.
A complete variant example #
Our t-shirt could end up being structured like this:
| Variant | Price | SKU | Inventory |
|---|---|---|---|
| S / Black | CHF 29.90 | TS-S-SCHWARZ | 5 |
| M / Black | CHF 29.90 | TS-M-BLACK | 12 |
| L / Schwarz | CHF 29.90 | TS-L-SCHWARZ | 8 |
| XL / Black | CHF 32.90 | TS-XL-BLACK | 3 |
| S / White | CHF 29.90 | TS-S-WEISS | 6 |
| M / Weiss | CHF 29.90 | TS-M-WEISS | 9 |
| L / Weiss | CHF 29.90 | TS-L-WEISS | 4 |
| XL / White | CHF 32.90 | TS-XL-WHITE | 2 |
Additionally, the black and white variants can each have their own product images.
Common error: Properties created, but no variants available #
If you expect specifications on the product page, but there are no purchasable variants available, check:
- Is the product type really on Variable product asked?
- Are the properties assigned to the product?
- Are the desired property values selected?
- Are the attributes used for variants?
- Were the properties saved?
- Were variants actually generated afterwards or created manually?
- Do the variants have a price?
Common error: Incorrect combinations were created automatically #
If you generate all variations automatically, WooCommerce creates possible combinations from the attribute values used for variations.
This can lead to the creation of combinations that you don't even offer.
Example:
Red is only available in S and M
However, the following were automatically generated:
S / Red
M / Red
L / Red
XL / Red
Remove or only use the combinations that are actually to be sold.
Common error: Property changes made retrospectively #
If you add, remove, or modify property values after creating the variants, you should also check the variants afterward.
Properties and variants are directly related to each other.
WooCommerce explicitly points out that variations may need to be redefined after changes to the underlying attributes.
What's next? #
Variable products are based on attributes. Therefore, it is worthwhile to structure product categories, tags, and attributes cleanly from the start.
In the next article, we therefore explain the difference between Product categories, tags, and attributes in WooCommerce and show when you should use which of them.
Summary #
You use a variable product when customers need to choose between multiple versions of the same product, for example between sizes or colors.
First, select the product type Variable product. Then create properties such as size and color, and determine which values should be used for variants.
Then you generate the required variants automatically or manually. Each variant can have its own details such as price, SKU, stock level, image, weight, or shipping class.
After editing, save the variants and check the finished product page from a customer's perspective. Test the options, prices, images, and availability in particular.