Most personalized home decor starts with words. A sign carries a family name and the year the family was established. A candle label carries a name or a message. A nursery print carries a baby’s name and birth details. About a third of home decor stores offer personalized text, more than offer any other custom option. Shopify’s variants handle what you stock, such as a candle poured ahead in eight scents. The customer types the words in, so they cannot be a variant. Where each choice lives decides whether shoppers can filter your candles by scent, whether your stock counts are real, and whether the order says exactly what to make.
In short: if you stock it and count it, it is a variant; if you make it or personalize it after the order, it is a custom option; if a shopper would search for it on its own, it is a separate product. This guide applies that rule to signs, candles, prints and private-label orders, and then covers conditional logic and pricing. It draws on our research into how hundreds of e-commerce home decor stores configure their custom options.
Start with how you make and stock home decor
The catalog structure follows your operation. Most home decor businesses are one of these, or a mix:
- Stocked. Candles poured ahead in a set range of scents, prints held in standard sizes, frames, vases and throw pillows.
- Made to order. Signs cut with a family name, candles poured to the customer’s scent, prints designed with a baby’s birth details, vinyl names cut in a color.
- Private label and events. Candles, wax melts and favors made in bulk under the buyer’s own brand (private label) or for a wedding or party.
Shopify has three places to put a choice, and each matches one of these:
| Where the choice lives | Use it when | What Shopify gives you |
|---|---|---|
| Separate products | Shoppers search for, compare and buy the things separately | Own page, photos, price, description and place in search and collections |
| Variants | You stock and count each version | Own SKU, barcode, stock level, price, weight and image; the theme’s picker; collection filters by scent or size |
| Custom options | The choice is an instruction for making or personalizing the piece, or a service | Choices saved on the order line for your team; add-on prices; text, numbers, uploads; conditional logic |
Custom options are not built into Shopify: they come from a product options app such as OptionWise, or from custom theme code.
Which home decor choices should be separate products
Make something its own product when a shopper would search for it or compare it on its own. A family name sign, a welcome sign and a birth-stats print are separate products, even if you make them on the same machine. A candle, a reed diffuser and a wax melt in the same fragrance are separate products too: each is searched for by name and has its own photos and price.
Do not split a design by something you can show with a swatch. A sign in whitewash, slate and coffee stain is one product with a finish choice. Personalized gifts that are not decor (blankets, glasses, ornaments) are covered in the gifts guide, and made-to-order tables and seating in the furniture guide.
When home decor variants make sense
Use a Shopify variant for every version you stock and count. A candle poured ahead in eight scents, two sizes and two jar colors is 32 variants with 32 stock counts, which is exactly right. That uses all three variant options, so a fourth stocked choice, such as a wick type, does not fit. Variants power the filters on your collection pages (Shopify’s filter documentation), so a shopper can narrow your candles to “Scent: Fresh linen”. Prints held in standard sizes work the same way, and so do stocked frames: No frame; black, white, gold or silver aluminum; light or black pine; and magnetic hangers in oak and pine.
Candles poured to order are different. Shopify allows up to three options and 2,048 variants per product. A candle poured to order from 117 fragrances, in two jar colors and with two wicks, is 468 variants. That is too many to create and keep stock counts for. A second fragrance would be a fourth option, and it does not fit. The name on the label could never be a variant, because it is free text.
Mixing the two on one product works well: a candle poured ahead in scents, sizes and jars with a name printed on its label after the order (scent, size and jar are variants; the label name is a custom option), or a print held in two sizes with stocked frames and the birth details added (size and frame are variants; the name, date and stats are custom options). Keep the variant options to what you count and what shoppers filter by.
Each stocked variant keeps its SKU (the stock code you count it by); custom options add none. The customer’s choices are saved on the order as line item properties: notes attached to that one item, such as “Family name: Delgado, Second line: Established year, Year: 2018, Font: Script”. That is the workshop sheet, on the order page, packing slips and notification emails, with uploaded files attached to the same line (where options appear). Choices are per item, so two signs with different family names are two cart lines.
Custom options for home decor
Custom options carry every choice that is an instruction rather than a stock item. Personalized text comes first, and the rest follow the product:
- Names and wording on signs, as OptionWise text fields, one per piece of text, each with a maximum length and the limit in the label (“Family name, up to 14 characters”). Offer a set phrase such as “Home sweet home”, with “Write my own” as the last value.
- Years and dates. An established year as an OptionWise number field with a minimum, such as 1900. A wedding or birth date as a text field with the format in the placeholder (“June 12, 2024”).
- Birth stats for nursery prints: first name, birth date, time, weight, length, and the city and state, one required text field each, so nothing reaches the designer missing, and an optional middle name.
- Font and lettering color, always as fixed lists. Show fonts rather than naming them: image swatches of the lettering, or at least each name set in its own lettering. Vinyl wall names take the name color as color swatches: Black, White, Charcoal, Pink, Blue.
- Finish on wood signs, as named stains a customer can match to a room: Whitewash, Stone, Slate, Wheat, Coffee, Charcoal, photographed on the real wood.
- Fragrance, for candles poured to order, as an OptionWise dropdown of fifteen to well over a hundred names. Blends are numbered slots too: Fragrance 1 required, Fragrance 2 and Fragrance 3 optional, each from the same list, so the order says which scents and in which order.
- Jar, lid and wick, as short fixed lists (Black or Gold jar; Cedar wood or Cotton wick). Put “No lid” first in the lid list, so the customer never has to skip a color.
- Private-label details: a Labeling choice (Unlabeled or Brand labeled), then the business name, address and contact details, each a text field labeled with its reason (“for the safety label”), and an OptionWise file upload for the logo or label design.
- A proof: a picture of the finished design, for a customer who is unsure how the sign will look. The choice (“Yes, send me a proof” or “No, I trust you to make it awesome”) is saved on the order. You email the proof and wait for the customer’s reply before cutting, so allow for it in your lead time.
In OptionWise, any option can be required and any single choice can carry a default, and add-to-cart and express checkout (Shop Pay, Buy it now) are held until required choices are made. Default the structural choices, such as size and finish, so the form is complete on load. Assign the option set (the group of custom options you build once and share across products) to a tag or collection rather than product by product, so a new sign has its fields the moment it is published (assign to products).
Conditional logic for home decor forms
Conditional logic shows a field only after the choice that makes it relevant:
- “Write my own” reveals the wording field, after a list of set phrases.
- “Established year” reveals the year, so a “Home sweet home” sign never asks for one.
- “Add a custom name” reveals the name, font and name color on vinyl wall names.
- “Brand labeled” reveals the business details and the upload, so an unlabeled order stays short.
In OptionWise, any buttons, dropdown, radio, checkbox or swatch choice can reveal other fields, on one value or any of several. Fields the customer can’t see aren’t required and send nothing to the order. See conditional logic.
Pricing home decor choices and add-on products
Both variants and custom options can change the price, so pricing is not the reason to choose between them; stock is. Stocked sizes and scents carry their own variant prices. On the custom options, price what costs more to make: a larger sign, a premium finish, an added name, a brand label, an extra text position. Keep the font, the fragrance, the lettering color and the proof free. In OptionWise, add-on prices are fixed amounts on a value, totaled live on the page and carried through the cart, checkout and order. Amounts are entered in your store’s own currency and shown in the shopper’s (currencies).
Add-on prices are per unit, so a $5 brand label on a line of 50 wax melts adds $250. Sell a one-off charge, such as a label design fee of about $60, as a product of its own.
Home decor stores sell the matching piece: a gift box for the candle, a refill for the diffuser, a wax melt in the same scent. When that piece is a stocked product sold one per item, offer it on the main product’s page as an add-on product: OptionWise’s linked-product option adds the real product to the cart with its own price and stock, grouped with the item. Gift boxes sold in bulk packs, such as 50 boxes for an event or wholesale order, are a product of their own. Gift wrap and gift messages have their own guide: gift wrap and gift messages.
Worked examples
Each example is the product page as the customer sees it, with each part labeled: what is a Shopify variant, what is a custom option, and what is an add-on product.
A family name sign, cut to order
Nothing is stocked as a finished sign, so there are no variants. The larger size is priced, the finish is a named swatch list, and the family name is a text field with a limit. The second line reveals the year for “Established year” and a text field for “Write my own”. The proof is a choice. This is the page the starter option set below builds.
A stocked candle with a name on the label
The mixed case. The candle is poured ahead in eight scents, two sizes and two jar colors, so scent, size and jar are variants with stock counts. The label is printed after the order, so the candle’s name is a custom option. The gift box is a stocked product of its own, so it is an add-on product with its own price and stock.
A starter option set for a family name sign
Install OptionWise, then build this set: create an option set, add each option below, and assign it to a tag such as name-sign. Prices are examples in dollars; use your own amounts and currency.
| Option | Type | Values | Notes |
|---|---|---|---|
| Size | Buttons, required, default 24 in | 24 in; 36 in (+$25) | |
| Finish | Image swatches, required, default Whitewash | Whitewash, Stone, Slate, Wheat, Coffee, Charcoal | Photograph each on real wood |
| Family name | Text, required, max 14 characters | Always shown; placeholder: Delgado | |
| Second line | Buttons, required, default Established year | Established year; Home sweet home; Write my own | Controls the next two fields |
| Year | Number, required, min 1900 | Shown when Second line is Established year | |
| Your wording | Text, required, max 30 characters | Shown when Second line is Write my own | |
| Font | Image swatches, required, default Script | Script, Serif, Farmhouse block | Photograph each on a sign |
| Proof | Radio, required, default Yes, send me a proof | Yes, send me a proof; No, I trust you to make it awesome | The default gives an unsure customer a look first |
Every path asks only for what the sign needs: “Established year” asks for the year, “Home sweet home” asks for nothing more, and “Write my own” asks for the wording. For a candle poured to order, replace the sign options with Jar, Fragrance 1 to 3, Wick and a “Name your candle” field.
Common mistakes
- Stocked scents as custom options. No stock count goes down, so you oversell lavender. If you pour ahead, scent is a variant.
- Pour-to-order fragrance lists as variants. Hundreds of variants for candles that do not exist until the order. Keep them as custom options.
- Fonts and colors typed as text. Font names nobody can find in the font menu. Use swatches.
- A birth-stats print with one text box. “Ella 3/3 4am 7lb” reaches the designer. One field per stat.
- One-off fees as add-on prices on bulk lines. The fee is added again on every candle in the line. Sell it as a product of its own.
- Option sets attached product by product. The new sign goes live without its name field. Assign by tag or collection.
Options should load with the page
On a sign page, the size, the name and the font are one decision to the customer, so they should arrive together. Most options apps add their fields after the page has loaded, so the name and finish choices appear a moment later and push the add-to-cart button down. OptionWise’s custom options load as part of the product page, next to the variant picker, so they appear with the price and photos and nothing moves (learn more).
Frequently asked questions
How do I take a family name and an established year for a personalized sign on Shopify?
Use one custom option per piece of text. In OptionWise, the family name is a text field with a maximum length that fits the sign, and a Second line choice (Established year, Home sweet home, Write my own) reveals a number field for the year or a text field for the customer's own wording through conditional logic. Every field arrives on the order as a Shopify line item property for whoever cuts the sign.
Should candle scents be Shopify variants or custom options?
Variants if you pour ahead and hold stock of each scent: each scent gets a stock count, and shoppers can filter a collection by scent. Custom options if each candle is poured after the order from a long fragrance list. With a product options app such as OptionWise, a pour-to-order candle can take Fragrance 1 as required and Fragrance 2 and Fragrance 3 as optional, each from the same list.
How do I sell a custom birth-stats print on Shopify?
Keep the print size and frame as variants if you stock the frames, and take the baby's first name, birth date, time, weight, length and city and state as custom options, one required text field each, plus an optional middle name, with the date format in the placeholder. In OptionWise every field arrives on the order as a Shopify line item property for the designer.
How do I charge for brand labels on private-label candles on Shopify?
Put a fixed add-on price on the Brand labeled value of a Labeling choice. OptionWise add-on prices are per unit, so a $5 label on a line of 50 candles adds $250, which is right for a label on each candle. Sell a one-off design fee as a product of its own, so it is charged once.
Can I sell a gift box on the candle's product page?
Yes. If the gift box is a stocked product sold one per candle, offer it as an add-on product. OptionWise's linked-product option shows the box on the candle page and adds the real product to the cart with its own price and stock, grouped with the candle. Gift boxes sold in bulk packs for event or wholesale orders are a product of their own.
How do I help a customer who is unsure how their sign will look?
Offer a proof: a picture of the finished design. In OptionWise, a required radio choice such as 'Yes, send me a proof' or 'No, I trust you to make it awesome' is saved on the order line. You email the proof and wait for the customer's reply before cutting, so allow for it in your lead time.
OptionWise for home decor stores
OptionWise is a Shopify product options app. For a home decor store, it puts sign names and wording, fonts, finishes, fragrance choices, brand labels, uploads and add-on products next to the theme’s variant picker, and saves every choice to the order line for whoever makes the piece.
OptionWise is free for life for stores that install today. It adds a block to your theme, with no code changes.