Four steps to add custom product options, engraving and bundles to Shopify without editing Liquid
Custom options without editing Liquid: Engraving, add-ons and bundles in four app-based steps.

You can add engraving fields, file uploads, paid add-ons, and bundles to Shopify product pages without editing Liquid by combining a product options app for custom fields with a bundle app for quantity breaks and mix-and-match offers. Native variants still handle size and color. Apps handle anything a shopper types, uploads, or picks conditionally.

Shopify variants are great until a customer wants their initials on a ring. Then you hit the wall. Variants are fixed combinations of options you decide in advance. Free text, uploaded logos, and "add gift wrap for $4" do not fit that model.

The old fix was custom Liquid: a developer adds input fields to the product form, writes JavaScript to validate them, and hopes the next theme update does not wipe it out. We have rebuilt those custom forms more than once after theme upgrades. Apps now cover nearly all of it, survive theme changes, and show up properly in orders.

This guide covers where native variants stop, how to set up custom options and engraving with an app, which bundle formats lifted AOV in our test, and how to place it all on the page without clutter.

  • When native variants are enough and when they are not
  • Setting up engraving and paid add-ons with AvisPlus
  • Quantity breaks and mix-and-match with Kaching Bundles
  • Layout checks on mobile

Where do native Shopify variants stop working?

Shopify now supports up to 2,048 variants per product across three option types. For size, color, and material, that is plenty.

Comparison of Shopify native variants and product option apps for engraving and custom fields
Native variants vs option apps: Where Shopify variants stop working.

The limits show up elsewhere. There is no native free-text field, so engraving, monograms, and gift messages are out. No file upload for logos or photos. No conditional logic, so you cannot show "engraving font" only when the shopper ticks "add engraving". And no clean way to charge for an add-on without creating duplicate variants for every combination.

You could build duplicate variants: "Ring, gold, size 7, with engraving" and "Ring, gold, size 7, without engraving". It works for one add-on. Add two more and the variant count explodes, inventory tracking gets messy, and the product page turns into a wall of dropdowns.

Custom fields from an app save their values as line item properties. Shopify's developer documentation on line item properties in product templates explains the mechanism. In plain terms, the text the shopper typed rides along with the cart item into the order, where you and your fulfillment team can see it.

How do you set up engraving and custom fields with an app?

We used AvisPlus on a test jewelry store with 40 products. Setup for the first product took about 25 minutes. After that, applying the same option set to other products took seconds.

Here is the order we followed.

Create an option set. Name it after what it does, such as "Engraving + gift wrap". Add a checkbox for "Add engraving (+$12)". Add a text field for the engraving text with a 15-character limit, shown only when the checkbox is on. Add a dropdown for font with three choices, also conditional. Add a checkbox for gift wrap with its own price.

Assign the set to products. You can target by collection, tag, or individual product. We used a tag, "engravable", so new products pick it up automatically.

Check pricing display. The add-on price should appear next to each option and update the total before add to cart. Shoppers hate surprises at checkout.

Test the order. Place a test order and open it in admin. Each custom value should show as a property under the line item. Print a packing slip and confirm the values appear there too.

What does the order flow look like after checkout?

This part gets skipped in most setup guides, and it is where mistakes cost money.

Engraving order flow on Shopify from product page field to order line item properties and fulfillment
Engraving order flow, start to finish: Where custom text travels after checkout.

The shopper types "A + J 2026" and picks a script font. That text becomes a line item property. In your admin order view, it sits under the product name. Your packing slip template needs to show properties, so check Settings, then Shipping and delivery, then Packing slips. Most default templates include them, but some customized ones do not.

If an outside workshop does your engraving, export orders with properties to CSV. Copying text by hand from order screens is how typos happen. One merchant we worked with had a 3% engraving error rate before switching to CSV export. It dropped to near zero.

Also set clear return rules. Personalized items usually cannot be resold, so say so on the product page near the engraving field, not buried in a policy page.

Which bundle formats actually raised AOV?

We ran four bundle formats on the same jewelry store, 30 days each, with similar traffic each month.

Results of Shopify bundle formats tested on a jewelry store including quantity breaks and mix and match
Bundle formats we tested on one jewelry store: 30 days each, similar traffic.

Quantity breaks (buy 2 save 10%, buy 3 save 15%) lifted AOV by 11% with a 14% take rate. Setup took about 20 minutes in Kaching. This format works best for products people buy in multiples or as gifts.

