By platform

Checkboxes not appearing in Contact Form 7

Your own browser shows the consent box, and a visitor on a phone sees a form with no box to tick and no clear way to send. Mimiq sends simulated visitors to the contact page and shows whether each one could tick the box and press Send.

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

Why are my Contact Form 7 checkboxes missing for visitors?

The checkbox is usually still in the form, and something between the form and the visitor hides it: a cached copy of the page from before the change, a theme stylesheet that makes the box invisible, or a tag that did not save. Logging in to WordPress and looking at the page shows you the form with the box, because logged-in views often skip the cache. Mimiq sends simulated visitors who are not logged in to the contact page, and shows whether each one could see and tick the box.

What this looks like in a report

Who
Teodor, asking a bakery for a catering quote for a staff lunch
How they arrived
Opened the contact page from a Google result
Where they stopped
Contact form, at the Send button

“The form says I need to agree to something, but there is no box to tick anywhere I can see. Is the form broken, or am I missing a step? I will call them instead.”

The fix. Purge the cache for the contact page after you edit the form, and exclude that page from full-page caching if your cache plugin allows it. Then open the page in a signed-out private window on a phone and confirm the checkbox appears above Send.

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

You see the box because you are logged in

Many WordPress sites serve a stored copy of each page to visitors who are not logged in, and a fresh page to the owner. After you edit the form and add a checkbox, your own view shows the new box, while every visitor keeps getting the stored copy from before the change. The stored copy has the old form, so the box is not there at all. Nothing in your view tells you the cache is involved, which is why the fault can look like a mystery.

  • Does a signed-out window show the consent checkbox above the Send button?
  • Does the page source for a signed-out visit include a checkbox input in the form?
  • Does the checkbox sit under a banner, or behind a style that hides it on phones?
  • Does Send refuse to submit with the box unticked, and say so next to the box?

The stored page that still has the old form

A caching plugin keeps a finished copy of a page and serves it to anyone who arrives without logging in. The copy is made the first time someone loads the page, and it stays until it expires or is cleared. Edit the form and the copy does not change on its own, unless the plugin clears it when you save. So the visitor gets the form as it was, with no checkbox, and the box you added exists only in the admin view and the one page the editor shows you.

A content delivery network or a host-level cache can hold a copy too, in a layer the plugin cannot see. Clearing the plugin's cache then leaves the old page in place for some visitors. If you still see the old form in a private window after clearing, check the host's cache panel, and wait for it to refresh before you test the form again.

Styles that hide the box without removing it

A theme or form stylesheet can make a checkbox invisible without removing it from the page. A rule for every input of a certain kind can set the box to zero size, move it off screen, or cover it with a label that looks like plain text. The box is still in the markup, so the form refuses to submit until it is ticked, and the visitor cannot tick it. On a phone the rule often applies differently, which is why the box can show on a laptop and not on the phone the visitor used.

Find the rule before you change the box. Right-click the spot where the box should sit and choose Inspect. If the checkbox input appears in the markup but nothing shows on screen, the cause is styling. Note the stylesheet the rule came from, and add an exception for the form rather than changing the whole theme. Then run the signed-out visit again to confirm the rule no longer hides the box on either device.

A tag that did not save, and the message that explains it

A checkbox in Contact Form 7 is written as a tag inside the form template, and a typo in the tag name, a missing name, or a stray character in the label can stop the form from reading it. After you save, read any message the form editor shows, because it can report a tag it could not read, and that message is the first thing to check. Without it, the checkbox is absent from the form the visitor receives, and the rest of the form shows normally.

Separate the three causes with one signed-out visit and one look at the page source. A box absent from the source means a stale cache or a broken tag, and the editor's message helps decide between them. A box present in the source but not on screen means styling. Each cause needs its own fix, and the screenshot of that step in the report shows which one a visitor met.

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 caching plugin or theme update can hide the box again

The checkbox can disappear after a change that has nothing to do with the form: a cache plugin update, a theme update that brings a new stylesheet, or a host-level cache setting. Rerun a signed-out visitor on the contact page after each one, on a phone and on a laptop. You catch the missing box on the day the cache changes, not weeks later when a customer asks why the form never asked for consent.

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

Will the test show me the cache problem?

It shows what a signed-out visitor receives, so a stored copy with the old form appears as the form the visitor sees. It cannot tell you why the cache is stale or which plugin holds it. Check the cache settings yourself, and clear them before the next run.

Does the test need my WordPress admin login?

No. Never give the test your admin login. A signed-out visitor needs no account at all to see the contact page. If a part of the site asks for a login, paid credits let visitors use a test account you create for that purpose.

Can the test send the form?

Yes, unless a CAPTCHA stops the visitor first. A sent form triggers the notification email set in the form's mail settings, so point it at an inbox you read, or at a test inbox for the run.

Does the test check whether my consent wording meets a privacy law?

No. It cannot tell you whether the consent text meets a privacy law. It shows whether the box is visible, whether it can be ticked, and whether Send works with it ticked. A legal review is the place to check the wording.

Does a run replace checking the page on my own phone?

No. The test covers phone-width browsers, but it cannot tell you how one phone model draws the page or how a particular browser handles a theme's styles. Check your own phone once after any change to the form.

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 .