SiteScan.top

Dead forms: why enquiries never arrive, and how to catch it

Seven places a form submission breaks, a checklist for contact and checkout forms, and what belongs in a test submission.

Forms · Published: 9 July 2026 · 3 min read · Ольга Мирошник

The form is the most expensive part of a website: enquiries, sign-ups and orders all arrive through it. It is also the most fragile: it depends on the frontend, the backend, email, spam protection and the CRM all at once. Any link breaks and the user sees "Thank you!" while you see nothing.

Where the chain snaps

  1. Validation. The email regex rejects an address with a plus sign or a .digital domain. The user cannot tell what is wrong and leaves.
  2. The button. The handler never attached because of a JS error higher up the page — the form does not submit at all.
  3. The request. CORS, an expired CSRF token, a 500 from the backend. The frontend reports success because it never checks the status code.
  4. Spam protection. The captcha fails to load in some regions; the honeypot catches genuine users with autofill.
  5. Email. SPF/DKIM are missing — the message lands in spam or bounces.
  6. The CRM. The webhook broke a month ago, there are no retries, and enquiries vanish silently.
  7. Analytics. The conversion event never fires, so nobody notices the drop.

The checklist

Test submissions that do not get in the way

Mark synthetic submissions so they can be filtered in the CRM and excluded from analytics: a dedicated address space such as qa+2026-08@, a technical field source: monitoring, a fixed string in the comment. Otherwise in six months sales will be cold-calling robots.

Monitoring instead of a one-off check

A manual check finds problems at the moment of checking. Real breakage happens between checks — after a plugin update, a token rotation or a change of mail provider. What works: fill in the key forms automatically once a day, verify the status code, the email delivery and the CRM record, and alert on any mismatch.

Watch the number of enquiries per day separately: a sudden drop to zero is the most reliable sign that a form has died, even when it technically answers 200.

Read next

Check how much of this is on your own site

A free scan surfaces broken links, JS errors and performance problems in about a minute.