QuietForgeTools · Free diagnostic guide
Free guide · DIY first · no uploads

WordPress Contact Form Says Submitted but No Enquiry Received

The visitor submits the form and sees a success or thank-you message. Your team cannot find the enquiry in email, spam, form entries, or CRM. This page traces the full enquiry path — not “form broken,” not “missing email only,” not “spam only.”

Wrong symptom? Broad form failure diagnosis: contact form not sending. UI says sent but notification mail never appears anywhere: says sent, no email. Mail exists but lands in junk: emails going to spam.

1. What the success / thank-you message actually proves

A success message or thank-you page usually means the browser completed a form request that the site accepted. It does not prove your business received the enquiry in inbox, CRM, or even the form plugin’s storage.

  • Inline “Thank you” / AJAX success often fires after the plugin accepts the POST — before mail or CRM finishes.
  • A redirect to a thank-you URL can be static marketing content with no dependency on a saved entry.
  • Some themes show a soft success even when a later notification step fails silently.
  • Treat success as: visitor path reached “accepted” — then verify each later stage separately.

2. Whether the form stores submissions locally

First ask: did WordPress keep a record of this enquiry at all?

  • Open the form plugin’s Entries / Submissions / Leads list (Gravity Forms, WPForms, Fluent Forms, Formidable, etc.).
  • Search for a unique test phrase and the approximate submit time (with timezone).
  • If there is no entry, the break is at or before storage (validation, JS, AJAX error, wrong form ID, cache serving a stale form).
  • If there is an entry but nobody saw a notification, the visitor success was real — the disappearance is downstream (mail, routing, CRM).
  • Plugins that do not store entries by default leave you without this checkpoint — note that as a diagnostic gap.

3. Notification configuration

Storage and “thank you” can both succeed while admin notification is off or mis-aimed.

  • Confirm an admin / staff notification is enabled — not only a visitor auto-reply.
  • Check To, CC, BCC, and conditional logic (“send only if field X = …” can skip silent emails).
  • After migrations, templates often still point at old staff addresses or placeholder tags.
  • Separate “user confirmation” from “business notification” — one working does not imply the other.
  • If you only care about missing email after success, also read says sent but no email.

4. Recipient routing

The enquiry may have been delivered somewhere your team is not looking.

  • Confirm the exact To address in the live notification template (typos, old domains, personal inboxes of leavers).
  • Check shared / group inboxes, aliases, and forwarding rules.
  • Dynamic recipients from form fields can route to empty or wrong addresses when a field is blank.
  • Role-based or department routing may send to a mailbox nobody monitors after a reorg.
  • Ask: “Where was the last known good recipient?” and compare to today’s config.

5. Spam, junk, and quarantine

Sometimes the enquiry did arrive — just not in the primary inbox view.

  • Search Spam / Junk and provider quarantine for the unique test phrase.
  • Google Workspace / Microsoft 365 quarantine can hold first-time form mail.
  • Filters that auto-archive or label “Forms” can hide messages from the default inbox.
  • If you confirm the message exists in spam/junk, switch to the focused emails going to spam guide.

6. SMTP and mail-log evidence

Use logs to separate “never sent” from “sent but not found by staff.”

  • Note whether the site uses PHP mail(), an SMTP plugin, or a transactional API.
  • Run the plugin’s test email to the same production recipient; record accept/reject.
  • Look for SMTP / mailer log lines matching the test timestamp and To address.
  • Host mail logs (if available) showing deferred, rejected, or relayed for that attempt.
  • A clean “accepted by SMTP” with no inbox/spam find points to recipient-side routing or a different To than you think.

7. CRM, webhook, and integration failures

Many sites no longer rely on email alone — the “enquiry” may be meant to land in a CRM or Zapier-style hop.

  • Confirm whether success is supposed to create a CRM lead, HubSpot/Salesforce record, Google Sheet row, or Slack alert.
  • Check webhook / integration logs for HTTP errors, auth expiry, or rate limits around the test time.
  • A thank-you page can show even when the outbound webhook failed after the form saved locally.
  • Duplicate suppressions or “already exists” CRM rules can silently drop what staff expect as a new enquiry.
  • If email works but CRM does not (or the reverse), treat that as a multi-stage path — not one “form broken” ticket.

If the CRM lead or Sheet row does arrive but fields are wrong, blank, or shifted, the path works and the fault is field mapping. For one existing webhook → one destination, see £99 Webhook → Sheet/CRM Field Mapping Repair.

8. Confirmation-page false confidence

Success UX is for the visitor. Your operations need independent proof.

  • Do not close a “form works” ticket based only on seeing the thank-you page in a browser.
  • Verify storage entry, notification log, and recipient/CRM presence for the same unique phrase.
  • Cached thank-you URLs or CDN pages can look “alive” while the live form endpoint is broken for some users.
  • Multi-step forms: earlier steps may show progress; only the final submit should create the enquiry — confirm which step fires storage/notification.

9. Controlled test submission

One disciplined test beats days of vague reports.

  • Use a unique phrase (e.g. ENQ-2026-10-03-A) in the message body.
  • Record date/time with timezone, page URL, device, browser, and whether thank-you appeared.
  • Immediately check: form entries → notification logs → inbox + spam → CRM/webhook.
  • Optionally submit a second test to a mailbox you control, without leaving it as the live production To.
  • Change one variable between tests (recipient, SMTP, plugin toggle) — then retest.

10. Timestamp and evidence to keep

A short evidence pack turns “we never get enquiries” into a fixable path map.

  • Unique phrase, submit timestamp (with timezone), form URL, form ID/name.
  • Screenshot or note of the success/thank-you UI.
  • Entry present? Y/N. Notification log line. SMTP accept/reject.
  • Inboxes / spam / quarantine checked; CRM/webhook result.
  • One change made between attempts.

Tip: mark the same items on the free Enquiry Path Checklist so you can hand a clear summary to a developer or host.

11. Where did the enquiry disappear?

Use the last stage you can prove, then check the next stage with the listed evidence.

Last verified stage Next stage to check Evidence
Visitor clicked Submit Form request accepted Network POST/AJAX status; validation errors; console errors
Success / thank-you shown Local form storage / entry Plugin Entries list for unique phrase + timestamp
Entry saved Notification trigger Notification enabled; To/CC; conditional logic; plugin mail log
Notification attempted Mail delivery (SMTP/API) SMTP/plugin log accept/reject; host mail log
Mail accepted by relay Recipient inbox / spam / quarantine Search unique phrase; spam folders; admin quarantine
Mail not used (CRM path) CRM / webhook / integration Webhook HTTP status; CRM lead list; auth/expiry errors
Found in spam only Deliverability / From / auth Follow emails to spam guide
No entry and no mail Front-end / broad form failure Follow form not sending guide

12. Isolated fault vs multi-stage enquiry-path failure

A single wrong To address, one disabled notification, or one spam-folder miss is often an isolated fix. Treat it as a wider enquiry-path problem when several of these hold:

  • Thank-you shows, but storage, mail, and CRM disagree with each other.
  • Failures differ by device, form variant, or day.
  • SMTP, recipient routing, and an integration all need coordinated changes.
  • You cannot reproduce with one controlled test well enough to verify a single change.

Isolated, reproducible break at one stage → short fix territory. Multi-stage / inconsistent disappearance across the path → map and repair the path, not one random toggle. This guide does not claim any sequence will recover every missing enquiry.