If you sell products that come in different sizes, colors, materials, or any other options, WooCommerce product variations are how you handle that cleanly. Instead of creating a separate product listing for every combination — a red shirt in small, a red shirt in medium, a blue shirt in small, and so on — variations let you manage all of that under a single product with its own pricing, stock levels, and images per option.

Here’s how they work and how to use them effectively.

The Difference Between Attributes and Variations

Before getting into setup, it helps to understand the distinction between two things WooCommerce treats separately: attributes and variations.

Attributes are the characteristics of a product — things like color, size, or material. You define these first. Variations are the specific combinations of those attributes that you actually sell. A product might have a “Color” attribute with values Red, Blue, and Green, and a “Size” attribute with values Small, Medium, and Large. Each purchasable combination — Red/Small, Red/Medium, Blue/Large, and so on — is a variation.

You don’t have to offer every possible combination. If you only stock Blue in Large, that’s the only variation you need to create.

Setting Up a Variable Product in WooCommerce

Start by creating or editing a product and changing the product type from “Simple product” to “Variable product” in the Product Data section. This unlocks the Attributes and Variations tabs.

Step 1: Add Your Attributes

Go to the Attributes tab and add the characteristics that apply to this product. You can use global attributes — ones you’ve defined site-wide and can reuse across products — or create custom attributes specific to this product. Global attributes are the better choice if the same options appear across many products, since WooCommerce can use them for filtering and shop navigation.

Enter all the values for each attribute — every color, every size, every finish — and check “Used for variations” before saving. That’s what tells WooCommerce these attributes will generate actual purchasable options, not just display information.

Step 2: Generate Your Variations

Switch to the Variations tab. You have two main options here: generate all variations automatically (WooCommerce creates every possible combination of your attributes) or add variations manually one at a time. For most products, auto-generating and then deleting the combinations you don’t carry is faster than building each one by hand.

Be aware that WooCommerce will warn you if you’re generating more than 50 variations at once — it can handle more, but large numbers of variations affect page load time and should be approached thoughtfully. If you have a genuinely large matrix of options, consider whether some combinations could be handled as separate products instead.

Step 3: Configure Each Variation

Each variation can have its own price, sale price, SKU, stock quantity, weight, dimensions, shipping class, and image. This is where variable products become genuinely powerful. A larger size might cost more — set a different price. A color you’re running low on — set its stock independently. A variation with a product-specific photo — upload that image and it’ll display when the customer selects that option.

At minimum, set a price for every variation. WooCommerce won’t display a variation as purchasable without one.

Common Use Cases

Product variations work well beyond the obvious clothing examples. A few scenarios where they’re the right tool:

  • Apparel: Size and color combinations with per-variation stock and images
  • Food and beverage: Pack size or weight options (250g, 500g, 1kg) with different pricing
  • Subscriptions: Monthly vs. annual billing at different rates (though this often works better with a dedicated subscription plugin)
  • Personalized products: Variations based on material, finish, or personalization options
  • Digital products: Different license tiers or file format options

What to Watch Out For

Performance

Products with a large number of variations can slow down your product pages. WooCommerce loads variation data via JavaScript, and loading 100+ variations means loading a lot of data. If you have products with a very large matrix of options, look into plugins that handle variation data more efficiently, or consider restructuring how the product is presented.

Missing Prices

Any variation without a price set will show as unavailable to customers. If you generate variations automatically and don’t configure them all, you’ll end up with a product that looks broken in the shop. Build in time to review every variation after setup.

Stock Management

You can manage stock at the product level or the variation level, but not both simultaneously. If you enable variation-level stock management, each combination has its own inventory. This is more accurate but requires more maintenance. Choose whichever approach matches how you actually track your inventory.

When Variations Aren’t the Right Tool

Variations work well for options that don’t fundamentally change what the product is. When options are complex enough that each really deserves its own product page, its own SEO treatment, or a completely different set of images and descriptions, separate products are often cleaner. There’s no hard rule here — it depends on how different the options actually are and how you want customers to navigate your catalog.

For highly configurable products — furniture with custom dimensions, for instance, or products with uploaded personalization — WooCommerce product add-ons or a custom configurator may be a better fit than the standard variation system.

Getting Your Store Set Up Right

Product configuration decisions made early in a WooCommerce build affect everything downstream — performance, inventory management, customer experience, and SEO. At Interactive Design Group, we think through these decisions as part of every WooCommerce store we build, so the structure works for your catalog and your business rather than creating problems you’ll need to unpick later.

If you’re building a new store or dealing with a product catalog that’s become hard to manage, get in touch — we’ll help you figure out the right approach.