What breaks

Contact form 7 not working on mobile: tap by tap

The form works on a laptop and stalls on a phone, with the Send button out of reach or a tap that goes nowhere. Mimiq runs a simulated visitor on a phone browser and shows the step where it stops.

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

Why does Contact Form 7 fail on a phone when it works on a computer?

On a phone, a Contact Form 7 form often fails in the layout or the input, so the Send button ends up out of reach. A field with text under 16 pixels makes iPhone Safari zoom in when it gets focus, which can push the Send button under a sticky bar or past the bottom of the screen. The keyboard can cover the button, and a link opened inside a social app runs in that app's own browser. A simulated visitor on a phone browser follows the same taps and reports the step where the Send button stopped being reachable.

What this looks like in a report

Who
Ravi, a retired teacher asking a music school about piano lessons for his granddaughter
How they arrived
Tapped a link to the school in a neighborhood group chat
Where they stopped
Contact form, after typing his name and question on an iPhone

“I typed my question and tapped the box to add my number. The page jumped and the Send button slid under the keyboard. I could not find it, so I closed the page and called the school instead.”

The fix. Set each input's font size to at least 16 pixels so iPhone does not zoom, and scroll the focused field into view so the Send button stays above the keyboard. Test the form at phone width in the phone's own browser and in an in-app browser after the change.

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

On a phone the form is still there, but Send is out of reach

The laptop test passes because a laptop has room for everything at once. On a phone, the keyboard takes half the screen, so the Send button sits behind it, or a fixed header or cookie bar covers the bottom of the form. Tapping a small field can zoom the page on some phones, and the layout shifts under the thumb. A link from a social app opens in that app's browser, which may restrict the scripts or cookies the form needs. The owner who checks the form in a wide desktop window never sees the button move.

  • At phone width, tap each field and check that the Send button stays visible above the keyboard.
  • Look for a sticky header, chat bubble or cookie bar that covers the bottom of the form.
  • Read the input font size. Under 16 pixels, iPhone zooms the page when a field gets focus.
  • Open the link from a social app, then from the phone's own browser, and compare the two.
  • Check that the reply shows near the Send button, since a message above the visible area is easy to miss.

How a tap on a small field moves the Send button

On iPhone, Safari zooms into any field whose text is smaller than 16 pixels. When the zoom releases, the page can settle in a different position, and the Send button may now sit below the visible area. The visitor has already typed, so they scroll, find nothing where they expected, and leave. This only happens on the phone, and only on fields a theme styled small.

Android keyboards handle the same field differently. The keyboard can cover the lower part of the screen, and a page that does not scroll the focused field into view leaves the Send button under the keyboard. The visitor sees a form with no visible button, which looks broken. Visitors who hit that seldom tell you, and nothing in your inbox says why.

Fixed bars and in-app browsers cover the form

A sticky header, a chat bubble, a cookie banner or an app install bar can sit on top of the bottom of the form at phone width. A laptop layout leaves room for them, so the owner never sees the overlap. Test by scrolling to the Send button and tapping it, not by checking that the button exists on the page.

A link opened inside a messaging or social app runs in that app's built-in browser. Some of these browsers restrict scripts or cookies, and a form that depends on them can fail without a message. Open the same link in the phone's own browser to tell an app problem from a page problem. Then compare the two results before you change any code.

A simulated visitor on a phone browser follows the same taps

Set the run to a phone browser and start it on the contact address. The visitor taps into each field in order, so the keyboard opens and closes the way it does for a stranger. The report marks the tap where Send became unreachable, or where the reply appeared outside the screen, with a screenshot at that step. It also records failed requests and script errors on the same step.

The test is one visitor path on one phone setting. It does not try every phone size or every in-app browser, so run it on the two or three devices your visitors use most, from the traffic you see in your own analytics. It cannot tell you how a particular model's keyboard behaves, or whether a visitor's own keyboard app changes the layout.

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 can put a bar over the Send button on phones again

A new header, a new cookie banner or a chat widget can cover the form after an update that looked fine on a desktop. Rerun the same phone visit after each change and after each preview deploy. Owners who gate their pages behind a site password add the password to the run, so the phone reaches the form the same way a visitor would.

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 form work on my own phone but not for visitors?

Your phone may keep the page open for a long time, with the cookie choices and keyboard habits you already have. A visitor arrives from a link, in a new session, and may open it inside a messaging or social app. Test from a fresh private tab on the phone, then from the link inside an app.

Is a mobile form test the same as a responsive design check?

No. A responsive check shows that the layout fits the screen. A mobile form test follows the taps: the focus, the keyboard, the zoom and the Send button. A form can fit the screen and still lose the button under the keyboard.

Can a simulated visitor show me the exact phone my visitors use?

Not exactly. It shows the phone browser you chose, which may not match a particular model's keyboard or an in-app browser. Check which phones your analytics shows most, and test those by hand as well. The run does not predict how many phone visitors will send a message.

What happens if a visitor leaves the page while the form sends?

If the visitor switches apps or the screen locks while the request is still running, the send can stop before the server gets it, and the page may show nothing useful. Ask the visitor to keep the page open until the reply appears, and check that the reply shows near the Send button.

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 .