How-to'sMay 14, 20265 min read

Product Options and Variants: Selling One Thing in Many Versions

Mellisa.M

Mellisa.M

Author

Product Options and Variants: Selling One Thing in Many Versions

You sell T-shirts. The same shirt comes in three sizes (Small, Medium, Large) and three colors (Black, White, Navy). How do you list that on your store?

You could create 9 separate products — one for each combination. That's painful for you to manage, and confusing for customers who land on "Plain T-shirt Black Small" and then have to hunt around to find Medium.

The better way is product options and variants. One listing for "Plain T-shirt", with pickers on the storefront that let the customer choose their size and color. That's what this post is about.

🧠 The two-minute mental model

Options are the questions you ask the customer — Size? Color?
Variants are the physical items they can buy — one Small Black shirt, one Medium Navy shirt, etc. Each variant has its own stock count.

Options vs. variants — what's the difference?

This is the part most merchants get tripped up on, so let's slow down.

An option is a category of choice. "Size" is an option. "Color" is an option. "Material" is an option. They're the things a customer needs to pick.

Each option has values. Size has Small, Medium, Large. Color has Black, White, Navy. Material has Cotton, Polyester.

A variant is one specific combination — one physical item sitting in your warehouse. A "Medium Black cotton T-shirt" is one variant. A "Small Navy cotton T-shirt" is a different variant. Each one has its own count of how many you have in stock.

So when you set up a shirt with two options — Size (S/M/L) and Color (Black/White/Navy) — you end up with 3 × 3 = 9 variants. One row for each combination.

A real walkthrough: setting up a T-shirt

Let me walk you through it like we're doing it together.

Step 1: Fill in the basics

Open New product in your dashboard and fill in the usual fields:

  • Name: Plain T-shirt
  • Description: Soft cotton tee, regular fit
  • Category: Apparel
  • Price: ¢50

For now, leave the Stock field empty. As soon as you add variants, that field becomes the total of all your variants and you don't type into it directly.

Step 2: Set up your options

Scroll down to the Options card and tap Add option. You'll see two fields:

Option name (the question): Size Values (the answers): [Small] [Medium] [Large]

The option name is the question you're asking the customer. The values are the possible answers. Type "Size" in the name field, then add Small, Medium, and Large as separate chips.

Tap Add option again to add Color:

Option name (the question): Color Values (the answers): [Black] [White] [Navy]

Now you've declared what kinds of choices the customer can make. But no variants exist yet — just the menu.

⚠️ Common mistake

Don't type your *values* in the *option name* field. "100ml", "Large", or "Red" are values, not names. If your option name has a list inside it, you've mixed them up. The name is the question; the values are the answers.

Step 3: Generate the combinations

Tap Generate variants from options. The system creates one row for every possible combination — 3 sizes × 3 colors = 9 variants:

Variant Size Color Stock
Small / Black Small Black 0
Small / White Small White 0
Small / Navy Small Navy 0
Medium / Black Medium Black 0
Medium / White Medium White 0
Medium / Navy Medium Navy 0
Large / Black Large Black 0
Large / White Large White 0
Large / Navy Large Navy 0

Each one starts at zero stock and inherits the main product price. You don't need to type the names — they're generated for you.

Step 4: Set per-variant stock

Now go down the list and type how many of each you actually have:

  • Small / Black: 4
  • Small / White: 3
  • Small / Navy: 2
  • Medium / Black: 6
  • Medium / White: 5
  • Medium / Navy: 3
  • Large / Black: 4
  • Large / White: 2
  • Large / Navy: 1

Look up at the main Stock field — it now reads 30 automatically, with a small caption: "Total of 9 variants. Edit per-variant stock below." You don't have to keep that number in sync — the system does.

If one variant costs more (say Navy is a premium dye and you charge ¢55 for it), you can override the price on that row too. Optional.

Step 5: Save

That's it. The product is live.

What your customer sees

When a shopper opens your storefront and clicks the T-shirt, they don't see 9 separate listings. They see this:

Plain T-shirt — ¢50

Size:    [ Small ]   [ Medium ]  [ Large ]
Color:   [ Black ]   [ White ]   [ Navy ]

🟢 30 in stock

[ Add to cart ]    

Two pickers, one per option group. The page starts on the first in-stock combination. As they tap Medium, the stock counter updates to whatever Medium has across the colors. Tap Navy and the counter narrows further — that exact Medium/Navy combo.

When a combination is sold out, the page strikes through that button so they can see it's unavailable. They can switch to a different size or color and the available combos come back into focus.

What happens when someone buys

Say a customer buys 1 × Large / Navy. The moment they pay:

  • Large / Navy drops from 1 to 0 in stock
  • Total product stock drops from 30 to 29

Both happen in the same instant, atomically. No manual reconciliation, no spreadsheet, no waking up to wrong inventory counts.

The next shopper who picks Large and tries to choose Navy sees it greyed out as Out of stock. They can still buy Large/Black or Large/White.

Common patterns and how to handle them

👕

Only one dimension

A shirt that only comes in sizes (S/M/L), no color choice. Add one option, "Size", with three values. Generate. You get 3 variants. Storefront shows a single picker.

No options at all

A plain coffee mug. Just one SKU. Skip the Options card entirely and type your stock number directly in the Stock field, like before. No picker on the storefront.

🎨

Asymmetric stock

You stock Navy only in Medium, not Small or Large. Generate all 9 variants, then delete the Small/Navy and Large/Navy rows. The storefront automatically strikes out Navy when Small or Large is selected.

💰

Different prices per variant

Large costs more than Small? Edit that variant's price directly. The storefront shows the right price the moment the customer picks that size.

A few rules to keep in mind

You can have up to 2 option groups per product today. So Size + Color is fine, Size + Color + Material isn't (yet). If you need three dimensions, combine two of them: "Cotton Black, Cotton White, Silk Black, Silk White…"

Variants are combinations, not standalone things. You can't have "Blue" as a variant if you haven't first added "Color" as an option group. Adding a stray variant called Blue without declaring Color as an option means customers will never see Blue as a choice — it's data the storefront has no way to surface.

Stock auto-syncs. Once you have variants, the main Stock field on the product is just the live sum. Don't try to edit it directly — edit the variant rows. If you delete every variant, the main field becomes editable again.

Generating preserves your work. If you've already set stock on a few variants and then regenerate (say, after adding a new color), the system carries over your existing stock numbers wherever the combinations still match. You don't have to retype everything.

When NOT to use variants

Not every product needs variants. Use them when you have the same product in different versions where someone genuinely needs to pick one. Don't use variants for:

  • Bundles of unrelated items (sell those as separate products)
  • "Add a gift card" type upsells (use a separate product)
  • Two products that just share a name but are actually different things

If you're typing variant names like "Pink, red and white, blue, white etc" or "Set A (S,M,L), Set B (M,L,XL)" — that's a sign you're trying to cram too much into one product. Split them.

Try it on a test product first

The fastest way to feel comfortable with this is to make a fake product on your store, add Size and Color options, generate the combos, and walk through the storefront yourself. Mark the product as draft so customers don't see it. Once you've done it once, you'll never go back to listing duplicate products.

Variants and options exist for one reason: to let you sell the way you actually run your business, without making customers (or yourself) hunt for the right version. Set them up right once, and your storefront does the work from there.

Get weekly business tips

Join 1,000+ entrepreneurs growing their online businesses.

No spam, ever. Unsubscribe anytime.

Related articles