How to Add a Contact Form to Your Shopify Store
Most Shopify stores need a contact form. Customers want to ask about sizing, shipping, wholesale — whatever it is, they want a quick way to reach you. The good news is Shopify gives you a few options. The bad news is the default spam protection is minimal.
This guide covers the three main ways to add forms to your Shopify store, when to use each one, and how to keep the junk out once they’re live.
The built-in contact page
This is the simplest option and works for most stores. Shopify themes come with a contact page template that gives you a working form with zero configuration.
Setting it up
- Go to Online Store > Pages in your Shopify admin
- Click Add page
- Give it a title like “Contact Us” or “Get in Touch”
- In the Theme template dropdown on the right, select contact
- Hit Save
That’s it. Your page now has a working contact form. The default fields in most themes (including Dawn) are name, email, phone, and a message textarea.
Where submissions go
This is where people get tripped up. The built-in contact form sends submissions as emails to your store’s sender address. There’s no submissions dashboard, no inbox inside Shopify, and no way to search or filter old messages. If you miss the email, you miss the message.
You can add content above the form using the rich text editor — response times, hours, a note about what kinds of inquiries you handle. Helpful for setting expectations.
Customizing fields
If you need more than the default four fields, you can edit your theme code. Any HTML input with name="contact[your_field_name]" will be included in the notification email. Want to add an order number field? A dropdown for inquiry type? Both work. You’ll need to edit contact-form.liquid (or whatever your theme calls it) under Online Store > Themes > Edit code.
Limitations
The built-in form covers the basics, but not much beyond that:
- No file uploads
- No conditional logic (show/hide fields based on answers)
- No auto-reply to the customer
- No multi-step forms
- No submission history — just emails
For a simple “get in touch” page, it’s perfectly fine. For anything more complex, look at the next option.
Shopify Forms app
Shopify’s own Forms app is a free, first-party tool focused on lead capture — email signups, discount popups, contact forms with custom fields. It’s more flexible than the built-in page and doesn’t require touching any code.
What you get
- Popup forms — floating widgets or full-screen overlays triggered by time delay, scroll position, exit intent, or page views
- Inline forms — embedded directly into any page via the theme editor
- Custom fields — text, number, email, phone, and fields stored as customer metafields
- Discount codes — attach new or existing discounts to incentivize signups
- Targeting — control which pages show the form, filter by device type or traffic source
- Analytics — see submission metrics and conversion data right in Shopify
- Up to 25 forms per store
Setting it up
- Install from the Shopify App Store (it’s free)
- Go to Apps > Forms in your admin
- Click Create form and choose popup or inline
- Add your fields, customize the design, set your trigger rules
- Save and publish
For popups, you also need to enable the Shopify Forms app embed in your theme editor under App embeds. Inline forms are placed as section blocks directly on the page.
When to use it over the built-in form
The Shopify Forms app makes sense when you want:
- A popup or floating form (the built-in page can’t do this)
- Custom fields beyond name/email/phone/message
- Submission data saved to customer profiles via metafields
- To trigger automations when someone submits
- Form analytics without a third-party tool
It’s particularly good for lead capture — “Get 10% off” popups, newsletter signups with extra data, pre-launch interest forms. For a straightforward “Contact Us” page where you just need the basics, the built-in template is simpler.
Blog comment forms
If you run a blog on your store, you might want readers to leave comments. Shopify supports this natively, but it’s off by default.
Enabling comments
- Go to Content > Blog posts in your admin
- Click Manage blogs
- Select the blog you want to enable comments on
- Under Comments, choose your moderation setting
- Click Save
You have three options:
- Disabled — no comment form shown (default)
- Pending moderation — visitors can comment, but you approve each one before it’s visible
- Auto-published — comments appear immediately without review
For most stores, pending moderation is the safest choice. Auto-publishing works if you have low traffic and trust your audience, but you’re one spam wave away from regretting it.
What commenters submit
The form collects three fields: name, email, and comment text. There’s no threading (no reply-to-comment), no user blocking, and no automatic closure on old posts. If you need richer comment functionality, you’ll need a third-party app.
The spam problem (and what to do about it)
Here’s the part nobody tells you when you set up your forms: Shopify’s built-in spam protection is minimal.
Shopify uses hCaptcha across all storefronts. It runs invisibly in the background and only shows a challenge when something looks suspicious. For basic bot traffic, this works. For the kind of spam most merchants actually deal with — SEO pitches, phishing attempts, gibberish from form-filling scripts — it doesn’t do much.
The built-in contact form has an additional content filter that scans the message body. But flagged submissions are still delivered to your inbox, just with a [SPAM] prefix in the subject. Nothing is actually blocked. Your email fills up either way.
What’s missing from the defaults
- No rate limiting (the same IP can submit dozens of times)
- No email reputation checking (disposable email services go right through)
- No behavioral analysis (bots that skip mouse movement and type instantly look like anyone else)
- No honeypot fields
- No submission dashboard to review what’s getting through
A better approach
This is the problem we built FormSentry to solve. It sits between your forms and your inbox, checking every submission across multiple layers — behavioral signals, email and IP reputation, content analysis, and AI classification — before anything reaches you.
What makes it different from adding another CAPTCHA:
- Invisible to customers — no puzzles, no friction, no “prove you’re human”
- Actually blocks spam — blocked submissions never reach your inbox (spammers see a fake success message so they don’t retry)
- Works with all Shopify form types — built-in contact forms, blog comments, and the Shopify Forms app
- Review everything — every submission, allowed or blocked, shows up in your Shopify admin with a spam score and the reasons behind the decision
Setup takes under a minute. Enable the app embed in your theme editor and it starts protecting your forms automatically. No code changes, no per-form configuration.
Which form should you use?
Here’s a quick decision guide:
Use the built-in contact page if you just need a simple way for customers to reach you. It’s already in your theme and takes 30 seconds to set up.
Use the Shopify Forms app if you want popups, custom fields, discount incentives, or lead capture forms that integrate with Shopify’s marketing tools.
Enable blog comments if you actively blog and want community engagement — but use moderation, not auto-publish.
Add spam protection regardless. Whichever forms you use, the default hCaptcha won’t catch sophisticated spam. Your future self (and your inbox) will thank you.
Ready to stop the spam?
Set up in under a minute. No code changes needed.
Install FormSentry7-day free trial on every plan — no credit card charged upfront.