FeaturesEverything includedAI advisorPricingOpen app
Guide

Gifts on Shopify: variants, custom options, or products?

Which gift choices should be Shopify variants, custom options or separate products: names, monograms, dates, photos, recipients and add-on products.

Most personalized gifts start with a name. A blanket is embroidered with a baby’s name, a glass is engraved for a 40th birthday, a sign carries every name in the family. Shopify’s variants handle the blank you stock, such as a blanket in three colors. The name is free text, so it cannot be a variant. The customer also chooses a font, a thread color or a monogram frame, and whoever does the embroidery needs all of it on the order line. Where each choice lives decides whether your stock counts are real and whether the order says clearly what to make.

In short: the blank you stock and count is a variant; everything the customer adds (a name, a date, a photo, a monogram) is a custom option; a design is its own product only when a shopper would search for it. This guide applies that rule to personalized gifts, and then covers names, monograms, dates, photos, pricing and conditional logic. It draws on our research into how hundreds of e-commerce gift stores configure their custom options.

Start with how you stock and make gifts

The catalog structure follows your operation. Most gift businesses are one of these, or a mix:

  • Stocked blanks, personalized to order. Blankets, glasses, tumblers, mugs, totes, ornaments: held plain in sizes and colors, and embroidered, engraved or printed after the order.
  • Made to order from a design. Signs, prints and keepsakes, where nothing exists until the customer’s names, photos or wording arrive.
  • Assembled gifts. Baskets, boxes and party favors, built from stocked items with a message, a ribbon or a label added.

Shopify has three places to put a choice, and each matches one of these:

Where the choice livesUse it whenWhat Shopify gives you
Separate productsShoppers search for, compare and buy the gifts separatelyOwn page, photos, price, description and place in search and collections
VariantsYou stock and count each version of the blankOwn SKU, barcode, stock level, price, weight and image; the theme’s picker; collection filters by color
Custom optionsThe choice is something added to the blank: a name, a date, a photo, a design, a proofChoices saved on the order line for your production team; add-on prices; text, uploads; conditional logic

Products and variants are built into Shopify. Custom options are not: a name field, a monogram frame or a photo upload comes from a product options app such as OptionWise, or from custom theme code.

Which gift choices should be separate products

A design is its own product when a shopper would search for it. A retirement mug, a new baby blanket and a wedding sign are different gifts, bought for different reasons, searched for with different words and photographed differently. Make them separate products even if they share a blank.

A design is a custom option when it is a variation on the same gift. A beer glass offered in twelve printed designs is one product with a Design choice: the customer is buying the glass, and the design is a matter of taste.

A recipient is almost always a custom option. “Mug for Dad”, “Mug for Grandpa” and “Mug for Uncle” are one product with a recipient choice. The lists run long because families use different words: Mom, Mama, Nana, Grandma, Gran, Mimi, Mamaw; Dad, Daddy, Grandpa, Gramps, Pappy, Papaw. End the list with “Other”, which reveals a text field. Then reach the search traffic with collections: put the one mug in “Gifts for Grandma”, “Gifts for Dad” and “Gifts for Nana”, each a page Shopify builds for you.

When gift variants make sense

A variant is a stocked version of the blank: a blanket in oat, gray and blush, a tumbler in 20 and 30 ounces, a tote in natural and black. If you count it, make it a variant, so Shopify tracks the stock. A size made to order is different: a sign cut to 12 × 18 or 18 × 24 inches after the order has no stock to count, so its size is a custom option with a price step on the larger value. Variants also power the color and size filters on your collection pages (Shopify’s filter documentation), so a shopper can narrow a collection to “Color: Blush”.

Shopify allows up to three options and 2,048 variants per product. A blanket in three colors, six thread colors and five monogram frames is 90 variants for three blankets on the shelf. That is too many to price and keep stock counts for. A font would be a fourth choice, and it does not fit. The name itself could never be a variant, because it is free text.

The hybrids that work: a blanket stocked in three colors with the name embroidered after the order (color is a variant; name, font and thread color are custom options), or a glass stocked in two sizes with the design and engraving added (size is a variant; design and engraving are custom options). Keep the variant axes to what you count and what shoppers filter by.

Custom options do not create SKUs. The blank keeps its SKU, one per stocked color or size, and the personalization arrives on the order as line item properties beneath it: “Personalization: Name, Name: Ella, Font: Script, Thread color: Navy”. That is the production sheet, on the order page, packing slips and notification emails, with uploaded photos attached to the same line (where options appear). Choices are per item, so two personalized ornaments in one order are two cart lines, each with its own name. If your embroiderer uses thread codes, put the code in the value name (“Navy (T-1801)”).

Custom options for personalized gifts

