
A cap shop that offers “your team on the front” has one SKU problem and one pricing problem. The SKU is Size × Color. The pricing is every possible string a customer types. A Shopify embroidery text surcharge is the second half: a setup fee that does not change, plus a rate that grows with the letter count. You do not invent a variant named “Jansen”.
Shopify line-item properties can store the string. They do not change the price. Options Price Calculator treats a Text Field as both copy and a number: empty contributes `0`; any typed text contributes the field’s numeric value; a separate Number of characters helper multiplies by your per-letter rate.
This is not the font picker for engraving. That Premium field is a typeface, a string, and an optional colour. Embroidery usually has one thread and one machine path. The customer types. You charge.
Adding variants caps a product at three options and 2048 variants. Size and color already occupy two slots. A third option called “Text” still cannot list every name a club will type.
What variants are for: inventory you can pick — navy / S, white / XL. What they are not for: an open sentence, or a price of setup + letters × rate without a cell per name. Theme inputs labelled `properties[Embroidery]` travel with the line. Checkout keeps the variant price.
So the questions land in support. How many letters? Do spaces count? What if they upload a crest as well? Those answers belong in the formula, on the product page, before Add to cart.
One flat fee for any text. Every cap +$10 once a box is filled. Two letters and twenty-two letters cost the same. The hoop time does not.
Short / medium / long as option values. That burns a variant slot. Shoppers pick “long” and type six characters. Or pick “short” and paste a motto. The selection and the string never meet.
Quote by email. A mock-up, a draft order, a seasonal rush. The rate lives in someone’s head. The storefront never learned it.
None of those give you free text, a constant setup, and a surcharge that tracks `{key}_chars` — without extra variants.
Options Price Calculator is Built for Shopify (5.0, 26 reviews). Unlimited product options — the listing lists Custom text, Numbers, Checkboxes, File upload — plus formulas, and no extra variants. Starter $9.99/month: unlimited options, formula builder, metafields, multilingual, AI. Premium $14.99/month: + conditional logic, Font Picker, live preview, price breakdown. Free: 20 uses; always free on a Shopify Develop plan. Billed in USD.
Skip the Font Picker unless the shopper should choose a face. A Text Field is enough:
Label — `Text on the brim` or `Name on the chest`.
Placeholder — `e.g. EVA` so people see the length you expect.
Key — lowercase, `embroidery` or `cap_text`.
Required — on if a blank string should block the cart; off if embroidery is optional.
Numeric value — the float used when the box is not empty. Empty stays `0`. Typed text becomes that number, for example `8` for digitizing.
Per-character pricing is a second chip: Number of characters in the Form fields dropdown. Behind it sits `{key}_chars` on a Text Field, Textarea, or Font Picker. The variables article calls that helper out for charging per character or per word. Insert the chip; do not type the internal name from memory.
A one-off setup is a constant, the same pattern as example 5 (`product_price + 25 + (width * height)`):
``` product_price + 25 + embroidery_chars * 0.40 + embroidery ```
`25` is hoop and thread-up. `embroidery_chars * 0.40` is the letter rate. `embroidery` is the field’s numeric value — only when someone typed.
Optional stitch work: a checkbox with value `25`, then the text field. Example 2 is `product_price + gift_wrap` — checked uses the value, unchecked is `0`.
A crest next to the name: File upload. Example 9 adds the configured value times the number of files. Do not promise a live mock-up on the product photo unless you are on Premium Product Personalizer.
The Formula Builder allows `+ - × ÷ ( )`. Round at the end. `Math.min`, `Math.max`, `Math.ceil`, `Math.floor`, `Math.round` belong in the main formula, not inside a conditional rule. Tab 4a Custom variables can hold “Embroidery total” if the line gets noisy; that tab is not Premium.
A higher rate after 16 characters, or a hard min/max length, is Premium conditional pricing. Say so. The flat-plus-per-letter sum runs on Starter.
Native options: Size (S/M/L) and Color (black / khaki). Two of three. Variant price is the blank cap. No “Text” option.
Calculator:
Text Field, label `Team or name`, key `embroidery`, numeric value `6`, placeholder `e.g. NORTH`
No font list. Thread colour follows the cap, or a later radio if you add one.
Formula:
``` product_price + 10 + embroidery_chars * 0.35 + embroidery ```
Preview: khaki M at $28, text “NORTH” (5) → `28 + 10 + 1.75 + 6 = 45.75`. Same cap, empty box → $28. “RIVER ROWING CLUB” (17 including spaces) → `28 + 10 + 5.95 + 6 = 49.95`. The order line keeps the string. Checkout keeps the same total.
Need a different factor past 16 characters? That branch is Premium. The character helper is not.
Put the theme app extension on the product page. Use the selector picker for price and Add to cart — themes differ; do not claim it works on every theme with zero setup. Link the calculator per variant; bulk-link when the same sum fits every size. Server-side price validation is part of the app.
AI-powered generation of options and formulas is on Starter+. Use it for a first draft, then prove empty / short / long in preview. Multilingual labels (Starter+) live on the Translations tab. The formula does not change.
Install Options Price Calculator. Free covers 20 uses (Develop plan always free). Starter $9.99/month unlocks fields and formulas.
Keep Size and Color as Shopify options. Do not add a Text option.
Add the Text Field. Set the numeric value to your digitizing fee. Write a placeholder that shows the length you actually stitch.
In 4c, drop Product price, Number of characters, and the text field from the picker. Type the setup constant, or use a checkbox if embroidery is optional.
Preview three cases: blank, two letters, a long club name. Round last.
Link per variant. Place the block. Place a real order. Read the line, the text, the money.
A file upload sits next to the name if you also stitch crests. A typeface dropdown is a different job — Font Picker, Premium.
A Shopify embroidery text surcharge is not a third variant option and not a blunt $10 on every order. It is a Text Field that is `0` when empty, a setup float when filled, and `{key}_chars` times your rate. Shopify itself stops at three options and 2048 variants. The calculator takes the open string.
Put the name in the text field of Options Price Calculator. The product page and the hoop then count the same letters.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins