DEV Community

Cover image for I Thought My Contact Form Was Working — It Wasn’t
Joe Seabrook
Joe Seabrook

Posted on • Originally published at web2phone.co.uk

I Thought My Contact Form Was Working — It Wasn’t

I had a contact form live on a website for months.

It looked fine.

It submitted correctly.

There were no errors.

Technically, it was working.

But there was one problem.

No leads were coming through.

Or at least… that’s what we thought.


The moment I realised something was off

After digging into it, we found something surprising.

Leads were coming in.

They were just sitting in an inbox.

Unread.

Sometimes for hours.

Sometimes for days.

And by the time they were seen, the customer had already gone somewhere else.


The mistake I made (and I see it everywhere)

As developers, we tend to think:

If the form submits successfully, the job is done.

We focus on:

  • validation
  • backend handling
  • successful response

But we rarely think about what happens after the submission.

That’s where things break.


Forms don’t fail at submission

This was the shift for me:

A contact form doesn’t fail when it submits.

It fails when nobody responds.

And most setups rely on one thing:

email


Why email quietly kills your leads

Email feels like the default.

But in reality:

  • people don’t monitor their inbox constantly
  • emails get buried
  • notifications get ignored

For a lot of businesses (especially local ones), email is checked:

  • once a day
  • or when they “get around to it”

That delay is everything.

If someone else replies faster, the lead is gone.


This is not a technical problem

Here’s the interesting part:

From a technical perspective, everything is fine.

A typical form submission looks like this:

{
  "name": "John",
  "email": "john@example.com",
  "message": "Can I get a quote?"
}
Enter fullscreen mode Exit fullscreen mode

Your backend receives it.

Processes it.

Sends it somewhere.

No errors

No crashes

No bugs

And still…

no conversions


The real problem: visibility

The actual issue is simple:

The person who needs to see the message… doesn’t see it in time.

That’s it.


What changed everything for me

Once I realised this, my thinking completely shifted.

Instead of asking:

“Did the form submit?”

I started asking:

“Did the person actually see it?”


The simplest fix

You don’t need to rebuild your form.

You don’t need a complex backend.

You just need to change where the message goes.

For a lot of use cases, that means sending it somewhere like:

  • WhatsApp
  • SMS
  • anything real-time

Something that:

  • triggers a notification
  • gets seen instantly
  • is hard to ignore

Why this matters more than anything else

Most people don’t ignore leads on purpose.

They just:

  • don’t see them
  • see them too late
  • forget to reply

And from the user’s perspective?

It feels like the form didn’t work.


The takeaway

The biggest lesson for me wasn’t technical.

It was behavioural.

Users don’t care if your form works.

They care if you reply.

If replies are slow…

Your form might as well be broken.


Curious — what are you using?

How are you handling contact form submissions right now?

  • Email?
  • Slack?
  • Something custom?

And more importantly:

How fast do you actually see them?

Top comments (0)