By platform

Shopify contact form not working: check the store

A shopper writes a question, presses send, and either sees a red line that makes no sense or a thank you while nothing reaches you. Mimiq sends simulated visitors through the same contact page and shows what each one saw after pressing send.

5 visitors try to .
First test free with an accountRun it from your coding agent

Why is my Shopify contact form not working?

A Shopify contact form stops working in one of two places: the page refuses to send the message, or the message is sent and never reaches you. A page fault usually looks like a red line that makes no sense, a send button that does nothing, or a valid email address that gets rejected. A delivery fault shows a thank you and then silence, which points at the notification address or the spam folder. A simulated test covers the first part, because it fills in the contact form and records what appeared on the screen.

What this looks like in a report

Who
Nkechi, deciding whether a dress runs small for her height
How they arrived
Opened a product page from a search and tapped the link to ask a question
Where they stopped
Contact page, after writing the message and her email

“I asked about the fit and my height. Send did nothing, and the text stayed in the box. Then a red line said my email was not valid, though it is. I bought from another shop instead.”

The fix. Test the email field with a plus address and a plain one, and fix any rule that rejects a valid address. Then search the store admin for the message and check the notification address, and ask whoever maintains the theme to log what the send button does when it fails.

An illustration. Run a test to see your own.See a real sample report

The contact form can submit and still lose the message after

Contact messages in a store can pass through the store's own steps before anything reaches an inbox. A message can be held back as spam, or sent to a notification address nobody reads. If the store keeps a copy in the admin, that copy may be the only trace of it. The shopper sees the same thank you in each case. A form that blocks a valid email address, or a script that fails on a phone, is a different fault, and it stops the shopper before any message exists. Find out which one you have before you change the form.

  • Send a test with a plus address, such as yourname+test, and see if it submits.
  • Search the store admin for the test message. Is it there, even if no email arrives?
  • Open the notification address in the store's settings. Is someone reading it today?
  • Check the spam folder of that address after each test submission.
  • Fill the form on a phone and watch whether the send button responds at all.

What a message passes through on the way out

A message leaves the page and reaches the store. From there it can be kept in the store's admin, where you can find it by searching for the shopper's name or email, and it can send a notification to the address set in the store's settings. The store may also hold a message for spam checks before it sends anything. A shopper who sees a thank you has only proved the first step worked.

Your inbox is the last place to look, not the first. Search the admin for the shopper's email before you assume the message was lost. If it is there, the store took it, and the problem is the notification. If it is not there, the form never completed the send, so you are looking at a fault on the page itself, and the fix belongs there.

A send that fails on the page

A page fault stops the message before the store sees it. The usual causes are an email field that rejects a valid address, a required field the shopper cannot see, a message box that blocks certain characters, or a script that fails before it posts. The shopper sees the text stay in the box, a red line, or a button that does nothing. Nothing reaches the admin, so the search in the step above comes up empty.

Test the fields one at a time. Enter a plus address, then a plain one, then a name with an apostrophe, and see which ones the form refuses. A refused valid value is a rule to loosen. A send that does nothing at all points at a script, and that needs someone who can read the browser console on a laptop.

Telling a lost message from a message never sent

Use the admin as the dividing line, if the store keeps a record of contact messages there. A message in the admin that never reached your inbox is a notification problem: check the address in the settings, then the spam folder of that address. A message missing from the admin is a submission problem, because the form never completed the send, so go back to the page. Writing down which one you have stops you from editing the theme when the real fault is an address typed wrong.

Mimiq is independent and not affiliated with the platforms it names. Names belong to their owners.

What you get with Mimiq

  1. 01

    Run it by hand, or on every pull request

    Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.

  2. 02

    Bugs and usability problems in one report

    The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.

  3. 03

    Visitors that behave like your audience

    Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.

  4. 04

    A prompt to fix each problem

    Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.

  5. 05

    Follow every visitor

    See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.

The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.

A theme update or a new form app can replace the contact form

Updating the theme, installing a form app or changing the sections on the contact page can replace the form without a visible change on your own screen. Send a test message after each of those edits, search the admin for it, and check the notification address. Rerun the same simulated visitors through the form after each edit, so you can see whether they reach the send step.

Starter

Try it on one launch

$9 once
120 credits, never expire

About 4 tests of 5 visitors

  • Visitors on your landing page, signup and checkout
  • Where they left and why, with a fix to copy for each problem
  • Run it in the app or on every pull request
  • Ask any visitor a question, included
  • Test accounts and protected previews
Buy 120 credits

Builder

Test every build

$19 a month
500 credits every month

About 20 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Builder

Pro

Test every release, as a team

$49 a month
1,500 credits every month

About 60 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Pro

Scale

Test at scale, every day

$149 a month
6,000 credits every month

About 240 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Priority support
  • Cancel anytime
Choose Scale
$0for your first test, with a free account (Google sign-in, no card). It includes 50 credits, enough for 10 visitors. After that a visitor uses 5 credits, and packs start at $9 for 120 credits.
See a sample report

Questions

Why does my Shopify contact form say sent but I never get the email?

The message may be in the store admin, if the store keeps a record of contact messages, even when no email arrives. Search the admin for the shopper's address first. Then check the notification address in the store's settings and the spam folder of that address.

Can a visitor reach the contact form behind a store password page?

Not as a visitor. A shopper who hits the store password page never reaches the contact page, so the form cannot submit at all. Test it with the password removed, or give the simulated visitors the password, which needs paid credits.

Will a simulated test show whether shoppers will write in?

No. The test shows whether a simulated visitor could submit the form and what the screen showed afterward. It does not predict how many real shoppers would write in, so take that number from your analytics or a live experiment.

Can a simulated visitor confirm the store received the message?

Only indirectly. It reports the confirmation it saw on the screen, and if the form emails the visitor a copy, that copy lands in its inbox. Whether the message reached your admin or your own inbox is a check you make yourself.

Keep reading

Send visitors and see what breaks first.

Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.

5 visitors try to .