Conversion

Why am I not getting enquiries from my website?

By Jake Luo · Published 2026年8月31日

Check delivery before you check the offer. A contact form can render perfectly, say thank you, and deliver nothing — and the same is true one step later, when the form works but the message never leaves your email provider or never survives a spam filter. Send yourself an enquiry from the published URL and follow it the whole way: did the submission reach a server, did a message actually get sent, did it arrive, and are your visitors even real people. Only once all four hold is "nobody wants what I am offering" the honest answer, and by then you will know which part to fix.

Work the chain in order, not the page

The instinct when nothing arrives is to rewrite the page: a new headline, a bigger button, a testimonial near the form. That is the last thing to change, because the failures that produce total silence are almost always mechanical, and from where you are sitting a mechanical failure and a persuasion failure look identical — an empty inbox. The difference is in the shape. A page that persuades badly still produces the occasional enquiry. A page whose form posts nowhere produces exactly zero, forever, however good the copy gets.

  1. Does the form submit anywhere at all? Open the published URL rather than your local preview or the builder's preview pane, fill the form in, and submit it with your browser's network panel open. You are looking for one request that leaves the page and comes back with a success status. If nothing leaves, the form is decoration — which is common enough on generated pages that it belongs first in the list. See should I use AI to build my website for the rest of that class of fault.
  2. Does the submission carry your fields? A form can post successfully and still arrive empty, because the inputs it sends have no names attached to them. Type a message you will recognise, submit it, and look at what actually landed rather than at whether something landed. A notification with blank fields is a markup problem, not an inbox problem, and it is invisible until you read one.
  3. Did a message actually get sent? This is the rung that gets skipped, because it is invisible from both ends: your site believes it handed the message off, and you never see a bounce. Open your email provider's own sending log and look for the timestamp of your test. If there is no row there at all, nothing was ever sent, and every theory about spam folders is wasted effort.
  4. Did it arrive, and where did it land? Send to an address at a different provider from the one your site sends through, then check spam, promotions, and any catch-all or filter rule you set up years ago and forgot about. Mail from your own domain to your own domain fails in its own particular ways, so testing only that path can hide a problem everyone else is hitting.
  5. Are the visitors real people? Before you conclude that nobody is interested, check that the arrivals are humans. Bots, link previews and uptime checks all register as sessions and none of them will ever fill anything in, so a page can look busy and be empty. Why is my website not getting traffic covers reading those numbers honestly.

A thank-you page is not a receipt

The thank-you screen is a user-interface state. In most implementations it appears because the browser finished a request, not because anything was written down or sent, which means it can be showing while the enquiry is already gone. That is a gap worth designing out rather than testing around, because the person it misleads most reliably is the visitor: they believe they have contacted you, they stop trying, and you never learn that they tried.

We host the pages our own customers publish, so we had to decide what our lead endpoint does when it cannot write an enquiry down. It answers with an error. It will not render a confirmation for a message it did not persist, on the principle that a false confirmation is worse than a visible failure — a visible failure at least gives the visitor the option to email you instead. If you control your own backend, make the same choice and only say thank you after the write succeeds. If you use a hosted form service, send a test and confirm the entry appears in its dashboard, not merely that your page changed.

The rung nobody checks: the message never left

Our sharpest example of this was not on a customer's site, it was on ours. We were on an email plan with a ceiling of a hundred messages a day, and on the day we finally looked at it the counter read ninety-nine. Everything past that was refused at the provider. Nothing bounced, because a bounce requires a message to have been accepted and sent — these never were, so there was no bounce to read and nothing sitting in anyone's spam folder to find.

Two details from that are worth stealing. The refusal came back as a 403, the status you would read as a broken credential, rather than the 429 you would expect from a rate limit — so triaging by status code alone sends you after the wrong cause. Worse, one of our own routes deliberately swallows send errors, so that a stranger cannot use failed sends to work out which email addresses have accounts with us. That route kept returning its cheerful "check your inbox" page for mail that had never been sent. Both details are the same lesson: your application's success message describes what your code attempted, not what your provider did, and unless something is watching the provider's answer the two can disagree for days. We had no alert on send failures before this; we do now.

When nothing arrives and nothing bounced
  • Read the provider's sending log before you search any inbox — a missing row means the message was never accepted, and no amount of spam-folder archaeology will reveal that.
  • Check the daily ceiling, not just the monthly total. A daily cap can stop you at ten in the morning while the month still looks comfortable.
  • Read the error body rather than the status code. Quota, suspension and bad-credential failures do not reliably use the status you would predict.
  • Alert on send failures. Silence is the default output of a broken notification path, and silence is exactly what you are already getting.

When the machinery works and it is still quiet

Once you have watched a test enquiry travel the whole way, the remaining explanations are the ordinary ones, and they are far easier to work on because you can finally trust the feedback. The commonest is that not enough of the right people have arrived yet: a page that is a month old with no inbound links has an audience of nobody, and no amount of form-fixing changes that. The next commonest is the ask itself. "Contact us" invites a stranger into an open-ended conversation with no idea what happens next, which is a larger request than it looks — offering something concrete instead, a specific question or a price range or a choice of times, usually costs one field and moves the number further than a redesign would. How do I turn website visitors into signups covers the rest of that ground.

The order is the part worth keeping. Verify delivery, then read the traffic, then change the offer, because an hour spent rewriting a headline above a form that posts nowhere cannot possibly work. That sequencing is also how we build AgentCeres — the AI Growth Officer at agentceres.com. A roster of specialists drafts the pages, the posts and the outreach, a person approves anything that goes out, and the parts that carry a customer's message are checked by the system rather than assumed to be fine.

FAQ

Why is nobody filling out my contact form?
Rule out the mechanical causes before the persuasive ones, because they look the same from an empty inbox and only one of them can be fixed by writing. In order: the form has to post somewhere, the fields it posts have to be named, a message has to actually be sent, it has to arrive somewhere you read, and the visitors have to be people. Total silence is far more often one of those than a bad offer.
How do I test whether my contact form actually works?
Submit a real enquiry to yourself from the published URL, not from a preview, and follow it end to end: watch the network request leave the page, check the message body that arrives contains what you typed rather than blank fields, and confirm the row exists in your email provider's sending log. Send to an address on a different provider too, since mail from your own domain to your own domain can succeed where everything else fails.
My form submits fine but no email ever arrives. What now?
Go to the sending log first. If there is no record of the message, it was never accepted and the problem is on the sending side — a quota you have hit, an expired key, a suspended domain — and the error body will name it even when the status code misleads you. If the log shows the message as sent, the problem is on the receiving side, and you are looking at spam filtering, a forwarding rule, or authentication records that do not match your sending domain.
How many enquiries should a small business website get?
There is no benchmark worth trusting, because the number is dominated by how many people arrive and why. The useful version of the question is a ratio: of the visitors who reach the page, what share start the form and what share finish it. If nobody starts, the offer or the traffic is wrong. If people start and abandon, the form itself is the problem. If neither is happening because the page gets a handful of visits a week, the honest answer is that you do not have a conversion problem yet.
Related questions
Should I use AI to build my website?Why is my website not getting any traffic?How do I turn website visitors into signups?Why do my magic link logins fail?

Want this done for you?

AgentCeres is a managed AI marketing team — specialists draft the work, you approve what ships. 14-day free trial, from $39/month.

Start free trialMore answers