Stop unconfigured orders
This is the most important page in the documentation. If you only read one, read this one.
The problem, in one sentence
Section titled “The problem, in one sentence”Optical Form adds its button to the product page. But your theme’s buttons are still there, and those add the frame straight to the cart without going through the form.
The result is an order that looks perfectly normal — it’s paid, it lands in your admin, the customer gets a confirmation — but with no prescription, no treatments and nothing else you need to actually make the lenses.
Why it happens
Section titled “Why it happens”This isn’t a bug in the app or in your theme: it’s two ways of buying the same product sitting side by side.
| What it does | |
|---|---|
| The Optical Form button | Opens the form, collects the prescription, adds frame + lenses + treatments |
| Your theme’s button | Adds the frame, and that’s it |
The app deliberately doesn’t remove your theme’s buttons. Your catalog almost certainly has products that sell as-is — cases, cleaning fluid, accessories, non-prescription sunglasses — and those need their normal button. Removing it on our own would break half your store.
Deciding which products sell form-only is your call. This page shows you how to enforce it.
The 30-second test
Section titled “The 30-second test”Before you open your store to the public, do this:
- Open a product page that uses a form, as a customer would.
- Don’t touch the Optical Form button.
- Try to buy the frame any other way.
If you manage it, the store isn’t ready. However well the form works.
Where those buttons hide
Section titled “Where those buttons hide”Look for these three. They’re on by default in most modern themes:
1. The buy button on the product page The usual “Add to cart”, next to the price and the variant picker.
2. 🔴 The bar that appears as you scroll The sneaky one, because it isn’t visible when the page loads. Scroll to the bottom of a product page: many themes pop up a fixed bar with the photo, the price and a buy button. In Horizon it’s on out of the box.
3. Quick add on listings On collection pages, many product cards carry a button to add without opening the product. There the customer never even sees your form.
The fix: a template just for your form products
Section titled “The fix: a template just for your form products”The idea is simple: a separate product template with no native buy buttons, used only on the products that carry a form. The rest of your catalog stays exactly as it is.
Step 1 — Create the template
Section titled “Step 1 — Create the template”- Online Store → Themes → Customize.
- At the top, in the template selector, pick Product.
- Open the selector and click Create template.
- Give it a recognisable name, for example
prescription. Base it on the product template you already use.
Step 2 — Remove the direct-buy routes
Section titled “Step 2 — Remove the direct-buy routes”With the new template open:
- Select the buy buttons block and remove it (or hide it with the eye icon).
- In the product section settings, find the sticky buy bar option (in Horizon, Sticky add to cart) and turn it off.
- Keep the Optical Form block — that’s what carries the sale now.
Save.
Step 3 — Assign the template to your frames
Section titled “Step 3 — Assign the template to your frames”Under Products, open each frame that uses a form and, in the right sidebar under Theme template, choose prescription. Save.
You can do it in bulk: select several products → Actions → change template.
Step 4 — Quick add on listings
Section titled “Step 4 — Quick add on listings”This one lives in collections, not on the product page. In the editor, go to the collection template and turn off quick add on the product cards. If your theme won’t let you disable it for some products only, turn it off entirely: losing a shortcut costs far less than an order with no prescription.
Step 5 — Run the 30-second test again
Section titled “Step 5 — Run the 30-second test again”Try once more to buy without opening the form. You shouldn’t be able to — not on the product page, not on scroll, not from the collection.
How do I…
Section titled “How do I…”…sell the same frames with and without prescription?
Two separate products: one on the prescription template with a form, one normal. Cleaner than trying to make a single product do both.
…if my theme won’t let me remove the buy button? Some themes won’t let that block go. Then the route is the Custom CSS field on the app embed, hiding it only on that template. Write to us and we’ll send you the rule for your theme.
…test it without publishing? Duplicate the theme, make the changes on the copy and preview it. Remember the app’s Setup guide checks your published theme, so the embed and block steps will still reflect whichever theme is live.
Before you open to the public
Section titled “Before you open to the public”- The new template has no buy button on the product page
- The sticky bar on scroll is turned off
- Collection cards don’t allow quick add
- Every frame with a form uses that template
- You tried to buy without configuring and couldn’t
- A test order arrives with the prescription in the line item properties
Once all six are ticked, an unprescribed order can’t get through.