Going live
Save a version, turn your form on, get it rendering on your storefront, and fix the most common reason it doesn't show.
Building a form is only half the job — this page covers getting it live on your storefront and what to check when it doesn't appear.
Publish: save a version, turn it on
Publishing is two steps in the builder's title bar:
- Save version snapshots your draft as an immutable version (with a readiness checklist and an automatic changelog). If the form is already on, saving updates the storefront immediately; if it's off, Formtoro asks whether you want to turn it on after saving.
- Turn on / Turn off flips the form live or off at any time, without creating a new version.
A form's status badge is one of:
- Draft — never turned on; only you see it in the builder.
- On — live and eligible to show on the storefront (On + Unsaved changes means your draft has edits the live version doesn't).
- Off — turned off; not shown to anyone.
- Paused — limit reached — the form is on, but your plan's monthly submission limit was hit; it resumes when the limit resets or you upgrade.
See Saving, versions, and going live for the full save model. Publishing makes a form eligible to show — but a few things have to line up for a shopper to actually see it.
Turn Formtoro on in your theme (one time)
Popups are delivered by a theme app embed that Shopify keeps switched off until you enable it. Until you turn it on, published popups won't appear on your storefront.
- From the Forms list (or an open popup form), click Activate in theme editor. Or go to Online Store → Themes → Customize → Theme settings → App embeds.
- Find Formtoro Popups and toggle it on.
- Click Save in the theme editor.
That's it — popup, slide-in, and full-page forms can now render. You only do this once per theme; switching themes means turning it on again in the new theme.
Turning the embed off (or never turning it on) means popups don't appear anywhere on your store, even when a form is turned on.
Inline forms use a separate block
If your form's placement is Inline (embedded directly into a page, not floating), it uses the Formtoro Form app block instead of the app embed. Add it where you want the form to appear:
- In the builder's Embed panel, copy the form ID and click Open theme editor.
- In a section that accepts app blocks, Add block → Formtoro Form.
- Paste the form ID into the block, then Save.
The app embed (above) powers popup/slide-in/full-page; the app block powers inline. A form needs whichever matches its placement.
Add a launch button (App Launcher block)
Sometimes you don't want a form to appear on its own — you want the shopper to open it by clicking a button you place exactly where it makes sense. That's the Formtoro Launcher app block: a native-looking button (or your own custom style) that opens a popup or expands an inline form on click. It pairs with a form whose trigger is On click (launcher) and works even when the app embed is off.
It's a fundamental piece of how Formtoro forms reach shoppers, so it has its own guide: Launch buttons — setup, popup vs. inline mode, placement advice, styling, and troubleshooting.
Allow your storefront domain
Live forms only load from domains you've allowed — this stops other sites from loading your forms just by knowing a form ID. In Settings → Storefront domains:
- Your Shopify shop identity is recognized automatically.
- Add every custom storefront host you sell from — for example
www.brand.com— one per line. You can paste hostnames;https://and paths are normalized for you.
If you run your store on a custom domain and haven't added it here, forms won't load there yet.
"I published, but my form isn't showing" — checklist
This is the most common question. Work down the list:
- Is the form On? Draft and Off forms never show, and Paused — limit reached means your plan's monthly submission limit was hit. Check the status badge in the builder or the Forms list.
- Is Formtoro turned on in your theme? For popups, Online Store → Themes → Customize → App embeds must have Formtoro Popups toggled on. For an inline form, the Formtoro Form block must be added to a section.
- Is it a click-to-open form? If the form's trigger is On click (launcher), it's supposed to stay hidden until a shopper clicks its launcher button. Confirm the button is placed, the Form ID matches, and you're an eligible visitor.
- Is your domain allowed? If you use a custom domain, add it under Settings → Storefront domains.
- Does the visitor match the audience? If the form targets "new visitors on the homepage" and you're a returning visitor on a product page, it correctly won't show. Use the audience tester to confirm your rule, or temporarily widen the audience.
- Have you already seen it? Your display frequency may have been satisfied — e.g. Once ever or Until completed won't show again on the same browser. Try a private/incognito window, which starts fresh.
- Did you change settings but not republish? Some settings (like consent policy links) are baked in at publish time — republish the form.
Quick test: open your store in a private/incognito window that matches the audience. That bypasses any "already dismissed/seen" state and is the fastest way to confirm a form is live.
Republish after changing shared settings
A few things are compiled into a form when you publish it, so changing them later requires republishing the affected forms to take effect on the storefront:
- Terms of Service / Privacy Policy URLs and consent copy (see Settings → Legal & compliance).
- Brand/theme changes you want reflected in an already-published form.
If your consent links are blank or point to the wrong place, the usual cause is a changed URL without a republish.
Test before (and after) you publish
- Preview in the builder to click through the form on each device.
- The audience tester confirms who's eligible.
- The logic simulator checks your routing rules.
- The anonymous
/trybuilder lets you experiment without affecting live forms.
Next steps
- Audience filtering — control exactly who's eligible.
- Display, teasers & triggers — how and how often it appears.
- Troubleshooting — more fixes for common snags.