← All posts

Website Contact Form Not Working? How to Catch It Before Leads Disappear

A woman in a denim jacket stands beside her bicycle outside a flower shop, looking at her phone, while inside a florist in an apron hands a wrapped bouquet to a customer at the counter

The hard part about a website contact form not working is that it rarely looks broken. A form can accept an inquiry, show a thank-you message, and still leave nothing in your inbox. The short answer: a confirmation on the page does not prove the inquiry was saved or delivered. The way to know is to send one clearly labeled test and follow it through four checkpoints: it was accepted, it was saved, the notification was delivered, and a person saw it and owned the reply.

This guide covers how to tell those four failures apart, a safe test you can run on your own site, the common causes in plain language, and how to decide whether you need a repair or something larger.

Website Contact Form Not Working? Find Where It Breaks

"The form is broken" describes four different problems. Each has a different fix, so the first job is locating the break.

  • Submission failure. The visitor presses the button and the form does not go through: an error appears, the button spins, or nothing happens. This is the easiest failure to notice, because the visitor sees it too.
  • Missing record. The form shows a success message, but no entry was saved anywhere. There is nothing in the form tool, nothing in a database, and nothing in your customer list.
  • Email-delivery problem. The entry was saved, but the notification email never reached an inbox. It was rejected, filtered as spam, or sent to the wrong address.
  • Missed staff notification. The email arrived. Nobody read it, or everyone who read it assumed someone else would answer.

The last three look identical from the outside. The customer sees a confirmation, you see nothing, and both sides wait.

Why Doesn't a Success Message Prove Anything?

A success message is the website reporting that its own step finished. In many setups, that step is only "the browser handed the information to something." What that something did next is a separate question the page may not know the answer to.

Email adds another gap. A site asking for a notification to be sent is different from a mailbox accepting it. WordPress says this directly in the documentation for its mail function, wp_mail: "A true return value does not automatically mean that the user received the email successfully." That sentence is specific to WordPress, but the same gap between sent and received exists wherever a form relies on email.

So a confirmation on the page is evidence of one thing: the page believes it is done.

How Do You Test the Whole Path?

Run this on your own website. Tell whoever handles inquiries that a test is coming, so it is not mistaken for a customer and is not quietly deleted before you can trace it.

  • Step 1: Submit a clearly labeled test. Use the live form the way a customer would, from a phone on cellular data if you can. Put "TEST" in the name field and a line such as "TEST submission, please ignore, sent Tuesday 9:15 a.m." in the message. Use your own email address and phone number, never someone else's and never made-up details that might belong to a real person.
  • Step 2: Check that it was accepted. Note what the page shows and how long it takes. An error at this step is a submission failure.
  • Step 3: Find the saved record. Log in to the form tool, website dashboard, or customer list and look for the entry, including any spam or filtered list. No entry anywhere means a missing record.
  • Step 4: Find the notification. Check the inbox it should reach, then the spam folder, then any shared mailbox or forwarding address. A saved entry with no email is a delivery problem.
  • Step 5: Check the customer's side. If the form promises a confirmation email or text, see whether your test address received it.
  • Step 6: Check ownership. Ask the person responsible what they would have done with it and by when. If the answer is unclear, the path breaks at the last step even though every piece of software worked.
  • Step 7: Clean up and write it down. Delete or mark the test entry, and note the date and what you found.

Repeat the test for every form on the site. A quote form and a general contact form are often configured separately, and one can fail while the other works.

What Are the Common Causes?

The notification goes to the wrong place. An address belonging to a former employee, a typo, or an inbox nobody opens. It tends to follow a staff change, and it is quick to correct.

The receiving mail provider does not trust the message. Form notifications are frequently sent by a web server or a form service using your domain's name. Mail providers expect proof that the sender is allowed to do that, through records called SPF, DKIM, and DMARC. Google's email sender guidelines, for example, tell all senders to Gmail accounts to "Set up SPF or DKIM email authentication for your sending domains," and warn that messages that are not authenticated "might be marked as spam or rejected with a 5.7.26 error." Other mailbox providers publish their own rules.

A spam filter on the form is holding real inquiries. Many form tools filter submissions before you see them, and how they do it varies by provider. Netlify, as one example, states in its spam filter documentation that "All form submissions are filtered for spam using Akismet," and that flagged entries are kept in a separate spam submissions list. Whatever tool you use, find its equivalent list and look there when an expected inquiry is missing.

A site change disconnected the form. A redesign, a plugin or theme update, a new form field, an expired password or key for a connected service, or a move to a new host can each break the step after the button while the button itself keeps working. Some hosting features also depend on how the form is built. Netlify's forms setup documentation notes that its build system finds forms by parsing the site's HTML, so a form rendered only by JavaScript needs extra steps to be detected.

