Independent ecommerce publication — not affiliated with any government body.
EcomHub Ecommerce Intelligence
Subscribe to the newsletter

How to Set Up Product Variants and Options Correctly

Variants look simple until a customer orders a size you never stocked. Here is how to model options cleanly so inventory, pricing, and the buyer's experience all hold together.

TH Tomás Herrera
Store Building Editor
Jun 22, 2026 · 5 min read
How to Set Up Product Variants and Options Correctly

Product variants are one of those store features that feel trivial when you have one or two, and turn into a mess when you have twenty. A shirt that comes in three sizes and four colors is not one product; it is potentially twelve distinct things you can sell, each with its own stock level, and possibly its own price and photo. Model that badly and you get oversells, orders you cannot fulfill, and a checkout that confuses buyers. Model it well and the complexity stays invisible to the customer.

This guide is platform-agnostic. The exact menus differ between store builders, but the concepts and the sequence are the same everywhere. I will walk through the vocabulary, the planning, and the setup, and then the mistakes that cause the most support tickets.

Get the vocabulary straight first

Most confusion comes from mixing up two words that platforms use loosely. An option (sometimes called an attribute) is a characteristic that varies, such as Size or Color. Each option has values: Size might have Small, Medium, Large; Color might have Black, White, Blue. A variant is a specific combination of values that a customer actually buys, such as Medium / Blue. The variant is the thing that has a stock count and, usually, a SKU.

This distinction matters because inventory lives at the variant level, not the option level. You do not have twenty Mediums in stock; you have twenty Medium / Blue and five Medium / Black. If your platform lets you track stock per variant, use it. If it only tracks stock at the product level, you have a weaker tool and need to be more careful, or you split into separate products.

Decide what is a variant and what is not

Before you touch the store editor, sort your options into categories, because they are handled differently.

True variants

These are physically distinct items you hold or produce separately: size, color, material, capacity. Each combination is a real, countable unit. These belong in your variant system with their own stock and SKUs.

Add-ons and upgrades

These add something to a base product without creating a separate stocked item, such as gift wrapping or an extended warranty. Depending on the platform, these are handled as product add-ons or as separate line items rather than as variants, because they do not have their own base inventory in the same way.

Personalization

Custom text engraving, a monogram, or a name on a jersey is not a variant at all in the inventory sense. It is a made-to-order instruction attached to an item. Model these as text input fields on the product, not as an explosion of variants, or you will drown in combinations that do not represent real stock.

Getting this sort right is the single highest-leverage decision in the whole process. Treating personalization or add-ons as variants is how stores end up with hundreds of meaningless combinations.

Plan your options before you generate combinations

Because variants multiply, plan on paper or in a simple grid before you build. List each option and its values. Then remember that the total number of possible variants is every value of every option multiplied together. Two options with a handful of values each already produce a table with dozens of rows. Three options can produce far more than you will ever stock.

Two disciplines keep this sane:

  • Keep options few. Every extra option multiplies the table. If an attribute does not genuinely change what you ship or what you charge, it probably should not be an option.
  • Keep values consistent. Decide on your naming and stick to it across products: pick either “S / M / L” or “Small / Medium / Large,” not both. Consistent values make later filtering, reporting, and bulk edits far easier.

Build the variants in your store

With the plan in hand, the setup follows a predictable order on nearly every platform:

  1. Create the base product. Give it a clear title, description, and default images before adding options.
  2. Add each option and its values. Enter Size with its values, Color with its values, and so on. The platform will typically offer to generate the full combination table.
  3. Prune the combinations you do not sell. The generated table almost always includes combinations you never stock. Delete them. A leaner table is easier to manage and prevents customers from selecting something impossible.
  4. Set per-variant details. For each remaining variant, set its price (if it differs from the base), its stock count, and its SKU. Add a variant-specific image where color or material would otherwise be misleading.
  5. Assign unique SKUs. Give every variant a distinct, human-readable SKU that encodes the product and the key attributes, so you and your fulfillment process can tell them apart at a glance.

Why per-variant SKUs and stock matter so much

Unique SKUs and per-variant stock counts are what stop overselling and mis-shipments. When each Medium / Blue has its own SKU and its own count, the platform can decrement the right number, mark that exact variant out of stock, and tell your warehouse or packer precisely what to pick. Skip this, and you will sell things you do not have and ship the wrong ones.

Handle pricing, images, and availability per variant

Not every variant needs a different price, but some legitimately do; a larger size or a premium material may cost more. Set those at the variant level rather than faking it with separate products. For images, attach variant-specific photos when the attribute is visual, so a customer choosing Blue sees the blue item. And when a specific variant sells out, let it show as unavailable rather than hiding it entirely, so buyers understand it exists and may return.

Test every path a customer can take

The last step is the one people skip, and it catches the errors that matter most. Open your live product as a customer would and try to buy it. Select each option, watch the price update, confirm the right image appears, and place a test order for at least a couple of variants. Deliberately try to select a combination you deleted, and confirm the store does not let you. Then check that the test order decremented the correct variant’s stock.

Ten minutes of clicking through your own store before launch prevents the worst variant failure there is: a customer successfully ordering and paying for something you cannot ship. Everything upstream in this guide exists to make that impossible, and this test is how you confirm it.

Frequently asked questions

What is the difference between an option and a variant?

An option (or attribute) is the characteristic that varies, such as Size or Color, and each option has values like Small, Medium, and Large. A variant is a specific combination of those values that a customer actually buys, such as Medium / Blue. Inventory and SKUs live at the variant level, which is why the distinction matters.

How many variants is too many?

There is no universal number, but variants multiply quickly because every option's values combine with every other option's. If you find yourself managing dozens of combinations you rarely sell, that is a sign to reduce the number of options, or to split the range into separate products. Keep only the combinations you genuinely stock.

Should personalized or custom-text products be set up as variants?

No. Personalization such as engraving or a monogram is a made-to-order instruction, not a stocked combination, so it should be a text input field on the product rather than a variant. Modeling it as variants would create a huge number of combinations that do not represent real inventory.

Why does each variant need its own SKU?

A unique SKU per variant lets the platform track stock for that exact combination, mark it out of stock independently, and tell your fulfillment process precisely what to pick and pack. Without per-variant SKUs and stock counts, you risk overselling items you do not have and shipping the wrong ones.

inventoryproduct optionsproduct variantsskustore setup
TH

Tomás Herrera

Store Building Editor · Shopify, WooCommerce, BigCommerce & migrations

Tomás edits our store-building desk — platform choice, store setup, themes and apps, and the migrations that move a business from one platform to another. If it involves standing up or re-platforming a store, it goes through him.

Related guides

Hand-picked reads on the same topic.

More store building
The Ecom Hub Brief

Get this kind of analysis weekly.

One email on what changed in ecommerce and the tools worth your budget. Free.