Agencies

Contact form "works" but leads disappear: the enquiry-system test for web designers

The form submits, the plugin says sent, and the client still says nobody ever got in touch. This is a forensic walk down the path from submit button to booked customer, with a 10-point test you can run on every site you hand over.

Short answer

A contact form can submit correctly and still lose the lead, because the form's job ends when the notification email is accepted and the enquiry's job ends when the customer is booked. Leadferno's 2024 test of 225 small-business forms found 4.8% broken but 42.6% of inquiries never answered. Test the whole path: send a Friday 5pm inquiry, check SPF, DKIM and DMARC, measure the first reply, and wait to see if anyone follows up.

4.8%

of small-business contact forms tested were broken

Leadferno, 225 forms, Jun 2024

42.6%

of inquiries sent through those forms got no reply at all

Leadferno, Jun 2024

17 h 49 m

average time to the first human reply

Leadferno, Jun 2024

A contact form can pass every test a designer runs and still lose the lead. The form's job ends when the mail server accepts the notification. The enquiry's job ends when the customer is booked or told no. In Leadferno's 2024 test of 225 small-business forms, 4.8% of the forms were broken, but 42.6% of the inquiries sent through them never got a reply.1 Most of the loss sits after the part designers test. The 10-point test below covers the whole path, from submit button to a second message from the business.

The symptom: "someone said they contacted us"#

The failure report arrives late and second-hand. Joe Seabrook, a web developer, describes the usual form of it: "Hey, someone said they contacted us but we never received anything."2 By then the inquiry is weeks old and the customer has booked elsewhere.

Nothing alerted anyone in between. A Shopify merchant posted on 31 July 2024: "we are no longer receiving contact form submissions to our email. The last response I received was on June 3rd 2024."4 That is about eight weeks of silent loss with no error surfaced to the owner. A WordPress site owner wrote on 25 March 2022: "In the past 24 hours we are not receiving any notification emails of new leads, even though they have been saved."5

The failure can also run in the other direction. A thread in r/weddingplanning (10+ comments) describes a couple chasing a vendor who, it turned out, had answered: "she had replied and I just never got it."7 The form worked. The reply did not land.

The delivery path, hop by hop#

The path from a submit button to a booked customer has seven hops. Each one has its own failure mode, and only the first two are usually inside a designer's test plan.

Contact form to booking: the hops and what breaks at each
HopWhat happensTypical failureVisible to the owner?
1. Browser to form handlerPOST accepted, success message shownValidation or spam protection rejects real usersNo
2. Handler to mail transportNotification handed to PHP mail, an SMTP relay or an APIHost mail disabled or credentials expiredNo
3. Transport to recipient MXReceiving server checks SPF, DKIM, DMARCFrom address spoofs the customer or uses the host's domain; fails alignmentNo
4. MX to folderFiltering decides Inbox, Spam, Promotions, OtherNotification filed out of sightNo
5. Forwarding hopinfo@ forwards to a personal mailboxSPF breaks on the forward; the copy is filteredNo
6. Folder to personSomeone reads and repliesNobody owns the inbox; reply takes hours or daysOnly if they look
7. Reply to follow-upCustomer goes quiet; business writes againNo timer, no state, no second messageNever

Hops 1 to 5 are the wire. Hops 6 and 7 are a queue with no timeout. Leadferno's numbers put most of the loss in the queue: 4.8% of forms broken against 42.6% of inquiries unanswered, an average first human reply of 17 hours 49 minutes, and only 10.6% of businesses replying within one hour.1

The misleading signal: "sent" means accepted, not read#

The success message on screen and the "sent" entry in the plugin log both report hop 2. They confirm that the handler passed the message to a transport. They do not confirm delivery to a folder a human reads, and they say nothing about a reply.

Designers test at launch, see the notification arrive in their own inbox, and sign off. That test runs once, at a quiet hour, to a mailbox the designer controls. It measures the happy path under conditions that will not hold in production: different mailbox, different filter history, a person who is not on a job site.

Seabrook lists one-time testing among the five reasons clients miss submissions, next to spam filtering, inbox neglect, single-channel dependency and email's slowness. His summary of the single-channel risk: "If the entire workflow depends on one thing (email), then all it takes is one small issue for a lead to be lost."2

