Looking for the best way to offer engraving options with custom pricing (Shopify Plus)

Looking for the best way to offer engraving options with custom pricing (Shopify Plus)

bopenshaw
Shopify Partner
1 0 1

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

Replies 3 (3)

Small_Task_Help
Shopify Partner
969 38 93

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

To Get Shopify Experts Help, Click Here or E-mail - hi@ecommercesmalltask.com
About Us - We are Shopify Expert India
At Google My Business - Ecommerce Small Task - Hire Shopify Developers Ahmedabad

Zel_Minimate
Shopify Partner
73 0 4

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 1Add-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).
Screenshot 2025-04-10 at 15.10.23.pngScreenshot 2025-04-10 at 15.11.07.png

Example 2Shopify 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)
Screenshot 2025-04-10 at 15.14.41.pngScreenshot 2025-04-10 at 15.15.18.png

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

MINIMATE APPS - CUSTOMIZATION & SCARCITY MADE SIMPLE!
Mini Customization Fields: Effortlessly create and manage custom product fields for a personalized product options.
Mini: Coming Soon | Waitlist : Maximize revenue through waitlists and pre-orders.
Hey! Scarcity Low Stock Counter: Boost sales by displaying low stock message to create a sense of urgency.
Explore Our Apps for Free | 24/7 Dedicated Support for Shopify merchants

Easify-Jolie
Shopify Partner
262 9 25

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:

  • This is the result:

EasifyJolie_0-1744356357238.png

  • This is the app setting:

EasifyJolie_2-1744356885111.png

 

Here you can set price per character for the Engraving Text, or you can set flat price, character quantity if you want.

EasifyJolie_1-1744356850757.png

 

To show the Engraving Text in real time, you just need to select the "Enabel live preview" in the Product Personalization like this:

EasifyJolie_3-1744357050470.png

 

EasifyJolie_4-1744357088379.png

 

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! 🤗

Easify Product Options: Any product options app can help you create custom options, but Easify turns those options into sales and conversions!
Easify Inventory Sync: Automate inventory syncing for Bundles, Duplicates, and Raw Materials. Say goodbye to manual tracking headaches.
Easify Product Attachments: Enrich your store with downloadable content. Easily add PDFs and other files to product or any page.
>>> Try Apps for Free | 24/7 Live Chat Support