Personalized text is the most common option in gifts, offered by over half of gift stores. The choices that matter:

  • Names, as OptionWise text fields with a maximum length, one field per name. For family gifts, the count comes first (“Number of names: 1, 2, 3, 4”), as the conditional logic section below shows. Stores selling for large families list the counts in steps (“Up to 12 children”, “Up to 15”, “Up to 18”).
  • Monograms, as a frame choice (circle, scallop, diamond, fishtail, vine) shown as image swatches. Then the initials, in a text field with a maximum of three characters, labeled “Enter the initials in the order of the name (first, middle, last); we will arrange them for the monogram.” A traditional three-letter monogram puts the last initial in the middle, so ask for the name order and arrange it yourself.
  • Dates, asked for by about a quarter of gift stores: a wedding date, a birth date, an “Est.” year. Take the date as a text field with the format in the placeholder (“June 12, 2024”) and a maximum length. An established year works as a dropdown of years (“Est. 2018”) or an OptionWise number field with a minimum and maximum.
  • Wording, the line on the sign or the card: set phrases (“Happy birthday”, “Best day ever”, “Make a wish”) with “Write my own” as the last value, which reveals a text field.
  • Colors of what is added: the thread, the vinyl, the wording, the ribbon. A full embroidery palette runs past thirty shades, so offer the threads you keep in stock, as color swatches or image swatches, never a text box.
  • Fonts. Show each as an image swatch of real stitching or engraving, or at least name it with an example (“Cursive (e.g. Ally)”).
  • Photos, as an OptionWise file upload per photo, numbered the same way as names.
  • Birthstones and jewels, with the color in the value (“January (Garnet – deep red)”), so a customer who does not know the stone still knows what they will get.
  • Age, as a number field with a minimum and maximum, or a milestone list (21st, 30th, 40th, 50th, 60th).
  • Proofs and instructions: a “Request a digital proof” checkbox for stores that send one before production, and an OptionWise text area for special instructions.

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 Personalization choice to None, so the plain blank is one click, and require the name only when it is shown. 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 blanket has its personalization the moment it is published (assign to products).

Conditional logic for gift forms

A gift page can carry a design, a recipient, three names, a font, a color, a photo and a note. Conditional logic shows a field only after the choice that makes it relevant:

  • The personalization choice reveals its fields. A name reveals the name field and font, a monogram reveals the frames and the initials, and either reveals the thread color.
  • The count reveals the names or the photos. Name 3 appears when the count is 3 or more, so a two-name order shows two fields.
  • “Write my own” reveals the wording field, after a list of set phrases.
  • “Other” reveals a text field after a recipient list.
  • The ribbon choice reveals its field. “Standard ribbon”, “Custom message on the ribbon” (a text field) or “Custom logo on the ribbon” (an upload), for corporate gift baskets.

In OptionWise, any buttons, dropdown, radio, checkbox or swatch choice can reveal other fields, on one value or any of several. Hidden fields are not validated and send nothing to the order. See conditional logic.

Pricing personalization 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 carry their own variant prices. On the custom options, price the work: the personalization itself (a flat fee, such as $15 for a name on a blanket), extra names and photos by count, a logo, a second engraved side, a jewel, a digital proof, a handwritten note. Keep the font, the colors, the design and the recipient 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. Price a count on each value (“2 photos +$5”, “3 photos +$10”). Add-on prices are per unit, so an order of forty party favors with a $1.50 wooden-label upgrade charges it forty times. Amounts are entered in your base currency and shown in the shopper’s (currencies).

Gift stores sell the matching piece: the engraved bottle opener with the beer glass, the shot glasses with the decanter, the gift box with the tumbler. When that piece is a stocked product, offer it on the gift’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 gift. A gift note is a checkbox, such as “Add a handwritten gift note”, that reveals a text area for the message. Notes are per item, so each gift in the order carries its own. Gift wrap, boxes, ribbons 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 name blanket, stocked in three colors

The blanket is stocked plain in three colors, so color is a variant with a stock count. The personalization is an instruction for the embroidery machine: none, a name or a monogram, then the text, font and thread color. A handwritten gift note is a priced extra. This is the page the starter option set below builds.

Knit name blanket
$58
Variants
Color7 left in Oat
Custom options · OptionWise
PersonalizationNoneName +$15Monogram +$15
Name (up to 12 characters)EllaShown because Name is selected
FontScriptBLOCKClassic serif
Thread color
Add a handwritten gift note +$3
Add to cart · $73

An engraved beer glass with a matching bottle opener

The hybrid case. The glass is stocked in two sizes, so size is a variant. The design is a custom option, a choice among printed designs. The name and year are text fields and the age is a number field, all for the engraver, and the digital proof is a priced checkbox. The bottle opener is a stocked product of its own, so it is an add-on product with its own price and stock.

