Selling Personalized Products on Shopify (Teeinblue & Co.)

In short: You sell personalized products on Shopify at three levels: a simple text field or file upload in the product form (no app, via theme code), a product options app with conditions and surcharges, or a personalizer such as Teeinblue, Customily or Zepto with a live preview. In every case, your customers’ input is attached to the order line item as additional information. Under German law, genuine made-to-order goods are usually excluded from the right of withdrawal under § 312g (2) No. 1 BGB; a choice from your standard variants is not.

A pouch with an embroidered name, a poster of your own dog, a mug with custom text: personalized products are harder to copy and support higher prices than standard goods. In this article, you’ll learn how to implement personalization technically in Shopify, where to find your customers’ input, what the common tools cost and what applies legally in Germany. It is part of our overview Shopify products: find, add, sell.

For background: Luis Benz, the author of this blog, has worked with Teeinblue for over four years and has run more than 500 personalization campaigns. We still based the comparison below on the current pricing pages and App Store listings, not on preference.

The three levels of personalized products on Shopify

Level 1: Field in the themeLevel 2: Options appLevel 3: Personalizer
What the customer doesTypes text or uploads a fileText, upload, dropdowns, checkboxes, dependent on each otherDesigns the product and sees it live on the mockup
Previewnoneusually none or a simple oneyes
Print fileyou make it yourselfyou make it yourselfautomatic, depending on the tool
Surcharge for personalizationonly via variantsyes, depending on app and plandepending on the tool
Costno app costsfrom €0monthly fee, sometimes plus a fee per item
SuitsEngraving, embroidery, handmade goods with few inputsProducts with many choicesPrint products, print on demand, photo gifts

A basic rule that also applies to variants: anything that needs its own stock level or SKU (pouch color, size) is a variant. Anything the customer decides freely (name, font color, photo) is an option attached to the order. How to set up variants is explained in Creating variants in Shopify.

Level 1: Text field or upload without an app

Shopify can store customer input out of the box, as so-called line item properties. Technically, that’s an input field in the product form with a name following the pattern properties[Name]. According to the Shopify developer docs, the field must be inside the product form; a file upload is explicitly covered as a use case.

In practice, this means: you add a custom Liquid block to the product template via the theme editor, or adjust the template in the code. So that the field only appears on certain products, you create a separate product template, such as “personalizable”, and assign it only to those products. If different products need different fields (name and date for one product, ten photos for another), you create several templates accordingly.

The limits: no preview, no required-field logic without extra code, no fields that only appear for certain selections, and theme updates can overwrite the code. When code is worth it and when you need a developer is covered in Customizing Shopify code.

Level 2: Product options apps

As soon as you need several fields, required inputs, surcharges or conditional fields (“font selection only appears when engraving is selected”), a product options app is easier than code. These apps work with option sets that you assign to individual products, collections or tags. That solves the common problem of a text field showing up on all products instead of only the intended ones.

One example is Easify Custom Product Options. According to the App Store listing (as of October 2026), there is a permanently free plan with unlimited option sets and conditional logic. File uploads and surcharges via add-on products are available from the Pro plan at $9.99 per month. Comparable apps exist from several providers. When choosing, watch three things: does the app work with your theme, how are surcharges shown in the cart, and how large may uploads be?

Level 3: Personalizers with live preview

With print products, customers are more likely to buy when they see the result: the name on the shirt, the photo in the frame. Personalizers show a live preview and, depending on the tool, generate the print file directly from the input. Three widely used tools compared, based on the providers’ information:

TeeinblueCustomilyZepto Product Personalizer
Base fee$49 per month, one plan$49 per month$9.99 to $69.99 per month
Fee per itemfirst 100: $0; 101–1,000: $0.40; above that $0.20 or $0.101–100: $1; 101–1,000: $0.50; above that $0.25 or $0.10none; plans limit personalized orders per month (100 to unlimited)
Trial14 days9 days15 days
Live previewyesPersonalization tools with mockupsyes
Automatic print fileyesyesnot mentioned in the app listing
Integration with print partnersover 20 print partners according to the providerPrint-on-demand integrationscompatible with Gelato, Printful and ShineOn according to the app listing

Sources: Teeinblue pricing page, Customily pricing page, Zepto in the Shopify App Store. All prices in US dollars, as of October 2026.

Calculation example: 300 personalized items per month

Suppose you sell 300 personalized items in one month and the tiers reset every month (the case at Customily according to its pricing page; check beforehand for Teeinblue):

  • Teeinblue: $49 + 200 × $0.40 = $129
  • Customily: $49 + 100 × $1 + 200 × $0.50 = $249
  • Zepto: Pro plan with up to 500 personalized orders = $34.99

