All things Shopify and commerce
Hey all - I work with a Shopify Plus store who want to offer engraving options on their products. Something similar to this but doesn't necessarily require preview on product. Ideally, it would open in a modal (like in the example) or a drawer that opens from the side. Aware of quite a few Shopify apps on the app store, but haven't discovered one that meets requirements. I also found this example which seems like they're using an app, but I couldn’t identify which one.
The solution needs to meet the following requirements:
Charge a flat fee (e.g. £5) to add engraving
Plus a per-character cost (e.g. 30p per letter)
Alternatively, they're open to using pricing bands instead of per-letter pricing if that’s easier to implement
If anyone has recommendations for apps or an suggestions around a custom implementation, it would be much appreciated!
TL;DR:
Looking for a way to add engraving options to product pages with a base fee + per-character pricing (or bands). Ideally app-based solutions, but open to hearing about custom solutions. It needs to be smooth and scalable as will be used on many products! Thanks
Hi,
Hope this will help
-Use Line Item Properties
- Add a text field for engraving text
Code example
<label for="engraving-text">Enter Engraving Text:</label>
<input id="engraving-text" type="text" name="properties[Engraving]" />
- Add Pricing Logic with Shopify Scripts
Code example
ENGRAVING_BASE_PRICE = Money.new(cents: 500) # £5
ENGRAVING_PER_CHAR_PRICE = Money.new(cents: 30) # £0.30
Input.cart.line_items.each do |line_item|
if line_item.properties["Engraving"]
engraving_text = line_item.properties["Engraving"]
engraving_chars = engraving_text.length
extra_cost = ENGRAVING_BASE_PRICE + (ENGRAVING_PER_CHAR_PRICE * engraving_chars)
line_item.change_line_price(line_item.line_price + extra_cost, message: "Engraving Charge")
end
end
Output.cart = Input.cart
- Create a Modal or Drawer using Tailwind or JS
- Use Price Bands,If Per-Character Is Too Complex (It is optional)
- If you do not want custom coding then you can use app
Hi @bopenshaw ;
What you're trying to achieve is completely doable — and our app, Mini: Custom Fields Personalize, is a great fit for this.
With our app, you can offer engraving options on product pages and charge extra using pricing bands(this will be easier to implement ) based on character count. It’s a no-code setup that’s easy to manage and works well across multiple products. You can set a character limit for the engraving text input field to make sure customers stay within your pricing structure.
I’ve created two examples to show how this can work:
Example 1 – Add-on Pricing via Our App
You can create a dropdown to let customers select how many characters they want (e.g. 1–5, 6–10, etc.), and link a text box field where they enter the engraving. You can set a different price for each option — handled fully by our app.
Here’s a live demo you can try (password: mini).
Example 2 – Shopify Variant-Based Pricing
If your product has room for extra variants, you can create engraving options as Shopify variants (with different prices). Then, use our app to show a character input textbox conditionally based on the selected variant.
Second demo link here (password: mini)
Both setups are easy to configure and require no coding. The app is designed to be flexible, scalable, and perfect for things like engraving, personalization, and product add-ons. Feel free to get the app in here.
Let me know if you’d like help setting this up or want to walk through any of the examples — happy to chat further!
Best,
Zel
Hi @bopenshaw
I recommend trying Easify Product Options – it’s a flexible app made for stores that need custom options like engraving. Super easy to set up, supports advanced pricing rules, and gives a clean, professional look right on your product page. Great choice if you want a scalable, no-code solution! Here's how it works:
Here you can set price per character for the Engraving Text, or you can set flat price, character quantity if you want.
To show the Engraving Text in real time, you just need to select the "Enabel live preview" in the Product Personalization like this:
You’ll find this app easy to use, so I hope you give it a try. If you need assistance, just let me know or reach out to Easify! 🤗
Hey Community 👋 Did you know that March 15th is National Everything You Think Is W...
By JasonH Apr 1, 2025Discover how to increase the efficiency of commerce operations with Shopify Academy's l...
By Jacqui Mar 26, 2025Shopify and our financial partners regularly review and update verification requiremen...
By Jacqui Mar 14, 2025