Most personalized pet gear starts with a name. About two in five pet stores ask for a pet’s name somewhere: embroidered on a bandana or collar, engraved on an ID tag, painted on a portrait. Shopify’s variants handle the item you stock, such as a bandana in four sizes. The customer types the name in, so it cannot be a variant. The customer also chooses a font and a name color, 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: 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 names, collars, leashes, harnesses, tags and portraits, and then covers pricing and conditional logic. It draws on our research into how hundreds of e-commerce pet stores configure their custom options.
Start with how you stock and make pet gear
The catalog structure follows your operation. Most pet businesses are one of these, or a mix:
- Stocked finished goods. Harnesses, beds, bowls, bandanas and ready-made collars, bought or made ahead in sizes and colors and held in stock. Many are personalized after the order with the pet’s name.
- Made to order from a menu. Handmade collars and leashes in the customer’s webbing, hardware, width and length; engraved tags.
- Made for one pet. Portraits, memorial stones and keepsakes, made from the customer’s photos and words.
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 size |
| Custom options | The choice is an instruction for making or personalizing: a name, webbing, hardware, a photo | Choices saved on the order line for your workshop; 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 pet products should be separate products
Make something its own product when a customer would search for it or compare it on its own. A collar, a leash, a harness and a bandana are separate products, even in the same fabric: shoppers look for each by name, and each has its own photos and price. Group them in a collection per pattern or color, and offer the matching leash on the collar’s page as an add-on product (covered below). A cat collar with a breakaway buckle is its own product, separate from the dog collar.
When pet variants make sense
Use a Shopify variant for every version you stock and count. A harness held in three sizes and three colors is nine variants with nine stock counts, which is exactly right. Variants power the size and color filters on your collection pages (Shopify’s filter documentation), so a shopper can narrow a collection to “Size: Medium”. A price difference by size goes on the variant too.
Put the fit in the value name, because a customer knows their dog’s weight or neck size, not your size letters: “Small (10–25 lb)”, “M (14–18 in)”.
Handmade collars are different. Shopify allows up to three options and 2,048 variants per product. A collar in 22 webbing colors, two buckle types and four sizes is 176 variants. That is too many to create and price for a collar cut from a roll after the order. A width choice would be a fourth option, and it does not fit.
The hybrids that work: a bandana stocked plain in four sizes with the name embroidered after the order (size is a variant; the name, font and name color are custom options), or a harness stocked by size and color with a name on the strap (size and color are variants; the name is a custom option). Keep the variant axes to what you count and what shoppers filter by.
Each stocked variant keeps its SKU; 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 “Pet name: Biscuit, Font: Cursive, Name color: White”. That is the workshop 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 a bandana for each of two dogs is two cart lines, each with its own name. Webbing on the roll and buckles in the bin are materials, tracked in your inventory system rather than as variants.
Custom options for personalized and handmade pet gear
Custom options carry every choice that is an instruction rather than a stock item. The pet’s name is the most common, and the rest follow the product:
- The pet’s name, as an OptionWise text field with a maximum length set to what fits the item, and the limit in the label (“Pet name, up to 10 characters”).
- Method, font and name color for embroidered and printed names. Offer embroidery or vinyl as the first choice where you do both. Show fonts rather than naming them: image swatches of the lettering, or at least each name set in its own lettering. Take the name color (thread or vinyl) as color swatches, never a text box.
- Tag engraving: a short name on the front, then one field per line on the back for a phone number or street, each with a maximum length, and the phone format in the placeholder. End the form with a required checkbox, “I have checked my engraving is correct”, so the order records that the customer checked the spelling and the number. The limits and fonts real stores use are in the pet tags guide.
- Webbing or leather color for handmade collars and leashes, as image swatches photographed on the real material. Webbing lists run long, twenty colors and more.
- Hardware: a plastic buckle and slide (the sliding adjuster), or a silver metal buckle and slide at a price step. Where plastic hardware comes in colors, the plastic color list is a separate option. Metal finishes are short lists, such as natural brass and antique brass.
- Width, size and length, in the units the customer measures: collar widths of 3/4 in, 1 in and 1.5 in; a size list with the neck range in each value; leash lengths from 4 ft to 9 ft. Long training leads of 20 ft and more can take distance markers (None, 10 ft, 20 ft, or both).
- Leash style and handles: standard or hands-free, and extra handles, such as a short handle near the clip for holding the dog close, as checkboxes.
- Bandana extras, such as a collar seam, a single checkbox so the bandana slides onto the collar.
- Portraits and memorial stones: photos, names, a frame and a proof, worked through in the portrait example below.
- Treats: the pup’s name for the icing and any allergies, both optional.
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. 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 bandana has its name field the moment it is published (assign to products).
Conditional logic for pet forms
Conditional logic shows a field only after the choice that makes it relevant:
- “Personalize” reveals the name, method, font and name color, so the plain bandana stays one click.
- Hardware type reveals its color list. Plastic buckles come in colors; metal comes in finishes.
- Leash style reveals its lengths, where each style comes in its own length range.
- “Engrave the back” reveals the back lines on a tag.
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 pet 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 carry their own variant prices. On the custom options, price what costs more to make: the name itself, metal hardware, wider webbing, longer leashes, a hands-free style, added handles, back-of-tag engraving, extra pets on a portrait. Keep the font, the name color, the webbing color and the size of a handmade collar 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. Add-on prices are per unit, so three named bandanas at $10 each is $30 of embroidery. Amounts are entered in your base currency and shown in the shopper’s (currencies).
Pet stores sell sets: the collar with its leash, a key fob in the same webbing, a tag for the new collar. When the matching piece is a stocked product, offer it on the main product’s page as an add-on product: OptionWise’s linked-product option shows the leash on the harness page, the customer chooses the leash’s variants, such as color and length, there, and the real leash goes into the cart with its own price and stock. A stocked leash is a product of its own, with its color, length and width as variants. A handmade leash sewn to order with a handmade collar is not stocked, so a priced checkbox on the collar is enough (“Add a matching 5 ft leash”). For gift messages and wrapping, see 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 personalized dog bandana
The bandana is stocked plain in four sizes, so size is a variant with a stock count, and each size carries the neck range. The name is embroidered or pressed after the order: a checkbox reveals the method, the name, the font and the name color. The collar seam is an optional priced extra. This is the page the starter option set below builds.
A stocked harness with a name and a matching leash
The hybrid case. The harness is stocked by size and color, so both are variants, with the weight range in each size. The name on the strap is embroidered after the order, so it is a custom option, revealed by a priced checkbox. The matching leash is a stocked product of its own, so it is an add-on product with its own price and stock, and the customer picks its color and length on the harness page.
A pet portrait, made for one pet
A portrait has no variants, because nothing exists until the customer’s photos arrive. The frame comes first, as image swatches: Oak, Black, White, and “None (digital copy only)” for customers who print the file themselves. The number of pets is buttons priced by step: 1 pet and 2 pets at the base price, 3 pets +$15, 4 pets +$30. A text field takes the pet names, image swatches show the fonts (cursive, boho, block), and text fields take the background color and special requests, such as a halo or a date. The photos are a required OptionWise file upload, attached to the order line so the artist opens them from the order. The proof is a checkbox, “Free artwork proof (emailed within 24 hours)”: the order records that the customer asked for one, and you email it before you start. On a $65 portrait, three pets make $80. Memorial stones follow the same pattern, with an OptionWise text area for the engraving.
A starter option set for a personalized bandana
Install OptionWise, keep bandana size as a Shopify variant if you stock the bandanas plain, 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 |
|---|---|---|---|
| Personalize | Checkboxes, a single checkbox | Personalize with my pet’s name (+$10) | Reveals the next four |
| Method | Buttons, required, default Embroidery | Embroidery, Vinyl | Shown when Personalize is checked |
| Pet name | Text, required, max 10 characters | Shown when Personalize is checked | |
| Font | Image swatches, required, default Cursive | Cursive, Block, Serif | Shown when checked; photograph a name |
| Name color | Color swatches, required, default White | White, Black, Navy, Pink, Red, Gold | Shown when Personalize is checked |
| Collar seam | Checkboxes, a single checkbox | Add a collar seam (+$4) | Optional |
The method, name, font and color are required only when they are shown, so a plain bandana goes to the cart with one click. For a handmade collar, add webbing color, hardware (with a plastic color list revealed by plastic) and a size list with the neck range in each value. For a tag, follow the pet tags guide.
Common mistakes
- Handmade collars as variants. 176 variants for a collar cut from a roll, and no room for a width choice. Keep made-to-order choices as custom options.
- Stocked harnesses as custom options. No stock count goes down, so you oversell the mediums. If you hold them per size, size is a variant.
- Sizes without the fit in them. “M” means nothing to a customer with a 40-pound dog. Put the weight or neck range in the value.
- The character limit only in the label. “Up to 10 characters” with nothing stopping twenty. Put the limit on the field.
- One color list for every hardware type. Plastic colors shown next to a metal buckle. One list per type, revealed by the type.
Options should load with the page
On a pet 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 name 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 pet's name to a collar or bandana on Shopify?
Keep the stocked item's sizes and colors as Shopify variants and add the name as a custom option. In OptionWise, a 'Personalize with my pet's name' checkbox with a fixed add-on price reveals a text field with a maximum length, the method (embroidery or vinyl), a font and a name color. The name, method, font and name color are all saved as Shopify line item properties, so they show on the order page, the packing slip and the notification email.
Should dog collar sizes be Shopify variants or custom options?
Variants if you stock finished collars in each size and count them; custom options if each collar is cut and sewn after the order. Stocked sizes belong on Shopify's variant picker with a stock count per size, and they power the size filters on your collection pages. A handmade collar is one product with its webbing, hardware and size as custom options, added with an app such as OptionWise.
How do I let customers choose webbing color and buckle type for a handmade collar on Shopify?
Take the webbing color as image swatches and the hardware as buttons, with a fixed add-on price on the upgrade, such as a metal buckle over plastic. In OptionWise, the hardware choice can reveal other fields through conditional logic, so the plastic buckle colors appear only when plastic is chosen.
How do I sell a matching leash on the collar's product page?
If the leash is a stocked product of its own, offer it as an add-on product. OptionWise's linked-product option shows the leash on the collar page and adds the real leash to the cart with its own price and stock. The customer chooses the leash's color and length on the collar page. If the leash is sewn to order with the collar, a priced checkbox such as 'Add a matching 5 ft leash' is enough.
How do I charge more for a pet portrait with more than one pet?
Ask for the number of pets as buttons with a fixed add-on price on the larger counts, such as 1 pet, 2 pets, 3 pets (+$15) and 4 pets (+$30). In OptionWise, the amount is totaled live on the page and carried through the cart, checkout and order. A required file upload takes the photos and attaches them to the order line.
How do I make customers check their pet tag engraving before ordering?
Add a single required checkbox after the engraving fields, labeled 'I have checked my engraving is correct'. In OptionWise any option can be required, and add-to-cart and express checkout are held until it is checked, so the order records that the customer checked the spelling and the phone number.
OptionWise for pet stores
OptionWise is a Shopify product options app. For a pet store, it puts pet names, fonts, name colors, webbing and hardware choices, 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 piece.
OptionWise is free for life for stores that install today. It adds a block to your theme, with no code changes.