Quick answer: In WooCommerce, product variations let you sell one product in several options, such as sizes or colours, each with its own price, SKU, stock level and image. Create global attributes under Products > Attributes, add them to a Variable product with “Used for variations” ticked, generate the variations, then fill in price, stock and image for each. Set a default selection, use bulk actions to save time, and keep the number of variations per product sensible so pages stay fast and easy to use.
If you sell clothing, shoes, furniture, printed products or anything that comes in more than one option, you will use variable products. Set up well, they make a shop easier to browse and manage. Set up badly, they cause wrong prices, overselling and confused customers. These tips are based on the current WooCommerce 2.6 and apply to most themes.
Simple vs variable products
A simple product is one item with one price and one stock level. A variable product is a parent product with several child variations. The customer chooses options from drop downs on the product page, and WooCommerce shows the matching price, availability and image.
Use a variable product when the options are the same product in different forms. If the options are really different products with their own descriptions and reviews, separate simple products, perhaps linked as related products, may be clearer.
Step 1: Plan your attributes
Attributes are the properties that vary, such as Size, Colour or Material. Before you create anything, decide:
- Which attributes you need across the shop
- The exact terms for each (for example S, M, L, XL)
- Consistent naming and order
A little planning here saves a lot of tidying later.
Global vs custom attributes
WooCommerce offers two kinds:
- Global attributes are created under Products > Attributes and shared across all products. Each term can be reused, filtered and displayed consistently.
- Custom attributes are added on a single product only.
Use global attributes for anything that repeats across products, such as sizes and colours. They allow layered navigation (filter widgets) so customers can filter the shop by size or colour, and they keep naming consistent. Use custom attributes only for one off options.
Step 2: Create the variable product
- Add a new product and choose Variable product from the Product Data drop down.
- Open the Attributes tab, choose a global attribute and click Add.
- Select the terms that apply to this product, for example only S, M and L if XL is not made.
- Tick Used for variations (and Visible on the product page if you want attributes listed in the Additional Information tab).
- Save attributes.
Step 3: Generate variations
Open the Variations tab. You can add variations one at a time, or choose Link all variations to generate every combination at once. For a product with three sizes and four colours that creates twelve variations.
Only generate the combinations you really sell. If red only comes in small and medium, delete the extra variations rather than leaving them with no price, or customers may see options they cannot buy.
“Any” variations
A variation can be set to “Any Size” or “Any Colour”. This is useful when one attribute does not affect price or stock, for example a free personalisation choice. Be careful, though: “Any” variations share one stock level and one SKU, which can make stock control and order fulfilment harder.
Step 4: Fill in each variation
Each variation has its own settings. At a minimum, set:
- SKU. A unique code per variation makes stock control and fulfilment far easier.
- Regular price, and sale price with optional schedule if needed.
- Stock management. Tick “Manage stock?” and enter the quantity, or set the stock status.
- Image. Show the right colour or style when the customer selects it.
- Weight and dimensions, if they differ from the parent, for accurate shipping.
- Shipping class, if some options cost more to ship. Our guide to WooCommerce shipping explains classes and zones.
Variations without a price are not purchasable, so double check none are left empty.
Step 5: Use bulk actions
Editing dozens of variations by hand is slow. The Variations tab includes bulk actions to:
- Set regular or sale prices for all variations
- Increase or decrease prices by a fixed amount or percentage
- Set stock quantities or statuses
- Toggle virtual, downloadable or “manage stock”
- Set weights, dimensions and shipping classes
For large catalogues, a CSV import tool, such as WooCommerce’s Product CSV Import Suite or a similar plugin, is quicker still.
Step 6: Set default form values
Under the Variations tab you can choose default selections, for example Medium and Black. The product page then loads with a price and image already shown, and the customer can add to cart with fewer clicks. Without a default, customers see a price range and must choose every option first.
Pick the most popular option as the default, but make sure it is in stock.
Making the product page clear
Show availability early
When a variation is out of stock, WooCommerce can show it as unavailable once selected. Make sure your theme displays stock messages clearly so customers do not reach the cart and find a problem.
Consider swatches
Drop downs work, but colour and pattern options are easier to choose from visual swatches. Extensions such as Variation Swatches and Photos replace drop downs with colour blocks or image thumbnails.
More images per variation
By default, each variation has one image. If customers need several photos per colour, an extension such as Additional Variation Images lets you add a gallery to each variation.
Size guides
Add a clear size guide link next to the size selector. It reduces returns and support questions.
Performance and the variation threshold
Every variation adds data to the product page. For products with a modest number of variations, WooCommerce loads all variation data with the page so changes are instant. Above a threshold (20 by default), it switches to fetching variation data with AJAX when the customer makes a choice, which can feel slower and changes how unavailable combinations are shown.
Developers can raise the threshold with the woocommerce_ajax_variation_threshold filter, but very large numbers make pages heavy. If a product has hundreds of variations, consider splitting it into several products or using product add-ons for options that do not need separate stock.
SEO considerations
All variations share the parent product’s URL, which is usually what you want: one strong page rather than many thin ones. Write a full description on the parent, mention the available options naturally and use descriptive alt text on variation images. Our guide to WooCommerce SEO covers product page optimisation in more detail.
Common mistakes
- Using custom attributes for sizes and colours, which prevents filtering
- Generating every combination and leaving unused ones without prices
- Missing SKUs, which cause picking errors
- No default selection, so customers see confusing price ranges
- Forgetting to set weights, which breaks weight based shipping
- Hundreds of variations on one product, slowing the page down
FAQ
How many variations can a WooCommerce product have?
There is no hard limit, but generating all combinations at once is limited to 50 per run, and large numbers slow down the page. Keep it to what you really need.
Can variations have different descriptions?
Yes. Each variation has an optional description that appears when it is selected.
Can I import variable products?
Yes, with a CSV import extension. Prepare your attributes first so imported variations match.
Why does my product show “From” or a price range?
Variations have different prices and no default is selected. Set default form values, or keep prices the same where they truly are.
Set it up once, sell with confidence
Clean attributes, complete variation data and clear product pages make variable products easy for customers and staff alike. If you want help building or tidying a WooCommerce store, see how we help shops turn visitors into customers.