A customer wants a blind 46 by 63 inches. In oak, with a motor. Which variant is that?
It isn't one. A variant is a combination you built in advance, with its own price, SKU and stock. Nobody builds a variant for every width between 12 and 96 inches.
Product options are the other half of the answer: input fields on the product page. A width, a height, a material, an upload. The price is worked out from what the customer enters, so the combination never has to exist in your catalog first.
Most custom-product stores need both. Variants for the handful of things you genuinely stock, options for everything the customer specifies. Appify Custom Product Options adds the options half and prices it, without adding a single variant.
What a Shopify variant actually is
A variant is one saved combination of option values. Small/Blue is a variant. Medium/Blue is another.
Each one carries its own price, SKU, inventory count, weight and image. That is exactly what makes variants good: Shopify can count them, ship them and report on them.
Shopify's own limits are published. You can create up to 2,048 variants for a product, and each product can have up to three options. For anything past that, Shopify points merchants to a third-party app or to theme code.
Three is the number that matters here. Not 2,048.
Where variants stop for custom products
Run your own product through it. A roller blind needs width, height, fabric, mount type, control side and a motor choice. That is six decisions, and Shopify holds three.
The measurements are the harder problem. Width and height are numbers a customer types, to a quarter inch. There is no list of values to save.
So merchants compromise. They round 46 inches up to a 48 inch band, drop the mount choice, and flatten a rate card into three tiers. The product gets reshaped to fit the software.
Uploads settle it. A customer's artwork file, an engraving line, a delivery date: none of them can be listed ahead of time, so none of them can be a variant.
What product options do instead
An option is a field, not a row in a list. The types go well past a dropdown: measurements the customer types, swatches, uploads, date pickers and a full design canvas. Every one of them is on every plan.
Pricing is where the difference shows. A formula reads what the customer filled in and works out the price as they type: width times height times a rate, or a rate looked up from a pricing table, with a quantity discount on top and a minimum holding the floor.
Then the price they saw is the price they pay. Checkout pricing applies the calculated total to the cart line automatically, whatever the product's base Shopify price is. Nothing to configure, no discount codes.
The order comes back readable, too. Cart properties control which choices appear on the cart line and order, in the order you set, so a fulfillment team sees Width, Height and Material next to the product name.
All of it goes through your theme's normal add to cart. No new variants, no cart hack, and the configured product is one native line.
What you keep when you stop building variants
This is the part that stalls most merchants. Variants carry real operational jobs, and giving them up sounds like giving those jobs up. You don't.
| The variant was doing this | How it works with options |
|---|---|
| A SKU for the warehouse or the ERP | Custom SKU rules build one per configuration from a template such as BLD-{{MATERIAL}}-{{DIM1}}x{{DIM2}}, and it can show in the cart |
| A shipping weight | A weight formula computes it from the selections and saves it with the order, in lb, oz, kg or g, for your carrier rates |
| Stock counted on a physical item | Link that item as an add-on product on a choice. It joins the cart as a normal Shopify line with live price, inventory and shipping |
| A different photo per color or pattern | An image swatch can take its values and thumbnails straight from the product's Shopify variants, so the catalog stays the source of the images |
| A starting price per SKU | Set Initial Price, Base price to Selected Product Variant, and the calculator starts from that variant's price and builds on it |
Custom SKU rules build that code from a composition you write, such as TEE-{{SIZE}}-{{COLOR}}, so every order arrives with a SKU your systems recognize. Weight calculation uses the same syntax as pricing, so a metal sign works out its own weight from its size.
You can use both at once
Options and variants are not a fork in the road. The best setups run them together, and three settings do the work.
- Swatches from your catalog. Say fabric is already a Shopify variant with a photo each. In Option Basic Settings, point an image swatch at your Shopify variants. The values and photos come from the catalog, out of stock shows dimmed, and adding a fabric updates the swatch.
- The swatch selects the variant. On by default. Price, cart and design preview update without a reload.
- The price starts from the variant. Set the base price to the selected variant and the calculator builds on it, so variant pricing keeps doing its job.
Rules read the catalog too. A condition can check a Shopify Color or Size and show, hide, require or limit any calculator field. Pick Red on the theme's own picker and the artwork upload appears.
Keep as variants the things you stock and count. Make options of the things the customer decides. One product page, both at work, one cart line at the end.
Should this choice be a variant or an option?
Four questions, in order. The first yes settles it.
- Does the customer type a number? Width, height, yardage, run length. Option.
- Does the customer supply something? A file, a line of text, a date. Option.
- Do you hold stock of that exact thing and count it down? Variant, or an add-on product linked to a choice.
- Is it a short, fixed list you'd photograph? Either works. Keep it a variant if the photo lives in the catalog, make it an option if its price depends on the other choices.
That last one is the common case in custom products. A finish that costs a flat amount is fine as a variant. A finish priced per square foot of the size the customer just entered cannot be, because the price is not a fixed number.
For a wider version of this decision, including the five pricing building blocks behind it, read how to price complex custom products on Shopify.
Pricing rules the trade actually needs
Once the inputs are fields instead of a list, the pricing stops being a lookup and starts being your rate card.
- Formulas on any option and on the final price, with math, rounding and if/then logic.
- Pricing tables for rate sheets, one axis or two, matched exactly, to the nearest row, or interpolated between rows.
- Quantity discounts tied to the configuration, in one dimension or two.
- Fixed fees, price adjustments, and a minimum and maximum price on the total.
- Visibility rules that set another option's minimum, maximum or step, or hide the values that don't apply, and value rules that fill in or lock a value for the customer.
A fuller walkthrough of the first three is in how to price Shopify product options by size, quantity and pricing table.
When a price comes out wrong, the Troubleshoot tab shows every part of the formula with the customer's selections loaded. You can also tell Chat with AI what the price should have been, and it opens that formula with those choices filled in.
You don't have to build it by hand
None of this needs you to write a formula yourself. Chat with AI sits beside the editor and builds the options, the pricing, the rules and the styling from a plain description or an attached price sheet.
It styles the calculator to match your theme and generates swatch images for your choices. AI runs through the rest of the app too: describe a formula in plain language and the Formula Editor explains it back, and Languages translates whatever is still missing in one pass.
If your prices already live in a spreadsheet, attach that file and start there. See how to build a Shopify product calculator faster with Chat with AI.
The configuration outlives the order
A variant survives checkout because Shopify stores it. Options need somewhere to live too, and this is where a lot of setups quietly lose the work.
In Appify Custom Product Options the selections stay attached to the line. Customers can use Edit options in the cart, Restore your cart brings an abandoned checkout back with the choices intact, and Appify Reorder rebuilds the whole configuration rather than posting a variant id.
That last one matters more than it sounds. Shopify's own Buy again button only adds the variant, which is covered in why Shopify's Buy again button drops custom options.
FAQ
What is the difference between product options and variants on Shopify?
Variants are saved combinations with their own price, SKU and stock. Options are input fields the customer fills in, priced by formula. Variants suit a short fixed list; options suit measurements, text and uploads.
How many variants can a Shopify product have?
Up to 2,048 variants, across a maximum of three options per product. The three-option ceiling is usually what a custom product hits first.
Do product options create extra variants?
Not with Appify Custom Product Options. Options and their prices live outside the variant system, and the product goes to the cart through your theme's normal add to cart.
Can I keep my variants and add options?
Yes, and it is a common setup. An image swatch can pull its values from your Shopify variants, and calculator rules can read a Shopify Color or Size to show or hide fields.
Will my orders still have a SKU?
Yes. Custom SKU rules build one per configuration from the selections, using a template you define, and you can show it in the cart.
How does shipping work without a variant weight?
A weight formula computes the weight from the customer's selections and saves it with the order, so your shipping rates use the real number.
Can a customer still pick from a stocked item?
Yes. Link that product to a choice as an add-on. It arrives in the cart as a normal Shopify line with its live price, inventory and shipping.
Do option choices show on the order?
Yes. You choose which ones appear on the cart line and order, and in what order, and they carry through to checkout.
Price the size they type, not the nearest variant.
Whatever you sell, however you price it · The last options app you'll shop for