Three hypotheses that were not the root cause#

When a client reports lost leads, three explanations get checked first. Each is worth checking. Each is usually not the main loss.

Hypothesis 1: the form is broken#

A broken form is real but rare. Leadferno found 4.8% of forms broken.1 If your test submission succeeds and the entry is stored, the form is not the problem. Spam protection set too tight can block some real users, which a test from your own device will not show.

Hypothesis 2: DNS is wrong#

DNS and authentication failures are common and fixable. One Shopify merchant's missing notifications came back after adding an SPF record.4 A vendor guide's first fix is to "Set the 'From' field to your domain email."6 But a correct SPF, DKIM and DMARC setup only guarantees the notification reaches the mailbox. It does nothing for hop 6. Our contact-form leak guide has the record templates and the header check.

Hypothesis 3: the leads were junk#

Some form traffic is spam. That explains noise in the inbox, not silence in the sent folder. If real inquiries sit unanswered next to the junk, lead quality is not the cause.

Root cause: no state, no owner, no timeout#

The root cause sits above the mail protocols. The form system has no concept of an inquiry's state. A notification email is a stateless event: it arrives, and from then on nothing tracks whether it was answered, when, by whom, or whether anyone wrote a second time.

Seabrook's line for this is "A working form is not the same as a working enquiry system."3 In systems terms, a working enquiry system needs three properties the form lacks:

  • An owner. One named person or process responsible for each inquiry.
  • A state. New, answered, waiting on the customer, booked, or closed with a reason.
  • A timeout. A deadline after which the next step fires: a reply, a follow-up, or an escalation.

Without those, follow-up is the first thing to go. Pied Piper's 2026 study found 72% of 3,211 home-services inquiries got no follow-up and 28% were offered a time.9 That is a hop 7 failure, and no form plugin is designed to see it.

How we could measure this across sites: a mystery shop of agency-built small-business sites would submit one realistic inquiry per site at a fixed time, then record hop-by-hop outcomes: delivered, first reply time, time offered, follow-up within three business days. Valet could run a study like that on 50 sites; we have not, and no result is reported here.

The fix: the 10-point enquiry-system test#

The 10-point test runs the whole path under production conditions. Run it at 17:00 on a Friday, because that is when the queue is least watched and an inquiry has to survive a weekend.

The 10-point enquiry-system test (Friday 5pm) Copy this into your handover checklist. Run it at launch and after every plugin, host or DNS change.
#CheckPass conditionHop
1Submit a realistic inquiry at 17:00 Friday from a phone on mobile data, using an outside Gmail address and a unique token (e.g. TEST-1003). Ask a question that needs a price and a date.Success message; entry stored if storage is on1
2Check the sender address for an acknowledgement.Arrives within 1 minute, from the client's domain, states when a person will reply2
3Search the client's mailbox for the token, all folders.In the main inbox, not Spam or Promotions4
4Open the headers (Gmail: Show original).spf=pass, dkim=pass, dmarc=pass; From on client domain; Reply-To is the customer3
5If the address forwards, check the final mailbox too.Copy arrived; DKIM still passes5
6Check the second channel (log, sheet, or chat alert).A copy exists outside email2
7Note who is named to read this inbox, and when.One name and set check times, including weekends6
8Record the time of the first human reply.Before Monday 12:00; note the hours elapsed6
9Read the reply.Answers the question asked and offers a specific time or next step6
10Do not answer. Wait three business days.A useful follow-up arrives, and the client can say what state the inquiry is in7

Score it out of 10. Points 1 to 6 are yours to fix. Points 7 to 10 belong to the client, and the result belongs in the handover notes.

Point 6 comes from practice. A commenter on Seabrook's article, Pascal Cescato, reports logging submissions to a database with daily reports after similar silent failures.3 Seabrook adds that "Most clients respond faster to a WhatsApp message than an email, every single time,"3 which argues for a chat alert as the second channel.

Trade-offs and residual risk#

