Built for Shopify price calculator theme app extension: block under the price, validation off until you save it, uninstall removes the block.
2026-11-06

Price calculator as a theme app block

A blind is priced from width and drop. Next quarter you switch themes. Someone technical opens devtools and edits the number before it hits the cart. Those three events are the technical fit. The phrase Built for Shopify price calculator theme app extension is the filter: a block the theme editor owns, a price check you have to turn on, and an uninstall that takes the block with it.

The app is Options Price Calculator. On 6 November 2026 the listing shows the Built for Shopify badge. The badge is Shopify’s public mark. It is not a Lighthouse export from your unpublished theme.

Must-haves

Miss one of these and the fit fails, five stars or not.

  • The calculator is a theme app block on the product template. A script tag, or a Liquid paste as the only way to show it, fails.

  • In the theme editor the block is named Options Price Calculator. The docs put it under the price and above Add to cart.

  • Shopify’s own cap is three options and 2,048 variants per product. The extra fields are not stock-keeping units. The cap is 2,048, not 100.

  • The price is a number from a formula. If shoppers must not rewrite that number in the browser, the server-side switch has to exist in the docs and it has to be saved on. Off is the default.

  • The badge is the only speed claim the listing supports. Do not invent a Core Web Vitals delta.

  • Uninstall removes theme app extension blocks. A snippet you pasted into a Liquid file stays.

  • Free stops at 20 uses. Conditional pricing, the font picker, live preview, lookup tables, and file upload are Premium at $19.99, not Starter.

Start with the exit, then the block

Shopify’s Built for Shopify requirements put the exit in section 3.2.1. An app that renders on the online store builds those pieces as a theme app extension. It does not inject code into the theme. When the merchant uninstalls, blocks tied to the app are removed from online store themes, automatically and entirely. Section 3.2.2 says the app should not create, edit, or delete theme files through the Asset API, aside from narrow exceptions (a full page builder, backups, SEO or developer tooling). None of those exceptions is this calculator.

The install article matches that shape. Open the app, then Online Store, Themes, Customize on the published theme. Page selector: Products, then Default product or the template this product uses. Add block, Apps, Options Price Calculator. Save. On the storefront, change options and watch the price.

Themes do not share a class name for the price or the button. A selector picker exists because of that. “Works on every theme with zero setup” is not in the article. The calculators live in the app. Remove the app and the block is gone. Orders already placed stay orders. You do not get a leftover script, because the docs never asked you to paste one.

The switch the listing names and the docs leave off

Every product page writes the price to `__ooCustomPrice`. The safety article says the toggle lives under Price settings. Off is the default until someone opens Theme settings and saves. Off, the cart bundle and the draft order trust that property. A visitor with devtools can change it before submit. On, the line needs `__ooLiteSig`, `__ooPayloadHash`, and `__ooQuotedPrice`. A bad signature or a changed price means no expand, on the cart and on the draft-order proxy. The switch is global. A storefront property cannot disable it. Keys are not rotated by hand.

Turn it on after the formula works end to end. On too early, a bad formula never expands and looks like a theme bug. Off on a live store where tampering is unacceptable fails the must-have. The listing bullet names the feature. It does not prove the toggle is already on.

What you may quote about speed

ClaimAllowed source on 6 November 2026Not allowed
Badge is on the listingThe listing heroA Lighthouse score for your theme
Storefront bar is a drop of at most ten Lighthouse pointsRequirements 2.2.1“This app costs four points”
Admin LCP ≤ 2.5 s, CLS ≤ 0.1, INP ≤ 200 msSame page, and only assessed after 100 calls in 28 daysPasting those as this app’s measured vitals
Checkout carrier p95 of 500 ms, 1,000 requestsRequirements 2.3.1, for carrier-rate appsApplying it to a product-page calculator
Block placementInstall article“Zero setup on every theme”

The docs do not publish a Core Web Vitals run. Test an unpublished theme copy, the block, one product, and the cart.

Formula, variants, and the plan

The formula builder accepts `+ − × ÷` and parentheses, and the result has to be a number. One documented shape is `(product_price + width * height) * material_multiplier`. Link a calculator per variant (linking article). One variant on the product means that link covers the product.

Adding variants still says 2,048 variants and three options, and that some themes stall past 100. Line item properties carry text. They do not change the unit price. A blind priced by the millimetre is not a variant list. A tee in S, M, L and a color is not this app.

Plans on the listing, USD, billed every 30 days. Free: Ultimate features, 20 uses. Starter, $9.99: unlimited options, AI, advanced formula builder, metafields, styling, multilingual. Premium, $19.99: conditional logic for dynamic pricing, font picker, live preview, price breakdown, lookup tables and file uploads. Ultimate, $39.99: show/hide fields, draft-order checkout, the admin calculator, setup service. Halfway through setup, confirm the plan on the listing itself: Options Price Calculator.

Works with, as printed: Checkout, Shopify Admin, AI, Ajax cart, cart drawer, slide-out cart. Language on the card: English. Launched 15 August 2025.

Data the listing asks for, and the policy behind the link

The data-access panel lists customer contact data, device data, the store owner, customers, products, 60 days of orders, draft orders, cart transforms, cart and checkout validations, a view of the theme, files, locales, and Markets. That matches a bundle that expands a calculated price. It is not a signed DPA.

The privacy policy is one general page. It says personal information stays inside Shopify, log files last only while an issue is open, and data is not shared except when the law requires it. Contact is info@onlineorigins.nl. A DPA is not on the page. Ask for one. Do not cite one that is not published.

Reviews the page actually showed

5.0 from 29. Histogram: 29 fives, nothing else. Cards shown: 30 October, Orange Shapes (Netherlands, six months), positive on options, font, measurements, and support. 29 October, Brooklyn Butcher Blocks (United States, two months), countertop estimates. 23 October, Kingdom Decals (United Kingdom, 11 days), setup and support. No one-star card on this fetch, so no developer reply to quote. Twenty-nine reviews since 15 August 2025 is a short record. The plan contrast with SE, including rows they win, is the 5 November piece.

When variants are enough

Stay native when the buyer picks from a fixed list, you stock each combination, and you are inside three options and comfortably under 2,048 variants. Engraving that does not change the price stays a property. Width times drop times a rate, or a fourth choice that is not a SKU, is the app.

Primary sources

Close

The fit is the block in the theme editor, the switch you save yourself, and an uninstall that removes that block. The badge covers the ten-point storefront bar. It does not cover a score for your theme, and it does not flip validation on. Free stays at 20 uses. Premium stays the tier for conditional pricing, live preview, and lookup tables.

Install from the listing: Options Price Calculator.

online origins logo full

The Shopify Select partner for ambitious e-commerce businesses that want to grow!

linkedin online origins iconinstagram online origins icon

Reviews

5/5

Check on Google

Mail: info@onlineorigins.nl

Tel: 073 234 0612

KVK: 89825624

BTW: NL865123639B01

Bruistensingel 500,
5232 AH 's-Hertogenbosch
Cookies

© 2026 Online Origins