Going live
Publish a form, 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
In the builder, press Publish. This saves the form and sets its status to Published. A form's status is one of:
- Draft — not live; only you see it in the builder.
- Published — live and eligible to show on the storefront.
- Paused — temporarily off without deleting it.
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 Published.
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.
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 Published? Draft and Paused forms never show. Check the status in the builder.
- 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 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 at each breakpoint.
- 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.