Install Smart Form Builder from the Shopify App Store. Your shop is provisioned automatically and your 7-day free trial starts — no credit card required.
2
Build your first form
In the app, click "New form", give it a name, then add fields from the visual picker. Drag to reorder, click ✏️ to rename, and toggle Required. Configure submit message, captcha, integrations, and look-and-feel under the Settings / Design / Integrations tabs.
3
Publish and embed
Click "Publish" on the editor. Then go to Online Store → Themes → Customize, click "Add section" or "Add block", and pick the "Smart Form" block. Choose your form from the dropdown and save.
4
Receive submissions
Submissions appear in the Submissions tab in real time. Configure email notifications, autoresponders, and integrations (Klaviyo, Mailchimp, Slack, generic webhook) per form to fan out submissions to wherever you need them.
Getting notified of new submissions
Notifications and autoresponders are delivered by Custom Form & SMTP Mailer, a companion app that sends through a mail account you own — Gmail in one click, any SMTP server, or a provider API key. Connect it once and every email from your forms leaves from your own domain.
1
Install Custom Form & SMTP Mailer
Emails are delivered by your own mail server, not ours, so nothing depends on a shared sender's reputation. Install the companion app Custom Form & SMTP Mailer from the Shopify App Store.
2
Connect your mail account there
In that app open Mail settings and connect Gmail or Google Workspace in one click, or enter any SMTP server — Outlook, Zoho, cPanel, your own host — or paste an API key for SendGrid, Mailgun, Brevo, Postmark, Resend or Amazon SES. Set the From address and send yourself a test email.
3
Create an API key
Still in the mailer app, open API keys and create one. The full key is shown only once, so copy it straight away.
4
Paste the key into this app
Back in Smart Form Builder, open Settings → Email and paste it into Mailer API key, then save. The banner turns green to confirm your own mail server is being used.
5
Set up the form
Open the form's Settings tab. Put the addresses to notify in Notify these emails — several, separated by commas, is fine. Switch on Send autoresponder to submitter if you also want a reply to go back to whoever filled in the form; that needs an email field on the form.
6
Submit once and check
Fill in the form on your storefront. The notification and the autoresponder should both arrive, and both appear under Settings → Notification delivery log here and in the mailer's own Delivery log.
What you can set
{{field_key}}
Any field on the form, by its key. Use it in the autoresponder subject or body to greet the submitter by name or repeat what they entered.
Notify these emails
Who gets told about a new submission. Several addresses, separated by commas.
Autoresponder subject
Subject of the reply sent to the submitter. Merge tags work here.
Autoresponder body
Body of that reply. Merge tags work here too.
Reply-to
Set in the mailer app under Sender. Replies go to this address rather than the sending mailbox.
Autoresponders are separate. Flow cannot put a variable in the To field, so it can notify your team but cannot reply to the person who filled in the form. Sending an autoresponder needs an email provider connected to the app — contact support if you need it.
Features
14 starter templatesAll plans
Contact, Booking, Newsletter, Custom order, Wholesale, Survey, Registration, Pricing quote, Pop-up, Feedback, Application, File upload, Multi-step — or start blank. Pick one when creating a form; everything stays editable.
19 field typesAll plans
Short / long text, email, phone, number, dropdown, radio, checkboxes, date, time, file upload, rating, signature, address, consent, hidden, HTML, divider.
Drag-and-drop builderAll plans
Visual editor with inline label editing, click-to-rename, drag handles, duplicate, per-field expandable settings, and responsive desktop/mobile column widths.
Conditional logic + multi-stepAll plans
Show or hide fields based on prior answers (evaluated live), and split long forms into multiple steps with an optional progress bar.
Popup display modeAll plans
Show a launcher button that opens the form in a modal — ideal for discount offers and lead capture — or embed it inline.
Multi-language formsAll plans
Add languages and per-string translations (labels, options, buttons, success message). A language switcher appears on the form automatically.
Form limits & schedulingAll plans
Auto-close a form on a date/time or after a maximum number of submissions, with a custom closed message. Enforced server-side.
Custom CSS & JavaScriptAll plans
Per-form CSS (scoped to the form) and a JS hook that runs after the form mounts, for advanced styling and behavior.
Theme App BlockAll plans
Native Shopify Online Store 2.0 block. Edge-rendered via Cloudflare Pages for sub-100ms first paint. Picks forms via a dropdown — no copy-paste IDs.
Cloudflare Turnstile + honeypotAll plans
Privacy-friendly spam protection. Faster than reCAPTCHA, no Google dependency. Honeypot field silently drops bots.
Integrations: Klaviyo, Mailchimp, Slack, Google Sheets, generic webhookBasic & Pro
Forward every submission to your downstream tools. Configure per form. Webhook payloads are signed if you provide a secret.
File uploads to Cloudflare R2Basic & Pro
Native file-upload field. 10 MB on Basic, 100 MB on Pro. MIME type and size enforced server-side.
AI form generatorPro only
Describe the form you want and get a ready-to-edit draft. Powered by Claude via Cloudflare AI Gateway. 20 generations / day per shop.
A/B testing & funnel analyticsPro only
Field-level drop-off analytics and form-level A/B variants. See where your submitters quit and which version converts better.
Customer Account, Checkout, POS formsPro only
Place forms in the new Shopify Customer Account UI, post-purchase Checkout extension, or POS — not just the storefront. None of the top 3 competitors offer this.
FAQ
How do I add a form to my theme?
Open Online Store → Themes → Customize. Click "Add section" or "Add block" and search for "Smart Form". Pick your form from the dropdown and save.
My form doesn't appear in the dropdown
Open the form in the app and click Save (or Publish). The form is synced to a Shopify metaobject on save, which is what the dropdown reads from. New forms appear in the theme editor right after the first save.
What's the difference between Basic and Pro?
Basic ($7.99/mo): 5,000 submissions/mo, all integrations, 10 MB file uploads. Pro ($19.99/mo): 50,000 submissions/mo, 100 MB uploads, AI generator, A/B testing, and Customer Account / Checkout / POS forms.
Where are submissions stored?
In our Cloudflare D1 database, namespaced per shop. File uploads live in Cloudflare R2. You can export to CSV or forward to Klaviyo / Mailchimp / Sheets / Slack / generic webhook on submit.
How does spam protection work?
We use Cloudflare Turnstile by default (free, privacy-friendly, faster than reCAPTCHA). A hidden honeypot field also silently drops bot submissions. You can switch to reCAPTCHA v3 or hCaptcha in Settings.
Can I cancel anytime?
Yes. All plans are month-to-month through Shopify Billing. Cancel from Shopify admin → Settings → Billing. Your plan stays active until the end of the billing cycle.
Will forms slow down my store?
No. Forms are edge-rendered via Cloudflare Pages and cached in KV. First paint is sub-100ms. The renderer is vanilla JS — no React, no framework bloat on the storefront.
Is GDPR / CCPA covered?
Yes. We implement all mandatory Shopify GDPR webhooks, encrypt access tokens at rest, and provide consent fields and data-retention controls. See the Data Processing page for the sub-processor list and retention details.
Changelog
v1.2.0September 2026
Notifications and autoresponders are now delivered by Custom Form & SMTP Mailer, so form email leaves from your own mail server and your own domain
The Shopify Flow trigger has been removed: it could notify your team but could never reply to the person who filled in the form, because Flow cannot put a variable in a recipient field
v1.1.0September 2026
Notifications and autoresponders send through Custom Form & SMTP Mailer, using your own mail server
Notification delivery log in Settings — every send from the last 30 days with its status and failure reason
Signatures are stored as real image files: shown inline with a Download button, and no longer dumped as raw data into CSV exports
Fixed: the notification email field would not accept a second, comma-separated address
Fixed: the From name and Reply-to address in Settings are now applied to outbound email
Send a test email from Settings to verify delivery end to end
v1.0.0April 2026
Initial launch — drag-and-drop builder with 19 field types
Theme app block with metaobject-powered form picker