About a third of arts and crafts stores offer a name field, more than offer any other custom option. The name goes on a bib, a towel, a sweatshirt or a luggage tag, usually embroidered. The customer also chooses a font and a thread color. Shopify’s variants handle the blank you stock, such as a bib in ten colors. The customer types the name in, so it cannot be a variant. Where each choice lives decides 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 it is an instruction for whoever stitches, paints or kits the piece, 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 personalized handmade goods, needlepoint kits, supplies, fabric and classes, and then covers conditional logic and pricing. It draws on our research into how hundreds of e-commerce arts and crafts stores configure their custom options.
Start with how you make and stock craft goods
The catalog structure follows your operation. Most arts and crafts businesses are one of these, or a mix:
- Stocked supplies. Paints, watercolor tins, knitting needles, scissors and stretcher bars, bought or made ahead and counted.
- Personalized after the order. Blanks (plain items stocked to be personalized) held in stock by color, with a name, a monogram or a message embroidered, painted or engraved once the order arrives.
- Kitted or made to order. Needlepoint canvases kitted with threads the shop picks for the customer, and pieces made from the customer’s own handwriting or design.
- Classes and workshops. Sessions with a fixed number of seats.
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, or count the seats in a session | Own SKU, barcode, stock level, price, weight and image; the theme’s picker; collection filters by color and size |
| Custom options | The choice is an instruction to personalize, kit or make 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 craft choices should be separate products
A painted needlepoint canvas, a pair of scissors and a set of stretcher bars (the wooden frame a canvas is tacked onto for stitching) are separate products. So are a watercolor paint set, a sketchbook and a box of swatch cards. Shoppers look for each by name, and each has its own photos, price and stock.
Do not split a design by something you can show with a swatch. A bib in pink, rust and mustard is one product with a color variant. A class is a product of its own, with each session a variant whose stock count is its seats.
When arts and crafts variants make sense
A bib blank held in ten colors is 10 variants with 10 stock counts, which is exactly right. A watercolor tin held in three sizes is three variants, named by what each holds: “Small tin (fits 6 half pans)” (a half pan is a small block of paint), “Large tin (fits 28 half pans)”. Knitting needles held by size are variants too, with both sizing systems in the value: “2.00 mm (US 0)”, “2.25 mm (US 1)”. Variants power the filters on your collection pages (Shopify’s filter documentation), so a shopper can narrow a collection to “Color: Mustard”.
Personalization is different. Shopify allows up to three options and 2,048 variants per product. A bib in 10 colors, with 9 fonts and 20 thread colors, is 1,800 variants. That is too many to create and keep stock counts for, for bibs that are identical on the shelf. A theme for the design would be a fourth option, and it does not fit. The name could never be a variant, because it is free text.
Mixing the two on one product works well: a bib stocked in ten colors with a name embroidered after the order (color is a variant; the name, font and thread color are custom options), or the kitted luggage tag canvas in the example below.
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 “Name: Theo, Font: Sailor script, Thread color: Navy”. That is the work order, 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 bibs with different names are two cart lines.
Custom options for arts and crafts
The name comes first, and the rest follow the product:
- Names and monograms, as an OptionWise text field with a maximum length and the limit in the label (“Word, 10 letters or less”, “Custom letters, 3 max”). Where capitals matter, ask “First letter capitalized?”, so the customer’s capitals are the ones stitched.
- Font, shown rather than named: image swatches of real stitching, or at least each name set in its own lettering. Stores offer script, kids’ and college block lettering, and monogram styles such as diamond, circle and classic curl. Fonts listed as “Font one” to “Font five” leave the customer guessing.
- Thread color, as OptionWise color swatches, never a text box. Embroidery ranges run to forty colors or more.
- Placement, where there is more than one: upper and lower text on a matching baby plate, names on a sweatshirt sleeve, each its own text field.
- Theme and age for children’s pieces: a theme such as Groovy, Jungle animals, Unicorn or Mermaid, and an age as an OptionWise dropdown.
- Years, as an optional OptionWise number field labeled “leave blank if you do not want a year”, so a blank field is an answer, not a mistake.
- Handwriting and artwork, as an OptionWise file upload: a handwriting sample for a ribbon printed in the customer’s own writing, or a family crest.
- Made-to-order designs: a design or photo as a file upload, and an optional OptionWise text area for special order details.
Needlepoint stores ask about kitting: the shop picks the threads for the design and packs them with the canvas. About one arts and crafts store in five asks about threads, as a thread color or as kitting. The form starts with “Would you like us to provide threads for this project?”, No or Yes, as OptionWise radio buttons, with Yes at +$6 in our example. Yes reveals the rest. How to kit it is a radio choice: “Shop choice / anything goes”, “Keep it simple” or “Tell us your thread preferences”. What the customer is open to is OptionWise checkboxes: sparkle, threads the stitcher separates into strands, beads where the design suits them, ribbon where the design suits it. The background color and thread comments are text fields. “Shop choice / anything goes” gives a customer with no preferences a way forward. On a small canvas, kitting can be one priced checkbox instead, as in the luggage tag example below.
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 font and thread color, so a customer who is unsure can keep them. 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 bib has its name field the moment it is published (assign to products).
Conditional logic for craft forms
Conditional logic shows a field only after the choice that makes it relevant:
- “Make it personal” reveals the name, font and thread color, so a plain bib goes to the cart with one click.
- “Yes” to threads reveals the kitting style, the preference checkboxes, the background color and the comments box, so a customer who stitches from their own stash is asked nothing more.
- “Add a matching plate” reveals its upper and lower text.
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 craft 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 colors carry their own variant prices. On the custom options, price the work: a name, a monogram, kitting, a finish. Keep the font, the thread color and the theme 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. Sell fabric with one unit per yard, so a customer orders 3 for three yards, and a “Permanent stain resistance ($10 per yard)” value on that line adds $30. A fee meant to be charged once is a product of its own.
Needlepoint stores sell the canvas with the tools to stitch it: stretcher bars (+$10), brass tacks (+$4.50), mini scissors (+$4.50) and a pack of 6 tapestry needles (+$2). Watercolor stores add swatch cards and a sketchbook to a paint set. Offer each stocked extra on the main page as an add-on product; kitting and other work you do for that one order is a priced value. OptionWise’s linked-product option adds the real product to the cart alongside the canvas or the set, with its own price and stock.
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 stocked bib with an embroidered name
The bib is stocked in ten colors, so color is a variant with a stock count. The name is embroidered after the order: a priced “Make it personal” choice reveals the name, the font and the thread color. This is the page the starter option set below builds.
A kitted luggage tag canvas with supplies
The hybrid case. Blank canvases are stocked in four color combinations, so the combination is a variant with a stock count. The monogram is painted onto the canvas after the order, so the initials and the painted lettering are custom options. Kitting is a single priced checkbox here. The scissors and needles are stocked products of their own, so they are add-on products with their own price and stock.
A starter option set for an embroidered name
Install OptionWise, keep the blank’s stocked colors as Shopify variants, 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.
| Option | Type | Values | Notes |
|---|---|---|---|
| Make it personal | Radio, required, default No | No; Yes (+$5) | Controls the next three |
| Name or monogram | Text, required, max 10 characters | Shown when Make it personal is Yes | |
| Font | Buttons, required, default Sailor script | Sailor script, Kids font, College block | Shown when Make it personal is Yes; set each in its own lettering |
| Thread color | Color swatches, required, default Navy | Navy, White, Black, True red, Burgundy, Salmon | Shown when Make it personal is Yes |
Every path asks only for what the order needs. “No” sends a plain bib to the cart at $22 with nothing more to fill in. “Yes” adds $5 and asks for the name, and keeps the font and thread color on their defaults until the customer changes them, so a customer who is unsure still has a finished choice. For a needlepoint canvas, use the threads question and kitting choices above in place of these, and add stretcher bars and needles as add-on products.
Common mistakes
- Personalization choices as variants. Thread colors and fonts multiply the variant count for blanks that are identical on the shelf. Keep them as custom options.
- Thread color as a text box. “Dusty rose-ish” reaches the embroiderer. Use swatches from a fixed list.
- Fonts with numbers and no pictures. “Font three” means nothing on the page. Show each font in its own lettering.
- Class dates as custom option values. No seat count goes down, so the class oversells. Sessions are variants.
- Stocked supplies as priced values. The scissors sell and nobody counts them. Offer them as add-on products.
- Option sets attached product by product. The new bib goes live without its name field. Assign by tag or collection.
Options should load with the page
On a craft page, the bib color, the name and the thread color 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 font 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 an embroidered name or monogram to a handmade item on Shopify?
Keep the stocked blank's colors as Shopify variants and add the name as custom options. In OptionWise, a 'Make it personal' choice with a fixed add-on price reveals a text field with a maximum length, a font choice and a thread color. Each choice is saved as a Shopify line item property, so the embroiderer reads the name, font and thread color on the order page, the packing slip and the notification email.
Should bib colors be Shopify variants or custom options?
Variants, if you hold stock of each color. Each color then has its own stock count, and shoppers can filter a collection by color. The name, font and thread color added after the order are custom options, because they are instructions for the embroiderer, not stock.
How do I let customers choose how a needlepoint canvas is kitted on Shopify?
Ask first whether they want threads, as a No or Yes radio choice, with a fixed add-on price on Yes if you charge for kitting. Yes reveals the rest: how to kit it ('Shop choice / anything goes', 'Keep it simple' or 'Tell us your thread preferences'), checkboxes for what the customer is open to, such as sparkle or beads, and text fields for the background color and thread comments. In OptionWise the reveal is conditional logic, and fields the customer can't see aren't required and send nothing to the order.
Should craft supplies like needles and stretcher bars be custom options or separate products?
Separate products, offered on the canvas or kit page as add-on products. Needles, scissors, stretcher bars and tacks are stocked items with their own counts. OptionWise's linked-product option adds each real product to the cart with its own price and stock, grouped with the canvas.
How do I sell fabric by the yard with a per-yard finish on Shopify?
Sell the fabric with one unit per yard, so a customer orders 3 for three yards, and put the finish on a choice with a fixed add-on price. OptionWise add-on prices are per unit, so a $10-a-yard stain-resistant finish on 3 yards adds $30. A fee meant to be charged once is a product of its own.
How do I sell craft classes or workshops on Shopify?
Make the class a product and each session a variant, so the session's stock count tracks the seats left. Take the participant's name and any extras, such as an optional glazing add-on, as custom options. Each participant is a cart line with their own details.
OptionWise for arts and crafts stores
OptionWise is a Shopify product options app. For an arts and crafts store, it puts names, fonts, thread colors, kitting choices, uploads and add-on supplies next to the theme’s variant picker, and saves every choice to the order line for whoever stitches, kits or makes the piece.
OptionWise is free for life for stores that install today. It adds a block to your theme, with no code changes.