Birthday beer glass
$28
Variants
Size16 oz20 oz
Custom options · OptionWise
DesignClassic labelRetroHops
Name (up to 12 characters)Marcus
Age40Year1986
Request a digital proof +$2.95
Add-on product · OptionWise
Engraved bottle opener Matching design · in stock+$6.95
Add to cart · $30.95

A starter option set for a personalized blanket

Install OptionWise, keep blanket color as a Shopify variant if you stock it, then build this set: create an option set, add each option below, and assign it to a tag such as personalized. Prices are examples in dollars; use your own amounts and currency.

OptionTypeValuesNotes
PersonalizationButtons, default NoneNone; Name (+$15); Monogram (+$15)Controls the fields below
NameText, required, max 12 charactersShown for Name
FontImage swatches, required, default ScriptScript, Block, Classic serifShown for Name; photograph the stitching
Monogram frameImage swatches, required, default CircleCircle, Scallop, Diamond, Fishtail, VineShown for Monogram
InitialsText, required, max 3 charactersShown for Monogram; label asks for name order
Thread colorColor swatches, required, default NavyNavy, White, Gold, Pink, Red, BlackShown for Name or Monogram
Gift noteCheckboxes, no headingAdd a handwritten gift note (+$3)Reveals Gift note text
Gift note textText area, requiredShown when Add a handwritten gift note is checked

The name, font, monogram fields, thread color and note text are required only when they are shown, so a plain blanket goes to the cart with one click. For a family blanket, replace Personalization with a “Number of names” choice (1; 2 +$5; 3 +$10; 4 +$15) revealing one name field per name, with Font and Thread color revealed by any count. For a photo gift, use a “Number of photos” choice revealing one file upload per photo.

Common mistakes

  • Personalization choices as variants. Thread colors and monogram frames multiply the variant count for blankets that are identical on the shelf. Keep personalization as custom options.
  • One box for all the names. “Ella Max Rosie and the dog” arrives as a sentence. One field per name.
  • A date with no format. “12/06” reads as two different days depending on where the customer lives. Put the format in the placeholder.
  • Personalization in the cart note. With two gifts in one order, nothing says which name goes on which. Take it on the product, per item.
  • Option sets attached product by product. The new tumbler goes live without its name field. Assign by tag or collection.

Options should load with the page

On a gift page, the blank, 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 thread color 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 add a name to a personalized gift on Shopify?

Keep the blank's stocked choices, such as blanket color or glass size, as Shopify variants, and add the name as a custom option. In OptionWise, a Personalization choice (None, Name or Monogram) reveals a text field with a maximum length for the name, a font shown as image swatches and a thread color. Each choice can carry a fixed add-on price, and the name, font and thread color arrive on the order as Shopify line item properties.

Should a 'Mug for Dad' and a 'Mug for Grandma' be separate products on Shopify?

Usually not. If the mug and the design are the same and only the word changes, make it one product with a recipient choice (Mom, Grandma, Nana, Dad, Grandpa, Other) and put it in collections such as 'Gifts for Dad' and 'Gifts for Grandma', so it is found from both. Make separate products only when the designs differ enough to need their own photos. OptionWise adds the recipient choice to every product with a given tag or in a given collection.

How do I let customers add several names to one gift on Shopify?

Ask for the number of names first, then show one text field per name. In OptionWise the count is a fixed-list option such as buttons, and conditional logic reveals Name 3 only when the count is 3 or more, so a two-name order shows two fields. A fixed add-on price on each count value charges for the extra names.

How do I sell monogrammed gifts on Shopify?

Offer Monogram as a value of a Personalization choice, and let it reveal a frame (circle, scallop, diamond, fishtail, vine) as image swatches, a text field of up to three characters for the initials, and a thread color. In OptionWise the Personalization choice reveals these fields through conditional logic, so a plain order never sees them. Ask for the initials in the order of the name (first, middle, last) and arrange them yourself, because a traditional three-letter monogram puts the last initial in the middle.

How do I take a date for engraving or printing on a gift on Shopify?

Use a text field with the format in the placeholder, such as 'June 12, 2024', and a maximum length so it fits the design. In OptionWise a text field takes a placeholder and a maximum length. An 'Est.' year for a family sign works as a dropdown of years or as a number field with a minimum and maximum.

Can customers upload photos for a personalized gift on Shopify?

Yes. OptionWise has a file upload option, and each file is attached to the order line. For gifts with several photos, ask for the number of photos first as a priced choice and reveal one upload per photo with conditional logic, so the order carries Photo 1, Photo 2 and Photo 3 in order.

OptionWise for gift stores

OptionWise is a Shopify product options app. For a gift store, it puts names, monograms, fonts, thread colors, dates, photo uploads and add-on products next to the theme’s variant picker, and saves every choice to the order line for whoever makes the gift.

OptionWise is free for life for stores that install today. It adds a block to your theme, with no code changes.

Add to Shopify