Skip to content
Tell us about your project

Sales and conversion · 5 min read

Personalized products on Shopify: engravings, custom text and made-to-order options

Selling a product with an engraved name, embroidered text or a combination chosen by the customer is simpler on Shopify than it looks, but there are several ways to do it and they don't all scale the same. The right choice depends on how many options you have, whether they change the price and who needs to read that information afterward. Here are the pieces available and how to combine them.

Variants or personalization: the first decision

The first step is separating what is a variant from what is personalization. A variant is a specific product with its own SKU, price and stock: size M in black, for example. Shopify allows up to 3 options per product and up to 2048 variants, and anything that tracks inventory or has its own price should go there.

Personalization, on the other hand, is information the customer adds that doesn't change stock: the name they want engraved, a wedding date or a gift note. Putting that into variants makes no sense, because there's no way to create a variant for every possible text. That's what line item properties are for.

Line item properties: the native building block

Line item properties are name and value pairs stored on each cart line that carry through to the order. You create them by adding fields to the theme's product form with a name like properties[Engraving]. Whatever the customer types in that field travels with the product to the cart, the checkout and the order you see in the admin.

If the property name starts with an underscore, for example properties[_reference], Shopify hides it from the customer at checkout. It's useful for storing internal data, like a design ID or a template version, without the customer seeing it.

Since it's part of the theme, you don't depend on any app: a text field, a dropdown or a few well-designed checkboxes on the product page cover most simple cases. What you need to get right is validation (maximum length, required fields) and making sure the text displays clearly in the cart before payment.

  • Text fields for engravings, names or dedications
  • Dropdowns for font, position or text color
  • Checkboxes for gift wrapping or adding a card
  • Hidden properties with an underscore for internal data

Metafields to control which products can be personalized

In a store with hundreds of products, not all of them can be engraved, and not all allow the same number of characters. This is where metafields come in: you define fields in the admin like “supports engraving”, “maximum characters” or “available fonts” and fill them in per product.

The theme reads those metafields and shows or hides the personalization fields accordingly. That way the team controls what can be personalized from the product page in the admin, without touching code or duplicating templates. With Online Store 2.0 you can also connect those metafields to theme editor blocks for help text or lead time notices.

When personalization changes the price

Line item properties store information, but they don't change the price on their own. If engraving costs extra, there are a few common ways to handle it. The simplest is to create a service product (“Engraving”) that is added to the cart together with the main product. Another is to use a variant of the product itself (“with engraving” and “without engraving”), as long as you don't run out of available options.

For more complex logic, like prices that depend on several choices at once, stores usually turn to product options apps or custom development with Shopify Functions. Each approach has different implications for inventory, reporting and how the order looks, so decide before you build the product page, not after.

Product options apps: when they're worth it

Product options apps add visual builders, conditional logic (show a field only if another is selected), file uploads and live previews. They're useful when there are many options or when the customer needs to upload an image or a logo, which takes more work to build in the theme.

The cost isn't just the monthly fee. Many of these apps inject scripts into the product page, which affects speed, and keep part of the configuration outside Shopify. Before installing one, check whether line item properties and metafields cover what you need. If the app is necessary, make sure the data ends up as order properties and not only in its own dashboard.

What happens after the order

Personalization only works if it reaches whoever fulfills the order correctly. Check how the properties look on the order in the admin, on the packing slip, in the confirmation email and in your fulfillment system or ERP if you have one connected. Notification and packing slip templates can be edited so the engraving stands out.

Think about returns too. A personalized product usually can't be resold, and that should be clear in your return policy. Exceptions to the right of withdrawal for personalized products are a legal matter, so check the exact wording with your advisor.

Frequently asked questions

Do I need an app to sell personalized products on Shopify?

Not always. For text fields, dropdowns and checkboxes, line item properties in the theme's form are enough. Apps are worth it when you need complex conditional logic, file uploads or a design preview.

Do line item properties show up on the order?

Yes. They're stored on the product line and appear in the cart, the checkout and the order in the admin. Those starting with an underscore are hidden from the customer at checkout.

How do I charge extra for engraving?

The usual options are adding a service product to the cart, using a variant with and without engraving, or turning to an app or Shopify Functions if the pricing logic is complex.

Can I decide which products allow personalization without touching code?

Yes, if the theme reads metafields. You define fields like “supports engraving” or “maximum characters” and the team turns them on per product from the admin.

Your next Shopify store starts here

Tell us about your project in a few minutes. If it’s a fit, you book a 30-minute call with a developer and we send you a fixed-price proposal.

Tell us about your projectWe reply within 24 hours