How to set up product variants
When to use a variant and when a separate product. Includes plant-specific decision rules for pot size, plant size, foliage colour, and pot finish.
Written By Bas den Hoed
Variants exist to keep one product page when the underlying item is essentially the same β a Calathea in 12cm or 17cm, a pot in white or terracotta. They become a problem the moment resellers stretch them too far: stuffing two unrelated SKUs into a single dropdown because the back-end allows it. This article gives you a decision tree for variant vs separate product, with plant-specific examples.
π‘ The most common reseller mistake: if it fits in a dropdown, it goes in a dropdown. A Monstera 12cm and a Monstera 17cm look like the same product on the shelf β but with a price gap of β¬18, separate photography, and different customer intent, they should be two product pages, not one.
Variant or separate product β the decision tree
Two questions decide it. Both have to answer "yes" for a variant; one "no" pushes it to a separate product.
Same SEO intent? Would a customer search for both options with effectively the same query? "Monstera Deliciosa 12cm" and "Monstera Deliciosa 17cm" β yes, same intent, different size. "Monstera with pot" and "Monstera without pot" β different intent.
Same photography and copy? If you can use one hero photo and one product description, with only the swatch or size changing, it's a variant. If each option needs its own shoot or its own paragraph, it's a separate product.
If you're hovering, default to separate products β you can always merge later, but unwinding a variant page that Google has indexed is painful.
Variants that work for plants
Three axes do the heavy lifting in a plant shop:
Pot size (Γ). 12cm, 17cm, 21cm. Same plant, different stage. Customer mental model already groups these.
Plant height at delivery. Useful when growers offer the same SKU at multiple stages β e.g. Ficus Lyrata 60cm vs 100cm vs 140cm.
Foliage colour or pattern for plants where colour is the variation, not a different cultivar. Calathea Orbifolia vs Calathea Medallion are different products. But a Hypoestes "Pink", "Red", "White" β same plant, different colour expression β that's a clean variant axis.
Pot colour or material, if you sell the same plant pre-potted in two or three planter options.
Stick to a maximum of three variant axes per product. Three is already 27 variant combinations if each axis has three values; in practice you'll only stock a fraction of those, and the variant matrix becomes a maintenance burden.
"With pot" vs "without pot" β almost always separate
Tempting to make this a variant. Don't. With pot is gift-ready: styled photography, "ready to gift" copy, price reflects the pot. Without pot is for the repotter: nursery-pot photography, repot timing in the copy, lower price, upsells lead to pots and soil. Separate intent, separate funnel β separate products.
The β¬10 rule of thumb
If the price difference between two options is more than β¬10, they're probably separate products. Above that gap, the cheaper option starts to feel like a downgrade rather than a size choice. A Monstera Deliciosa 12cm at β¬14.95 and a 17cm at β¬34.95 (β¬20 gap) are different purchase decisions and benefit from separate landing pages β different photography, different positioning, different filters. Use the gap as a tiebreaker when the SEO/photography test was inconclusive.
Naming variants β short labels win
The variant label appears in the dropdown, the cart, the order confirmation, the customer-service email. Keep it short and unambiguous.
Good:
12cm,17cm,21cm.Bad:
Pot diameter 12cm β Pot colour white β Plant height 30cm.
The variant name is not the place to dump every spec. Specs go in the spec table on the product page. Variants get the smallest label that lets the customer pick the right one. If your variant name doesn't fit in a 200-pixel dropdown without truncating, it's too long.
Stock semantics β the parent stays visible
One variant going out of stock should never make the entire product disappear. The parent product page stays live; the unavailable variant either greys out in the selector or shows a "Notify me" button. This is platform-level configuration:
Shopify: "Continue selling when out of stock" off, but "Hide product when all variants are out of stock" β only when all are zero. Don't set this at the variant level.
WooCommerce: manage stock per variation, set "Out of stock" visibility to "Show" so the variation greys out instead of removing the product from collections.
Hiding a Monstera page because the 12cm sold out β while the 17cm and 21cm are still in stock β costs you a sale and a Google ranking. Verify this behaviour by deliberately zeroing one variant in a staging store and checking the live page.
Next action
Open your top 10 best-selling products. For each, ask: are the current variants doing the work, or are they hiding what should be separate products? Look first at any product where the price gap between variants exceeds β¬10, or where one variant has noticeably worse conversion than its siblings β that's usually the one that should be its own page.
Once your variant structure is right, the related work follows naturally: see product specifications for what to put in the spec table beneath the variant selector, and filters and attributes for how variant data feeds your collection-page filters.