Every fix in the test adds a cost somewhere else. Name them in the handover so the client chooses with open eyes.

  • Stored submissions are personal data. A database or sheet of inquiries holds names, emails and requests. Restrict access and set a retention period.
  • Acknowledgements create a promise. An auto-reply that says "within 2 hours" sets an expectation the client must meet. Leadferno reports that 15.6% of the businesses it tested sent an auto-reply confirmation.1
  • More channels mean more places to forget. A chat alert helps only if it reaches the person who replies.
  • Points 7 to 10 are outside your control. A designer can build a correct pipe and still hand it to an empty queue. The test makes that visible; it does not fix it.

The money case for running it is simple arithmetic. Illustration A client with 40 form leads a month at $1,500 average value, losing 42.6% to no reply, leaves about 17 inquiries and $25,000 of inquiry value unanswered each month. At a 25% close rate that is roughly $6,400 a month in bookings, or about $76,000 a year. A thread in r/Entrepreneur about cold-emailing Ontario small businesses (140+ comments) describes the same failure seen from outside: "sending someone to a broken contact form while a client is watching."8 For agencies whose clients get the leads and drop them, see the agency's lead follow-through problem.

Where Valet fits#

Valet covers hops 6 and 7 without replacing the form. The client forwards the form's notification address to a private Valet address; nothing is migrated, and replies go out from the client's own address once the domain is verified. Valet answers from the client's own facts, offers real times from their calendar, and gives every inquiry a state, a next step and a time in the Valet Inquiry States. Follow-ups stop at the Valet follow-up cap of two by default, and every reply has a Valet receipt. Money questions and complaints go to the owner. To see what a client's last 10 to 20 form inquiries actually got, start with the free lead check.

Questions people ask

Why do contact form leads go nowhere when the form works?

Because the form only has to deliver a notification email. After that the lead depends on the email passing authentication, landing in a folder someone reads, and a person replying and following up. Leadferno's 2024 test found 4.8% of forms broken but 42.6% of inquiries never answered.

How do I make sure my client sees form submissions?

Send the notification from the client's own domain with the customer in Reply-To, confirm SPF, DKIM and DMARC pass, send a copy to a second channel such as a log or chat alert, and name the person who reads the inbox and when. Then test it on a Friday evening, not just at launch.

What is the difference between a working form and a working enquiry system?

A working form delivers the message. A working enquiry system also makes sure someone answers it within a stated time, follows up if the customer goes quiet, and keeps a record of what happened to each inquiry.

How often should a contact form be tested?

At launch, after any plugin, host or DNS change, and on a schedule, for example monthly. Shopify and WordPress forum threads describe forms that worked for months and then silently stopped sending.

Sources

Confidence: H primary source checked · M credible secondary or reported · L vendor claim or single report. Reddit and forum items are quoted from public threads and summarised, not endorsed.

  1. Research: website contact forms and lead management, uncovering costly mistakes · Leadferno · 2024-06-28 H
  2. Why small business clients miss form submissions (and how to prevent it) · DEV Community (Joe Seabrook) · 2025-12-08 M
  3. The hidden cost of "just add a contact form" (article and comments) · DEV Community (Joe Seabrook) · 2025-12-30 M
  4. Why is my store's contact form not sending customer inquiries? · Shopify Community · 2023-12 to 2024-09 M
  5. Not Receiving Emails from 1 Day · WordPress.org support forums · 2022-03-25 H
  6. Contact Form 7 not sending emails? Here's how to fix it · Privyr (vendor blog) · 2026-04-01 L
  7. "I am so sick of using 'contact us' forms on websites for [vendors]" (thread, 10+ comments; Google snippet) · Reddit, r/weddingplanning · c. 2024 M
  8. "I sent 600 cold emails to Ontario small businesses…" (thread, 140+ comments; Google snippet) · Reddit, r/Entrepreneur · c. 2026-06 M
  9. Precision Garage Door Ranked #1 in Customer Lead Handling Effectiveness Home Services Study (Pied Piper PSI 2026) · BusinessWire / Pied Piper Management Company · 2026-04-12 H

How to cite this page

Cite this page

Valet, "Contact form 'works' but leads disappear: the enquiry-system test for web designers", valet.team, October 2026.

Review cycle: semi volatile. Last checked 1 October 2026. Spot an error? Tell us and we'll fix it and note the change.