When a business owner tells me nobody fills out their contact form, the first thing I check is not the design. It is whether the form sends anything at all. More often than you would think, people have been filling it in for months and the messages have been going nowhere, or into a spam folder nobody opens.
So this post goes in the order I would actually work through it. Delivery first, because a beautiful form that loses messages is worse than no form. Then the things that stop people from finishing it.
Why is no one filling out my contact form?
Usually one of three things is going on. People are filling it out and the messages are not reaching you. Or the form asks for too much and is awkward on a phone, so people quit halfway. Or nothing on the page tells them what happens after they press send. Check delivery first, since it is the only one you cannot see from the outside.
I put a quick version of the delivery test in how to audit your own website in 20 minutes. This is the longer explanation of why it fails and what fixes it.
Is my contact form actually delivering?
Fill it in yourself, from a personal email address, and see where the message lands. If it shows up in your inbox within a minute, good. If it lands in spam, arrives hours later, or never shows up, you have found your problem, and no redesign would have fixed it.
This happens so often because a contact form on most small business sites does not send mail the way you do. The web server generates the email itself and sends it out claiming to be from your domain. Email providers have become much stricter about that. Since February 1, 2024, Google's sender guidelines require anyone sending to Gmail accounts to authenticate their domain with SPF or DKIM. A web server that was never set up for that looks, to Gmail, a lot like someone forging your address.
WordPress sites are especially prone to it. Out of the box, WordPress sends mail through PHP's built-in mail function, from an address that starts with wordpress@ followed by your domain. The WordPress source code itself carries a comment admitting that some hosts will block mail from that address if the mailbox does not exist. Plenty of sites run for years on that default and nobody finds out until a customer mentions they "sent a message ages ago."
The fixes are not exotic:
- Send form mail through a real, authenticated mail account or a transactional email service, not the web server's default.
- Make sure your domain has SPF and DKIM records that include whatever is sending the mail.
- Do not set the "From" address to the customer's email. It looks like forgery to the receiving server. Put their address in "Reply-To" instead, so hitting reply still reaches them.
- Save every submission to the site's database as well as emailing it. If an email goes missing, the lead does not.
- Check that the form sends to a mailbox somebody reads. Forms still pointed at a former employee's address are more common than they should be.
Test again after any change to your hosting, your email provider, or your domain. Those are the moments forms break.
How many fields should a contact form have?
As few as you can get the job done with. For most local businesses that means a name, a way to reach them (email or phone, their choice), and a box for the message. Every extra field is another reason to stop, and on a phone each one is a small chore with a tiny keyboard.
The Nielsen Norman Group, a usability research firm, puts it plainly in its top recommendations for web forms (2016): cut unnecessary fields, and if some are optional, say so clearly and keep it to one or two. I agree, with one caveat. A field that saves you a phone call is worth keeping. A contractor asking "what town is the job in?" filters out work from three hours away. A field asking for company size on a bakery's contact form helps nobody.
A good test is to ask of every field: what do I do differently depending on the answer? If the answer is "nothing," delete it.
Is the form hard to use on a phone?
Probably, if it has not been looked at in a few years. Open your own contact page on your phone and fill it in with your thumb. The problems show up fast.
- Grey hint text inside the box instead of a label above it. The moment you start typing, the hint disappears and you forget what the field was for. NN/g recommends against placeholder text for exactly this reason. Labels go above the field.
- The wrong keyboard. A phone number field should bring up the number pad, and an email field should bring up a keyboard with the @ sign. That is one small setting in the code, and it is missing on a lot of sites.
- Errors that erase your work. Someone misses one field, hits send, and the whole form comes back empty with a red line at the top. They do not fill it in twice. Error messages should sit next to the field, say what is wrong, and keep everything else they typed.
- A vague button. "Submit" tells people nothing. "Send message" or "Request a quote" tells them what happens.
Most of these are also accessibility problems. Proper labels are what a screen reader reads aloud, and they are often missing: WebAIM's 2026 scan of the top one million home pages found missing form labels on 51% of them. I covered the wider standard in what WCAG 2.1 AA means for a small business.
Does spam protection block real customers?
It can. Every form on the public internet gets spam, and the usual fix is a CAPTCHA: the "click all the traffic lights" puzzle. Those stop bots, but they also stop some real people. A local business that gets a handful of real enquiries a week cannot afford to lose any of them to a puzzle.
There are quieter options. A hidden "honeypot" field that people never see but bots fill in. A check that rejects forms submitted faster than a human could type. Invisible challenge services that only step in when something looks off. For most small sites, a combination of these stops nearly all the spam without asking a single real customer to solve anything.
What should happen after someone hits send?
They should know it worked and know what comes next. A confirmation on screen that says "Thanks, I got it, I reply within one business day" does more for trust than any design choice on the page. An automatic email with a copy of their message is a good second step, as long as your mail is set up properly so it lands.
Then answer fast. Research published in the Harvard Business Review in March 2011 found that most companies were not responding to online enquiries nearly fast enough. If someone fills in three contractors' forms on a Tuesday night, the first one to call back on Wednesday morning has the best shot at the job.
One legal point while you are at it. Under Canada's anti-spam law, CASL, someone who makes an enquiry gives you implied consent to send them commercial messages for six months afterward, under section 10 of the Act. That covers following up on their question. It does not sign them up for your newsletter forever. If you want them on a mailing list, ask separately and clearly. Section 13 puts the burden of proving consent on you, not them.
Does the rest of the page give people a reason to use the form?
A form sitting alone on a page headed "Contact Us" is asking for a lot of trust. The page around it should answer the questions people have before they commit: who will read this, how soon they will hear back, where you are, and whether you serve their area.
And give them another way in. Some people will never fill in a form, whatever you do. Put a tappable phone number and a real email address next to it. For firms where the first message might be sensitive, I made the case for knowing exactly where form submissions land in websites for Renfrew County lawyers, accountants and brokers. It applies to anyone collecting personal information.
Where to start
Test delivery today. It takes two minutes, and it is the one problem that costs you customers you never hear about. If the message arrives, open the form on your phone and cut every field you would not act on. Then fix the confirmation message so people know what happens next.
If your test message never showed up, or you would rather someone else sort out the mail setup, send me a note. I will find out where your messages have been going.