Your customers shouldn't have to guess which size, color, or version they're buying. WooCommerce variable products keep those choices on one product page, with prices, images, and stock tied to each available combination.

We recommend a clear, consistent setup before adding extra plugins or polishing the design. That gives shoppers confidence and makes your catalog easier to manage.

Start with the options you sell, then build the variations around them.

Plan product options before opening the editor

A little planning saves a lot of clicking. Decide which choices change the item customers receive and which details simply describe it.

Three differently colored cotton T-shirts arranged beside fabric swatches and a measuring tape.

Separate attributes from variations

An attribute describes a choice, such as Size or Color. A variation is a purchasable combination of those choices.

For a shirt, Medium and Blue are attribute values. Medium Blue is the variation customers add to their cart.

Keep descriptive information separate. Fabric composition can appear in product details without becoming a selectable option. We recommend adding a variation attribute only when the choice changes what customers buy.

Choose reusable names and real combinations

Use global attributes when several products share the same options. WooCommerce's guide to product attributes explains how these reusable terms work across your catalog.

Keep names consistent. Mixing "Medium," "M," and "Med" makes filters and product maintenance harder.

Before generating anything, confirm which combinations you offer. Three sizes and three colors create nine possible combinations, but your supplier may not stock all nine. Build the catalog around available products, not every mathematical possibility.

How to set up WooCommerce variable products

The following workflow uses WooCommerce's classic product editor. Labels and layouts can differ if you're using another editing interface.

Add the product and its attributes

Open Products > Add New, enter the title and description, and select Variable product in the Product data dropdown.

Open the Attributes tab. Choose existing global attributes or create custom attributes for this product.

For custom values, separate each option with a vertical bar: Small | Medium | Large.

Select Used for variations for every attribute that should create purchasable choices. Save the attributes before moving to the Variations tab. The visibility setting controls whether an attribute appears in product information; it doesn't replace the variation setting.

Generate combinations or add them manually

In Variations, generate variations from the saved attributes or add individual variations manually. We prefer manual creation when only a few combinations are available.

WooCommerce's variable product documentation covers both methods. Generation creates at most 50 variations per action, so repeat the action when more are needed. That isn't a total product limit.

Review the generated combinations before filling in prices. Remove combinations you don't sell, and avoid overlapping catch-all variations unless you understand how they'll match customer selections.

Save the variation changes, then update or publish the product once its details are complete.

Complete the details that make each variation sellable

Creating variations gives you the structure. Prices, photos, and fulfillment details turn that structure into a product customers can buy.

Set prices and identify each item

Expand each variation and enter its regular price. A variation needs a price to appear in the store and be purchasable.

Add a sale price only where the discount applies. Discounting one size doesn't discount every size automatically. If you're scheduling a promotion, review the schedule for each eligible variation.

Assign unique SKUs when you need separate inventory or fulfillment references. A variation doesn't require its own SKU. If its SKU is blank and the parent product has one, WooCommerce falls back to the parent's SKU.

Match photos and shipping details

Set the main product image, then use the gallery for extra angles and details. Assign variation images when the appearance changes, especially for different colors.

Uploading a photo to the Media Library doesn't attach it to a variation. Select the image, save your changes, and check the storefront.

Review weight, dimensions, and shipping class too. Shared product-level shipping values can apply when variation-specific values are blank. Enter separate values when a choice changes the shipping calculation.

For products marked Virtual, the shipping section isn't available. Use that setting only when physical delivery isn't part of the purchase.

Track stock where the physical inventory lives

Inventory settings need a deliberate choice. Otherwise, a sale can look wrong simply because you're checking the wrong field.

Manage separate stock per variation

If each size or color has its own physical quantity, enable stock management on those variations. Enter the quantity and review stock status and backorder permissions.

After an order, inspect the variation named in that order. When Medium Blue manages its own stock, that variation's quantity should decrease. Small Blue should remain unchanged.

We recommend checking imported variations individually. One imported item can have different stock rules from the rest, even when the product page looks consistent.

Use parent stock for a genuine shared pool

Product-level stock is useful when choices draw from the same physical inventory. Decide whether that matches how you store and fulfill the items.

Check whether stock is managed on the parent, individual variations, or a deliberate combination. Don't assume the parent quantity is a total of separately managed variation quantities.

