One product with options beats twelve near-identical listings. How to decide what is a variant, what is a separate product, and what to do when one sells out.
Sailo team12 min read
You make one hoodie. It comes in four sizes and three colours. Your shop now shows twelve hoodies, your grid looks like a wall of the same photo, and a buyer scrolling past assumes you sell one thing badly.
One product. Options underneath it. That's the rule for anything where the buyer would say "the same thing in blue", and it's a separate product only when they'd say "a different thing". Twelve listings for one $45 hoodie costs you three things at once: a grid nobody can scan, twelve stock counts you have to keep in your head, and the near-certainty that you'll sell a medium you don't have.
The rest of this is where that rule gets difficult, because it does.
Say the two versions out loud in a sentence a customer would use.
"Do you have the cotton tote in navy?" Variant. Same product, different colour.
"Do you have the cotton tote and the canvas backpack?" Two products.
"Do you have the 200g and the 500g?" Variant, usually, if the thing inside is identical.
"Do you have the unscented one?" This is the awkward one, and it depends on your buyer. If people shop by scent (candles, soaps, perfume oils), scent is closer to a product than a variant, because it's the thing they're choosing between and each one deserves its own photo in the grid. If people shop by product and pick a scent afterwards, it's a variant.
The rule of thumb that holds up: if a buyer would search for it by name, or if it needs its own photograph to be understood, it's leaning towards being a product. If it's a number on a label, it's a variant.
Most sellers create more option axes than their buyers use, and every extra axis multiplies the work.
Four sizes and three colours is twelve combinations. Add two lengths and it's twenty-four. Each one is a stock number, a potential oversell and a row in whatever you use to keep track. Before you add an axis, check that anyone has ever asked for it.
| Axis | Add it when | Skip it when |
|---|---|---|
| Size | The garment or item genuinely differs in measurements | You could make it one-size and say so |
| Colour | You hold stock in each colour | It's made to order and the colour is a note on the order |
| Quantity or weight | The price changes with the amount | People only ever buy one |
| Length, scent, finish | You've been asked for it more than twice | You added it because it sounded thorough |
Made-to-order sellers should pay particular attention to row two. If you make each piece when it's ordered, colour isn't a stock item, it's an instruction. A free-text option, or even a line in the order note, saves you from maintaining eleven colour variants that all have infinite stock.
Photography workload is the thing that stops people structuring variants properly, so decide this early.
A size does not need its own photograph. A medium and a large look identical in a picture, and the buyer isn't looking at the photo to judge size, they're looking at the measurements. Publishing four near-identical photos labelled S, M, L, XL adds nothing and makes your grid worse.
A colour absolutely needs its own photograph. Colour is the thing people are choosing, and a buyer who can't see the actual green will either ask you or leave.
So the shooting plan for a product with 4 sizes and 3 colours is:
Six photographs total. Not twelve, and definitely not twenty-four. The setup that makes those three hero shots match each other is in how to photograph what you sell, and it comes down to not moving the camera between colours.
The one exception: if a colour changes how the product behaves, show it. A white version that goes slightly transparent needs its own detail shot, and honestly it needs a sentence too.
For anything wearable, a size table in the listing text is not optional. Label sizes are not standardised across brands, across countries or across decades.
Give measurements in centimetres, taken flat, and say they're taken flat. Give the equivalent in the size systems your buyers actually use, which for an English-language shop probably means UK and US at minimum, and possibly EU.
| Size | Chest, flat | Length | Fits UK | Fits US |
|---|---|---|---|---|
| S | 52cm | 68cm | 8 to 10 | 4 to 6 |
| M | 55cm | 70cm | 10 to 12 | 6 to 8 |
| L | 58cm | 72cm | 14 to 16 | 10 to 12 |
Then add the sentence that stops the most returns: which way it runs. "Runs small, size up if you're between sizes" is worth more to a buyer than the entire table, because it's the judgement they can't make from numbers. Say it even when the answer is boring: "true to size, I'm a UK 12 and I wear the M."
If you sell clothing and haven't taken the tape measure photograph yet, that's the missing half of this: photographing clothes without a model covers how to shoot it.
This is the operational middle, and it's where variant structure earns its keep or costs you a customer.
You have four sizes. The medium sells out on a Friday night. Three things can now happen, and only one of them is good.
Bad: the medium is still selectable, someone orders it, and you find out on Monday. You now have a paid or pending order for something that doesn't exist, and every option available to you is a bit painful. Refund, substitute, or ask them to wait.
Also bad: you delete the whole product because one size is gone. You've just removed a listing that three other sizes were selling from, and if you re-add it later it's a new listing with no history.
Good: the medium is marked unavailable, the other three sizes keep selling, and the listing says when the medium is back. "M back in stock around the 14th, message me if you want one held."
The habit that makes this work is unglamorous: check stock against orders at a fixed time every day, not when you remember. Ten minutes, same time, and the medium gets switched off on Friday night rather than Monday morning.
The double-sell problem gets worse the more channels you sell across. If you take orders in Instagram DMs, in comments and through your shop link at the same time, three people can claim the last medium in the same hour and none of them will know. There's a workable system for that in selling in comments without losing track, and the short version is that one place holds the truth and it isn't the comments section.
One email on pricing, photographs, delivery and getting paid. No pitch, no filler.
Some variants cost you more to make. A 500g tub uses more product than a 200g one. A 3XL uses more fabric. A gold-plated chain costs more than a steel one.
Two approaches, and both are defensible.
Price each variant at its own cost plus margin. Honest, and correct if the cost differences are large. The risk is that charging more for larger sizes reads badly to some buyers in some categories, and in clothing specifically it's a live argument.
Average the cost across variants and charge one price. Simpler, kinder, and it works when the cost gap is small. If a 3XL costs you £1.20 more than a small in fabric and you sell forty a month across all sizes, spreading £12 across forty units is 30p each. Charge one price and stop thinking about it.
The line is roughly this: if the cost difference is under about 5% of the price, average it. If it's over 15%, price separately. In between, use judgement and lean towards simplicity, because every price you maintain is a price you have to remember.
Quantity variants are the exception where separate pricing is expected. A 500g tub at exactly 2.5 times the 200g price feels wrong to buyers even when it's arithmetically fair, because people expect a discount for buying more. Price the large size at a small discount per gram and say what the saving is. That's the mechanism that moves people up a size, and it's the cheapest way to raise your average order value. Work out the per-gram cost first, though, because a discount you haven't costed is a discount that eats the margin on your best-selling size.
Everything above is wasted if the option doesn't survive the trip from the shop to you.
This is the failure most sellers have lived through: a message that says "Hi, I'd like the hoodie please", no size, no colour, and now there's a two-hour gap while you ask and wait. Half of those conversations end without an order.
When a buyer taps through from a Sailo shop to WhatsApp, the message arrives already written: item, options, address, total. The size is in the message because the buyer picked it before the chat opened, not because they remembered to type it. That's the actual argument for structuring variants properly rather than describing them in a paragraph, and it's why "available in S/M/L, DM me" costs more orders than it looks like it should.
For chat-first shops, which is most shops in most markets, that pre-written order is the difference between a stream of orders and a stream of conversations. How to take orders on WhatsApp covers what to do with them once they arrive.
Write your option names as the buyer would say them, too. "Navy" not "COL-02". Internal codes are useful for you, and they belong in your own notes, not in the buyer's message.
Marcus prints hoodies in Atlanta. One design, four sizes, three colours, $45 each, around 55 orders a month, mostly from Instagram.
He started with twelve listings, because that's what felt organised. Twelve photos of the same hoodie, twelve stock counts, and a grid that showed the same garment over and over so nobody scrolled past the first row.
The restructure took an afternoon:
What changed in the numbers: his sand and forest colours started selling. They'd been on the fourth row of the grid where nobody ever scrolled, and moving them into an option on the main listing meant every visitor saw all three. His split went from about 80% black to roughly 55/25/20 within two months, on the same traffic.
What also changed: he stopped overselling XL. Twelve separate listings meant twelve stock numbers he was updating by feel. One product with twelve combinations meant one place to look, and the daily check took two minutes instead of ten.
The line he wishes he'd added sooner is the "size down for a regular fit" one. Three of his first fifteen orders came back as exchanges before he wrote it. None of the next fifty did.
Variants multiply against your product count, so know how the counting works before you plan a big catalogue. The free plan holds 10 products. That's 10 products, and a product with twelve size and colour combinations is one of them, which is exactly why structuring variants correctly matters more on a small plan than a large one. If you've listed the same hoodie twelve times, you've spent more than half your free plan on one garment.
The other thing to be straight about: on manual payment rails, nothing about a variant is reserved until you say so. An order sits pending until you confirm it, and Sailo can't tell you a bank transfer arrived. Only your bank can. So the last medium isn't sold when the order appears. It's sold when you've checked the money and marked it. Two people can be holding an order for it in the meantime, and if you're not checking daily, they will be.
Open your shop and count your listings. If two of them share a photograph, or if a buyer would describe them with the phrase "the same thing but", you've got a variant pretending to be a product. Merge those first, starting with your best seller.
Then write the one sentence of sizing judgement that no table can carry: runs small, runs large, or true to size. One sentence, on your most-returned product, today.
After that, the catalogue-level version of this problem is worth an hour: building a catalogue people can scan is about the order and grouping of the products themselves, which is the thing a buyer sees before they ever open a listing.
Written by
Sailo team
One link, your whole shop.
One email on pricing, photographs, delivery and getting paid. No pitch, no filler.
Sailo just gives it a front door — so people can browse, compare and see prices before they message you.
Get your linkFree while in beta · No card required