WooCommerce product variations: a variation checklist

WooCommerce product variations are versions of one product, such as sizes or colours, each with its own price, stock and SKU. When a variation disappears or shows the wrong price, the cause is usually a missing price, a disabled variation, zero stock with out-of-stock items hidden, a forgotten sale price or an old price in the cache. The checklist below goes through them in order.

Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read

How WooCommerce builds a variable product

A variable product has three layers. First the attributes, such as Size and Colour, marked as used for variations. Then the variations, the specific combinations, each with its own fields. Finally the product page, which shows the customer the dropdowns and the price of the chosen combination.

A problem in one layer shows up in another. A variation without a price looks in the shop like a missing size, and a wrong price on the category list comes from one forgotten variation. That is why you check variations on the product edit screen, in the Variations tab of the Product data box, not just on the shop page. The WooCommerce documentation on attributes explains how attributes link to variations, and Plugin Republic has a broader guide to variable products.

The symptom in the shop and what to check

What the customer seesWhat to check in the variation
After choosing a size, a message that the product is unavailableregular price, the “Enabled” box
The size is missing from the dropdownwhether the variation exists and has stock, when out-of-stock items are hidden
Product on the list with no price and no add to cart buttonwhether any enabled variation has a price
A price range starting from €0a variation with a zero price or an empty sale price
A struck-through price, though the sale has endedthe sale price dates in the variation
A price different from the admincache, cached variation prices, display with or without tax
The customer can choose a combination that doesn't existno variation for that combination, or an “Any” variation

The last row needs a word of explanation. With a large number of variations, WooCommerce doesn't load all combinations up front, so the dropdown may show a value that doesn't exist in that configuration. The customer only finds out after choosing it.

Checklist for a single variation

Open the product, go to the Variations tab and expand the variation with the problem.

  1. Combination. Does the variation have specific values selected, rather than “Any Size”? An “Any” variation matches every value and can cover others.
  2. Enabled. The “Enabled” box must be ticked. A disabled variation is not available to customers.
  3. Regular price. It must be filled in. Without it, the variation can't be bought.
  4. Sale price and dates. If there is one, check that the dates include today. An empty end date means the sale runs forever.
  5. Stock. With stock managed at variation level, check the quantity and the backorders setting.
  6. SKU. Each variation should have its own SKU. A repeated SKU blocks saving and confuses wholesaler integrations.
  7. Default selection. In the Default Form Values, don't point to a variation that doesn't exist or is sold out.
  8. Save and cache. After the change, save the product, clear the plugin cache and check the page in a private window. If the price is still old, clear the cached data under WooCommerce, Status, Tools.

The WooCommerce admin lets you change one value in all variations of a product at once, but not in a chosen few. Barn2 describes this limitation in its article on editing variations. With many products that have dozens of variations, that means a lot of clicking.

How not to create empty variations

Most variation problems can be avoided when you set up the product. A few habits that help:

  • Create variations from attributes, then set the price for all of them straight away. The Variations tab has an option to set the regular price for all of the product's variations. Do it before you start fixing individual sizes.
  • Don't leave variations “for later”. A variation without a price won't harm the product, but the customer will see an unavailable combination. If a size doesn't exist yet, don't create a variation for it, or untick the “Enabled” box.
  • When duplicating a product, check the variations. The copy carries over variations together with sale prices and dates, including ones that have already passed.
  • After a wholesaler import, check a sample. Open three or four products from different categories and expand the variations. Empty fields usually repeat across the whole file.

When the problem affects many products at once

Missing variation prices rarely affect a single product. They are usually left behind by a wholesaler import, duplicating a product or adding a new size to an attribute, after which new variations have to be created. New variations get empty price and stock fields.

The TellMyShop plugin for WordPress and WooCommerce reads full product data, including variations, even in the free TellMyShop Free. Your chat (Claude or ChatGPT) finds variations without a price, with a zero price, with an expired sale, with zero stock and with a repeated SKU, and gives you the result in one list.

In TellMyShop Pro the chat fixes the prices, stock and SKUs of existing variations, up to 50 variations in one batch. This needs the Sales switch turned on in the plugin panel. The switch stays on until you turn it off, and the chat prepares a preview even when it is off. An example conversation, with illustrative values:

You: Customers say they can't buy size XL in the hoodies. Check the variations.

Your chat: The Hoodies category has 12 variable products. In 4 of them the XL variation has no regular price, so it can't be bought. In 2 others XL has a sale price with an end date of 2026-09-30, which has passed, but the strikethrough stayed in the cache.

You: Set XL the same as L in those four.

Your chat: Preview:

The other two products are in the same preview. I'll save it after your ‘yes’. The Sales switch needs to be on.

Card status: waiting for your “yes”
change preview

Bieszczady hooded sweatshirt, XL

old version: regular price: none

new version: regular price: €189.00 incl. VAT

Pieniny fleece, XL

old version: regular price: none

new version: regular price: €149.00 incl. VAT

Illustration: products, numbers and replies are examples.

The chat states whether prices are net or gross. It doesn't change tax settings, because taxes are always read-only in TellMyShop. You add new variations and new attribute values on the product page, and the chat then fills in their prices and stock. Every save goes into the change history, and you can undo most changes.

If a product with variations doesn't appear in the shop at all, go through the guide on a WooCommerce product not showing. When you want to change the prices of many products, not just variations, the article on bulk price changes in WooCommerce will help. The plugin details are on the TellMyShop for WordPress and WooCommerce page, prices in the pricing, and the other guides on the blog.

Questions and answers

Why doesn't a variation without a price appear in the shop?

WooCommerce treats a variation without a price as unavailable to buy. After choosing that combination, the customer sees a message that the product is unavailable, and when no variation has a price, the product has no add to cart button either. Enter a regular price in every enabled variation.

Why does the product list show a price range instead of one amount?

A variable product with variations at different prices shows the lowest and highest price on the list. That is the default behaviour. If the range looks odd, for example starting from €0, one of the variations has a zero price or a forgotten sale price.

I changed a variation price, but the shop shows the old one. What do I do?

First clear your cache plugin's cache and check in a private window. WooCommerce also stores cached variation prices, which you clear under WooCommerce, Status, Tools. If that doesn't help either, check whether the variation has a scheduled sale price.

Will the chat add new variations, such as a new size?

The variations tool in TellMyShop changes the prices, stock and SKUs of existing variations, up to 50 at once. You add a new size to the attribute and new variations on the product page. The chat can then fill in their prices and stock.

Will the free TellMyShop Free find variations without a price?

Yes. TellMyShop Free reads full product data, including variations with price, stock and SKU, so the chat points out the ones without a price or with a zero price. Saving prices and stock works in TellMyShop Pro after you turn on the Sales switch.

WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.

TellMyShop for WordPress and WooCommerce

Your chat reads the site, shows every change before saving it and saves only after your yes. You can undo most changes with one sentence. Works with Claude or ChatGPT, free accounts included.

Read next