The connection behind the form fails quietly. When a form writes to a customer list or another system, that handoff can fail without telling the visitor. How those connections work is covered in API integrations for small businesses.

Nobody owns the inbox. The message arrives in a shared mailbox that three people can see and no one is assigned to.

What Can You Check Yourself, and What Needs a Developer?

An owner or office manager can usually check:

  • Which address notifications are sent to, and whether that inbox is read daily.
  • The spam folder, and any spam or filtered list inside the form tool.
  • Whether the form tool shows a saved entry for the test.
  • Who is responsible for replying, and who covers when that person is out.
  • What changed on the site, the domain, or the business email around the time inquiries slowed.

A developer, or whoever manages the site and domain, is usually needed for:

  • Errors in the form's code or on the server.
  • Email authentication records on the domain, which are DNS changes.
  • Reconnecting a form to a database, customer list, or other system.
  • Adding a saved record where the form currently only sends an email.
  • Reviewing server or service logs to see what happened to a specific submission.

Bring the developer your test notes. "The entry was saved at 9:15 but no email arrived" narrows the search much faster than "the form is broken."

What Should a Reliable Setup Record, Communicate, and Recover?

Record. Every submission is saved somewhere durable before any email is attempted: the full message, the time, and which form it came from. Email is a notification about the record, never the only copy.

Communicate. The visitor gets an honest confirmation, shown only after the record is saved, and sees a clear error with your phone number if something goes wrong. The business gets a notification to a monitored place, with a second channel for anything time-sensitive.

Recover. When a step fails, the failure is visible rather than silent. A notification that could not be sent is retried or flagged. Someone reviews the saved list on a schedule, so an inquiry that slipped past the notification is still found. And the test above is repeated after every site change.

Where a submission should go once it arrives, and how to sort different kinds of requests, is a separate design question. Custom Website Oklahoma City: When a Template Stops Being Enough and Smart Website vs Simple Website cover it.

Is This a Repair or a New Website?

In our view, a failed form is usually a repair. The pages, the design, and the search visibility you have built are not the problem, and replacing them does not fix a notification address or a missing DNS record.

It is probably a repair when:

  • The break is in one identifiable step.
  • The platform can store submissions and send authenticated email, even if it is not set up to do so today.
  • Someone available to you can access the site, the form tool, and the domain settings.

A larger change is worth considering when:

  • The platform cannot save submissions at all, and email is the only place an inquiry can go.
  • Nobody can access or maintain the site, so each fix depends on luck.
  • The form is one of several known problems, and you were already planning to replace the site for other reasons.

Even then, fix the form first. Inquiries are arriving now, and a rebuild takes time.

How LoGa Approaches Web Intake

LoGa AI Systems is an Oklahoma City company that builds custom software and business systems for service businesses. Our approach to a website inquiry path is the one described here: follow one labeled submission from the button to the person who answers it, write down each checkpoint, and find the step that failed before deciding how much needs to change.

The form is one of several ways a lead arrives, and the phone has its own version of this problem, covered in how to stop missing customer calls. The range of intake and routing work we take on is listed on what we handle. If you would like that path traced on your own site, we do it as part of a free bottleneck audit.

Frequently asked questions

Why is my website contact form not sending email? Usually for one of a few reasons: the notification is going to an old or mistyped address, the message is being sent in a way the receiving mail provider does not trust and lands in spam or is rejected, a spam filter on the form itself is holding the submission, or a recent site change disconnected the form from whatever sends the email. Check the form tool's own list of submissions first. If the entry is there, the form worked and the problem is email delivery.

How do I know if my contact form is actually working? Send a clearly labeled test through the live form and follow it. Confirm it was accepted, find the saved entry in the form tool or database, confirm the notification arrived in the right inbox and not in spam, and confirm a person noticed it and knew it was theirs to answer. A thank-you message on the page only covers the first of those four checks.

How often should I test my website contact form? Test after every change to the site, the form, the domain, or the business email, because those are the moments a working form tends to stop. Between changes, a short test on a regular schedule, such as monthly, keeps a quiet failure from running for long. Pick a schedule you will actually keep and put it on a calendar.

Can I fix a broken contact form myself? Sometimes. An owner can usually correct the notification address, check the spam folder, review the form tool's spam and submissions lists, and confirm who is responsible for replying. Problems in the form's code, the connection to a database or customer list, the domain's email authentication records, or a server error generally need a developer or whoever manages the site and the domain.

Do I need a new website if my contact form is broken? Usually not. A broken form is one failed step, and the fix is normally a repair to that step: a corrected address, a reconnected integration, an authenticated sending domain, or a saved record behind the email. A rebuild only makes sense when the platform cannot store submissions or be repaired by anyone available to you, or when the form is one of several problems you were already planning to address.

Systems & AI