Three different things get called the same thing on Shopify: a variant, a custom option, and an add-on. Choosing the wrong one does not break the store immediately — it breaks inventory, filtering and reporting six months later. Here is how to pick correctly the first time.
Variants are Shopify's native way to express genuinely different sellable units of a product. Each variant has its own SKU, price and inventory. Size and colour are variants.
Custom options capture shopper input that does not change what you ship from stock — a name for engraving, a gift message, a chosen delivery date. Historically stores built these with line-item properties in theme code; now they are commonly handled by an options app.
Add-ons are optional extras with their own price that attach to the order — gift wrap, a warranty, express assembly, a spare filter. They are not standalone purchases and they do not describe the product.
| Model | Has its own SKU & stock | Changes price | Example |
|---|---|---|---|
| Variant | Yes | Can | Blue / Large |
| Custom option | No | Usually not | Engraving text, gift message |
| Add-on | Optional | Yes | Gift wrap $4, warranty $49 |
Variants multiply. Shopify allows a limited number of options and a capped number of variant combinations per product, and every extra you add as an option combines with everything else. Three colours and four sizes is 12 variants; add a two-choice gift wrap option and it is 24, half of which exist only to carry a $4 upcharge.
The count is the least of it:
| If the extra… | Use |
|---|---|
| has its own stock you count, and the shopper must choose one | Variant |
| is free text or a date you pass to fulfilment | Custom option |
| costs extra and is optional | Add-on |
| is a complete product that pairs with this one | Frequently bought together bundle |
| is free once a spend threshold is met | Gift with purchase |
| is a more expensive version of the same product | Variant, plus an upsell prompt |
Two practical notes. First, charge for add-ons as their own line rather than bundling the cost into the product — a visible $4 gift wrap converts better than a product that silently costs $4 more. Second, keep it to one add-on prompt per product, two at most; an add-on menu is a decision tax paid on the way to checkout.
If you want extras offered after the cart, read add-ons at checkout on Shopify for what each surface actually allows.
A variant is a distinct sellable unit of the product with its own SKU, price and inventory — size and colour are variants. An add-on is an optional priced extra that attaches to whichever variant the shopper chose, such as gift wrap or a warranty. Add-ons do not describe the product, so modelling them as variants multiplies your variant matrix for no benefit.
Yes, by adding line-item property fields in your theme's product form, which passes the shopper's input through to the order. It works for simple text capture, but it requires theme edits and gives you no pricing, conditional logic, or reporting — which is why most stores use an app once options need prices attached.
They can be backed by real products when you need stock tracking — a physical gift box, for example — or run as priced extras that are not browsable in your catalog. Use a real product when something leaves your warehouse and gets counted.
One prompt, two at most. Every additional choice placed between the shopper and the buy button costs conversion, and the add-on revenue rarely covers that cost past the second option.
Not if they are modelled as add-ons rather than variants. Encoding extras as product options is what splits one physical item into several stock rows; attaching them as their own priced lines keeps inventory counting the product and nothing else.
Yes. Every NUO AI feature is included at $0, with no paid tier, order cap, or revenue share.