Mix-and-match (pick any 3 from a collection for a set price) lifted AOV 8% with a 9% take rate. It took longer to set up because we had to curate which products qualify.

Gift add-on (add a gift box and card for $6) lifted AOV 6% but had the highest take rate at 18%. Cheap, easy, and shoppers liked it, especially in November and December.

A fixed bundle SKU (necklace plus earrings as one product) lifted AOV just 4% with a 5% take rate. It also took the longest, since we had to create new products and photos.

Our takeaway: start with quantity breaks and a gift add-on. They are fast to launch and easy to remove if they do not work. We compared Kaching against two alternatives in our Kaching vs Candy Rack vs ReConvert test.

Remember that these results came from one store in one category. Treat them as a starting hypothesis for your own test.

How do you price add-ons so they feel fair?

Pricing an add-on is a small decision with an outsized effect on take rate.

Anchor the add-on to the product price. On a $90 ring, $12 engraving feels reasonable. On a $25 keychain, the same $12 feels steep, and take rate dropped below 5% when we tested it. We moved keychain engraving to $5 and take rate tripled.

Round numbers read cleaner on small screens. "+$12" scans faster than "+$11.99" when it sits next to a checkbox.

Bundle the add-ons that go together. Shoppers who choose engraving often want gift wrap too. Offering "Engraving + gift box, $15" next to the separate options gave a slightly higher combined take rate than either alone.

Finally, show production time. Engraved items usually ship one to three days later. Put that note inside the option itself, so the shopper sees it at the moment of choice rather than after the order.

How should you lay out options and bundles on the product page?

Stacking an options form and a bundle widget under the price can push the add-to-cart button below the fold on phones. That costs more sales than either feature adds.

Research from the Baymard Institute on mobile product pages keeps finding that shoppers struggle when key controls and images compete for limited screen space. Our own checks agree.

Here is the order we use from top to bottom on mobile: images, title, price, short fit or material note, variant pickers, bundle tiers, custom options (collapsed until needed), add-to-cart, then description tabs.

If you build product templates in a page builder like EComposer, place the app blocks as separate sections so you can drag them into this order and preview the 390px view directly. Most option and bundle apps expose theme app blocks, so you can position them in either the theme editor or a builder without code. Our page builder comparison covers how each builder handles app blocks.

Keep the engraving form collapsed behind a checkbox. Shoppers who do not want engraving should not scroll past a text field.

What mistakes break custom options?

We have seen each of these on live stores.

  • Character limits missing. Someone types a 60-character message for a ring that fits 12. The workshop has to email the customer and delay the order.
  • Emoji in engraving fields. Add a note or validation that only letters, numbers, and basic symbols are allowed.
  • Add-on price not taxed correctly. Check that the add-on fee follows the same tax rules as the product in your markets.
  • Two apps fighting over the product form. An old options app left installed plus a new one can create duplicate fields or break add-to-cart. Uninstall fully and remove old app blocks.
  • Bundle discounts stacking with sitewide codes. Decide whether a bundle discount combines with other codes, and set Shopify discount combinations to match. The Shopify help page on discount combinations lists which discount classes can stack.

For more on clean product page structure in fashion and accessories, see our product page teardown.

Do you still need a developer for any of this?

Rarely. For the setups in this guide, no.

You may want help if you need a live visual preview of the engraving on the product image, complex pricing formulas (price per letter, per square inch), or integration with a production system that reads orders through an API. Some options apps offer live preview as a paid feature. Check before you hire someone.

Questions merchants ask us about this

Can I add engraving to Shopify without an app?

Only by editing theme code to add custom input fields to the product form. It works but often breaks on theme updates. An options app saves the text as line item properties without code changes.

Do product options apps slow down my store?

They add a small script, typically loaded only on product pages. Check PageSpeed before and after install. In our test, the difference on mobile LCP was within normal run-to-run variation.

Will custom options show up in my orders?

Yes. Values save as line item properties and appear in the admin order view, order notifications, and packing slips if your template includes properties.

Should I use quantity breaks or mix-and-match bundles?

Quantity breaks are faster to set up and worked better in our test for giftable items. Mix-and-match suits stores where shoppers want to build their own set from a collection.

Nitroapps Editorial Team: building Shopify apps and testing ecommerce tools on live Online Store 2.0 sandboxes. Questions: hello@nitroapps.io. Last updated: 2026-10-26 (Asia/Saigon).