When variations manage their own stock, compare an order against the selected variation's quantity, not the parent product's inventory field.

Clear stock ownership makes order checks faster and helps prevent accidental overselling.

Make the storefront choices easy to understand

A technically correct product can still leave shoppers scratching their heads. The selection interface deserves the same attention as the settings.

Use clear labels and helpful defaults

Use familiar attribute names such as Size, Color, or Capacity. Put values in a logical order and explain measurements near the selector when needed.

For clothing, a size guide can answer questions that "Small" and "Large" leave open. For dimensions, include units.

Default attribute selections are optional. We recommend them when there's a sensible starting choice. Check that the default combination is available and that customers can clearly see what has been selected.

Add visual controls only when they help

Dropdowns are a sensible starting point. Color swatches or size buttons can make choices faster to scan, but they usually require an extension or theme feature.

WooCommerce's variation display extension documentation describes one option for changing presentation.

Keep readable labels alongside visual controls. Similar colors can be difficult to distinguish, and swatches shouldn't be the only way to identify an option. Test keyboard navigation and mobile use before committing to a new selector.

Test selections, checkout, and stock before launch

Previewing the product page is only the first check. We want the selection to stay correct through the entire order.

A store owner reviews a product sample beside an inventory grid in a packing area.

Run a test purchase using your payment gateway's test mode:

  1. Select available combinations and confirm the price, image, and availability.
  2. Add a variation to the cart and verify its attributes and quantity.
  3. Complete checkout and inspect the order's variation details.
  4. Check the correct stock quantity after the order reaches a stock-reducing status.

Also test an unavailable combination and reset the selection. Repeat the storefront checks on a phone.

WooCommerce uses dynamic dropdown behavior by default for products with 30 or fewer variations. Above 30, dropdowns are static, so some unavailable combinations may remain selectable until WooCommerce checks the full selection. This threshold is separate from the 50-per-generation limit.

If purchasing fails, start with our guide to troubleshoot WooCommerce checkout errors. Fix the cause before sending paid traffic to the product.

Give your store hosting that supports the workload

Clear options help customers choose. Reliable hosting helps them complete the purchase.

WooCommerce handles sessions, inventory, shipping calculations, taxes, and payment callbacks. That workload grows during promotions, even when the product catalog hasn't changed.

We recommend checking memory, disk space, PHP compatibility, and server logs when variation loading or checkout becomes unreliable. Ask your host to inspect blocked requests and resource limits rather than repeatedly changing product settings.

Our WooCommerce hosting launch checklist helps you review the foundation before launch. Keep cart, checkout, and account content out of shared full-page caching unless the configuration explicitly handles customer-specific data safely.

Choose a ZADiC hosting plan with the resources and support your store needs. As traffic grows, compare web hosting and VPS options before recurring slowdowns become part of the shopping experience. Hosting won't correct missing prices or stock rules, but adequate resources give a correctly configured store room to operate.

Key takeaways for a cleaner product catalog

We keep the setup focused on a few decisions:

  • Choose attributes customers understand and create only combinations you sell.
  • Give every purchasable variation a price and accurate availability.
  • Match stock tracking to the physical inventory.
  • Test the selected variation through checkout before launch.

Add presentation extensions after the basic workflow works.

FAQ

Why isn't a variation appearing on the product page?

Check that the variation is enabled, has a price, and matches the saved attributes. Review its stock status and your store's out-of-stock visibility settings. Save variation changes and update the product before testing again. We recommend checking those settings before changing your theme.

Can variations share stock or shipping settings?

Yes. Parent-level stock can support a shared inventory pool, while variation-level stock supports separate quantities. Product-level shipping values can also apply when variation fields are blank. Choose settings that match your fulfillment process, then verify them with a test order rather than assuming every field needs separate values.

Build clear choices on a dependable foundation

WooCommerce variable products work well when the choices, prices, and inventory agree. Your customer should see exactly what's available and receive exactly what they selected.

We recommend building one complete, tested product before repeating the setup across your catalog.

Give that catalog a dependable home with our managed WordPress hosting. Compare the available plan features and choose the support, backups, and capacity your store needs to sell with confidence.

We use cookies so you can have a great experience on our website. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Who we are

Our website address is: https://zadic.net.

Comments

When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection. An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year. If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser. When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed. If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website. These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue. For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.
Save settings
Cookies settings