Why this needs Cart Transform, not variants
The old way to charge for engraving was to create variants — '0-10 chars: $25', '11-20 chars: $30', etc. That works for 2-3 tiers. It breaks completely when you want true per-character pricing because Shopify has a hard limit of 100 variants per product.
Cart Transform (Shopify's 2023 cart-update API) lets the app calculate the surcharge live and add it to the cart line at checkout — no variant explosion, no separate 'engraving fee' product, no shipping-tax confusion.
Step-by-step setup
- Install Print It My Way. Per-character pricing depends on Shopify's Cart Transform Function, which Print It My Way uses automatically. Install the app from the Shopify App Store.
- Open the product and add a text field. Pick the engraved product, add a single-line text field, and give it a label like 'Engraving text' and a character limit (e.g. 20 characters).
- Enable per-character pricing. On the text field, toggle 'Charge per character' and set the rate (e.g. $1.00 per character) and the threshold (e.g. first 10 characters free, $1 each after that).
- Decide what counts as a character. Choose whether spaces and punctuation count toward the total. Most engravers charge per visible character including spaces — but the choice is yours; set it in the rule editor.
- Test the live cart update. Add the product to cart with 15 characters typed. Confirm the cart line shows the base price plus the per-character surcharge as a separate line, with the customer's text visible.
- Verify the order shows the breakdown. Place a test order and check the order details in Shopify admin. The customer's engraving text and the per-character surcharge should both be on the line item, so fulfillment can see exactly what to engrave and you can reconcile the revenue.
Three pricing models that work
Flat per-character ($1 each): Simplest. Every character costs the same. Easy for customers to understand. Good for engravings shops where each letter takes roughly the same time.
Tiered (first 10 free, $1 each after): Most common. Lets you advertise 'free engraving' while still recovering cost on long inscriptions. The threshold should match your actual production cost break — most CNC engravers can handle 10 characters in roughly the same setup time as one.
Per-line ($5 per line of text): Useful for multi-side or multi-line products (gravestones, plaques, multi-line jewelry). Charges per line break rather than per character.
Do spaces count? Do hyphens? Do apostrophes?
This is the question customers ask in support tickets if you don't decide upfront. Three defensible policies:
- All visible characters count — spaces, punctuation, everything. Cleanest to explain. Most common.
- Letters and numbers only — spaces and punctuation are free. Customer-friendly but harder to enforce mentally.
- By line — sidestep the question by charging per line of text.
Whatever you choose, state it on the product page. 'Engraving: $1 per character (spaces and punctuation included)' is enough.
Making sure your engraver sees the right text
The customer's engraving text needs to land somewhere your fulfillment team actually looks. By default, Print It My Way attaches the engraving text and a print-ready file (with the chosen font and exact text) to the order line item. That shows up in Shopify admin, in your packing slip if you've configured it, and via API for any third-party fulfillment integration.
If you're using a third-party POD partner that doesn't support custom text natively (e.g. some Etsy-style fulfillers), make sure the print file URL is being sent via the partner's order-import format. Print It My Way's native integrations handle this for the major POD providers.
Add per-character pricing without variant gymnastics
Print It My Way uses Shopify Cart Transform to charge by the character — no 100-variant limit, no separate 'engraving fee' product, no manual reconciliation. Install free.
Install Print It My Way — Free See the per-character pricing comparison →Frequently asked questions
Can I charge different rates on different products?
Yes. Each product can have its own per-character rule — flat rate on jewelry, tiered on signage, per-line on plaques.
What if a customer pastes a long string?
Set a character limit on the text field (e.g. 50 characters). The field rejects input beyond the limit so customers can't game it.
Does the surcharge get taxed correctly?
Yes. Because Cart Transform adds the surcharge as part of the line item price, it inherits the product's tax class — so engraving fees are taxed the same way as the base product, which is correct in most jurisdictions.
Will discounts apply to the engraving fee?
Depends on your discount setup. Order-level discounts (e.g. 10% off) apply to the full line including the engraving surcharge. Product-specific discounts can be scoped to base price only if you prefer.
Can I bypass the fee for VIPs or wholesale customers?
Yes. You can scope the per-character rule to specific customer tags, so logged-in wholesale customers skip the surcharge automatically.