Zepto is the cheapest on price alone, but its app listing doesn’t mention an automatic print file. The listing names Gelato, Printful and ShineOn as compatible; how far the handover to them is automated is best checked during the trial. If you produce yourself and prepare the file by hand anyway, that may be enough. If orders should go to a print-on-demand provider without manual work, automation matters more than the monthly fee. Per item, $0.40 on a personalized product for €30 to €40 is usually manageable, but factor it into your calculation, see Calculating prices in your online store.

How fulfillment with print partners such as Printful or Gelato works in principle is shown in Print on demand with Shopify.

Where to find your customers’ input

“The customer says they uploaded an image, but I can’t find it.” The input is in the order in the Shopify admin, directly below the respective item: text as text, uploads usually as a link to the file. With apps, you’ll also find an overview in the app dashboard, and with personalizers also the finished print file. If something is missing there, the input never reached the cart, usually because the field was outside the product form or a theme update removed the code. So place a test order after every theme change.

If a customer buys two identical items with different personalization, they add them to the cart one after the other with the respective inputs. Shopify then treats them as two separate line items. If, on the other hand, they only increase the quantity in the cart, both units get the same personalization. Point this out on the product page. What to do if something was still ordered incorrectly is covered in Editing orders in Shopify.

Under § 312g (2) No. 1 BGB (German), there is no right of withdrawal for goods that are not prefabricated and for whose production an individual selection or specification by the consumer is decisive, or that are clearly tailored to their personal needs. Typical cases:

Usually excludedUsually not excluded
Mug with a custom name, poster with your own photoShirt with your standard design in a chosen color and size
Engraving with individual textProduct made of standard components that can be separated again
Cut to the customer’s measurementsA choice from your existing variants

Germany’s Federal Court of Justice (Bundesgerichtshof) ruled back in 2003 that a notebook assembled from standard parts to the customer’s wishes does not fall under the exception (BGH, judgment of 19.03.2003, VIII ZR 295/01). In 2020, the European Court of Justice clarified that the exception applies regardless of whether you have already started production (CJEU, C-529/19).

Two more points that are often forgotten with personalization:

  • Third-party rights in customer files: If a customer uploads a club logo, a comic character or a celebrity photo, you are the one who prints it in the end. State in your terms and conditions (AGB) that customers may only upload content they hold the rights to, and reject obvious infringements. More on this in Product images, copyright and trademarks.
  • Data protection: Uploaded photos often show people. List the personalization app as a service provider in your privacy policy and check whether the provider offers a data processing agreement (Auftragsverarbeitungsvertrag).

FAQ

How do I add a “Personalize” button in Shopify?

Shopify doesn’t have a ready-made button for this. For simple inputs, you build a text field into a separate product template using a Liquid block. If clicking “Personalize” should open an editor with a preview, you need a personalizer such as Teeinblue, Customily or Zepto. Many come with their own block for the theme editor, which you only use on personalizable products.

Can customers upload their own file in Shopify?

Yes. Without an app, this works via an upload field in the product form, which Shopify stores as a property on the order line item. More convenient are product options apps that offer upload fields with size limits and multiple files, usually on a paid plan. You then find the file in the order below the item as a link and can download and pass it on.

Can I charge a surcharge for personalization?

Yes, in two ways. Either you create a variant “with personalization” at a higher price, or you use an options app that handles surcharges, often as a hidden add-on product in the cart. What matters is that the final price is clearly visible before purchase. With personalizers that charge a fee per item, you should factor these costs into the surcharge.

How do I prevent typos in personalized orders?

Show the input as clearly as possible before purchase, ideally as a live preview, and have the customer tick a box confirming that spelling and image have been checked. Limit the number and type of characters so nothing gets cut off. For expensive one-off pieces, you can send a proof by email before production. That takes time but saves reprints.

Are personalized products more profitable than standard print on demand?

Often yes, because personalized products are hard to compare and support higher prices. In return, the effort is higher: good templates, more customer questions, input errors. The exclusion from the right of withdrawal lowers the return risk, but only for genuine made-to-order goods. Factor in personalizer fees, production and advertising costs before you set prices.

Last updated: October 2026. App prices and features according to the providers’ pricing pages and App Store listings; they change regularly. This article is not legal advice.

Appsentials

The matching app.

We build Shopify apps for EU merchants. This one solves the topic of this article:

EU Withdrawal Form & Button

Withdrawal button and withdrawal form for your store, multilingual, with dashboard, email notifications and deadline tracking.

Free plan availableView in the App Store →