By platform
Contact Form 7 not submitting: check the send
The visitor fills in the form and presses Send, and the page either reloads with the text gone or stays still with nothing in the reply box. Mimiq sends simulated visitors through the same form and shows which step ended the send.
Why is my Contact Form 7 not submitting?
A Contact Form 7 form normally submits in the background, which needs the page's script running, every required field valid, and a server that accepts the message. If the script never runs, the browser usually sends the form the old way, so the page reloads and the visitor sees their text disappear. If a field is invalid, a message appears beside it, sometimes out of view, and if the server refuses the message, the send never reaches the mail step. A simulated test presses Send and reports which of these happened, with a screenshot.
What this looks like in a report
“I pressed Send and the whole page blinked. My message is gone, and the box at the top is empty. Did it send, or did I just lose it?”
The fix. Confirm the form's script loads on the contact page, and check the console for an error when Send is pressed. Then make every hidden required field optional or visible, and submit an empty form at phone width to confirm each error appears where the visitor can read it.
An illustration. Run a test to see your own.See a real sample report
The page reloads before it can tell anyone the send failed
Contact Form 7 sends the message in the background, so a press on Send starts a request that the page's script must catch. If that script is blocked, merged into a broken file or loaded after the press, the browser takes over and posts the form like an old web page. The page reloads, the fields clear, and the visitor sees the same contact page with no word about the message. Other failures stop earlier. A required field the visitor cannot see can hold the send, with its message placed off screen. The owner who tests once on a laptop, with every field filled, will not hit either one.
- Press Send with every field empty. If the page reloads with no message, the background send never started.
- Look for a red message under a field the visitor cannot see, such as one inside a closed tab or a hidden column.
- Open the browser console and press Send again. A script error at that moment means the form never handed over the message.
- Open the page in a private window with caching off, then send. If it works there, a cached copy is the cause.
- Read the exact words after Send. A message that names a field points at validation, and a generic line points at the server.
Three points where Send can stop before the mail step
The first point is the press itself. Contact Form 7 reads the form, checks it, and posts it without leaving the page, so the page script has to be loaded and running when the visitor presses Send. Caching and optimization plugins can delay or merge that script, and a theme update can rename a file it needs. When the script is missing, the browser performs an ordinary form post, the page reloads, and the fields clear. The visitor sees the same contact page again with no message at all.
The second point is validation. A required field that the visitor cannot see, because it sits in a closed tab, a collapsed column or a layout that hides it on phones, still blocks the send. Contact Form 7 places its message beside the field, so the visitor sees nothing near the button and assumes the form broke. The third point is the server. A spam check, on the site or the host, can refuse a message and return a generic line, and it does so before the mail step runs.
Reading the exact words after Send
The words that appear after Send tell you which point failed. A message that names a field points at validation. A generic line about a failed send points at the server or the mail step. No message and a reloaded page point at the script or at a cached copy of the page. Compare what you see with the console at the moment of the press, because a script error there often settles the question in one check.
The step a run ends on when Send never starts
A simulated visitor fills each field it can see, presses Send, and records what the page shows next. If the form reloads, stays still or refuses the message, the report gives the step, a screenshot of the form at that moment, and any script error logged at the press. The run cannot read your host's spam settings or your plugin files, so it cannot say which point failed. It shows how far the visitor got, and that narrows where to look first.
Mimiq is independent and not affiliated with the platforms it names. Names belong to their owners.
What you get with Mimiq
- 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.
- 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.
- 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.
- 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.
- 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 plugin update can change the script the send depends on
Contact Form 7 depends on the page loading its script in the right order, and an update to a theme, a cache or an optimization setting can change that order. A form that sent yesterday can stop after a release without any change to the form itself. After each update, run one visitor through the contact page with the form filled, then with it empty, so you see both the send and the error path.
Starter
Try it on one launch
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
Builder
Test every build
About 20 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Pro
Test every release, as a team
About 60 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Scale
Test at scale, every day
About 240 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Priority support
- Cancel anytime
Questions
Why does my form work on my laptop but not on my phone?
The laptop may have the script cached from an earlier visit, so the send works there while a phone loads a page without it. Phones also show validation messages in a smaller space, where they can be missed. Test on a phone in a private window, with the cache cleared.
Can the test tell me how many messages get through?
No. It does not predict how many visitors will send a message or how many messages reach your inbox. It presses Send as a simulated visitor, then shows the step where the press stopped, with a screenshot and any script error. Message counts come from your inbox or the form's own log.
Does a reloaded page always mean the script failed?
Not always. A reload can also come from a plain form post, a redirect, or a cached page that holds an old security token. Check the console for a script error first, then the page address after Send. An address that changed, with the fields cleared, points at a plain post.
Can a simulated visitor get past a spam check?
Not one that needs a person. A simple check that a visitor passes without help is part of the run. A challenge that only a person can solve stops the visitor, and the report marks that visitor as blocked by the site. Turning the check off is the owner's choice, and it belongs on a copy of the site the owner controls.
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.