Skip to content
Blog

The quote request form that
actually gets filled out

Published September 23, 2026 · Custom Software

The form on most small-business websites is where leads go to die. Here is what a form that people finish looks like, and why what happens after they hit submit matters more than the form itself.

We get to see a lot of contact forms, because fixing them is often the first thing we do on a new site. The pattern is depressingly consistent. A roofer in Lynchburg has a form with twelve fields, including "How did you hear about us?" and a required "Company" box that homeowners leave blank and then get an error. A landscaper in Chesterfield has a form that submits to an email address the owner stopped checking two years ago. A well driller in Louisa has one that works fine, but every submission lands in the spam folder, so the owner believes nobody uses it.

In each case the site was getting traffic and the phone was not ringing, and the form was the reason. This post is about building the opposite: a short form that people actually complete, and a system behind it that makes sure every submission turns into a conversation.

Why most contact forms die

A form fails in one of four places, and usually more than one.

Too many fields. Every extra box is a reason to quit. Someone standing in a flooded basement at 9 p.m. is not going to fill in their street address, their preferred contact time, and a dropdown of their budget range. They want to type what is wrong and get a call back. A twelve-field form is really a filter that keeps out everyone except the very patient.

No way to just call. Half the people who land on a contractor's site on their phone would rather call than type. If the phone number is not next to the form as a tap-to-call link, some of them leave and search again.

No confirmation. The customer taps submit, the page reloads, and nothing tells them it worked. They wonder whether it went through. Many submit again, or give up and call a competitor whose site said "Thanks, we'll call you within the hour."

It goes to spam, or nowhere. The form sends email from an address the mail server does not trust, so the message is filtered. Or it sends to whoever set up the site in 2019. Or the plugin that handled it broke in an update and nobody noticed. The owner concludes "we don't get leads from the website," which is true, but not for the reason they think.

The four or five fields that matter

For a trade or home-service business, this is the whole form:

  1. 1Name. First name is enough. You will get the rest on the phone.
  2. 2Phone. Required. Email optional, or skip it entirely for emergency trades. A plumber calling back is faster than a plumber emailing back, and the customer knows it.
  3. 3Town. Not full address. "Farmville" or "Midlothian" tells you whether it is in your service area and roughly how far the drive is, which is what you need to decide whether to call back first or third.
  4. 4What do you need? One open text box, with a placeholder like "No hot water since this morning, 40-gallon electric tank." If you have four or five distinct services, a short dropdown ahead of the text box can help with routing, but keep the free text; people describe problems better than they categorize them.
  5. 5Photo (optional). For trades, this is the field that saves you a trip. A picture of the breaker panel, the leaking valve, or the roof section is worth more than any description. Make it optional and make it work from the phone camera.

That is it. Everything else, budget, timeline, how they found you, address, can wait for the callback or be captured automatically. If a client insists on a longer form, we ask which field they would refuse a job over. Usually there is none.

Mobile first, because that is where the form gets used

Most quote requests to a local service business come from a phone. Design for that first and let the desktop version follow.

Fields should be full width and tall enough to tap without precision, roughly 48 pixels. Set the right keyboard for each field: a numeric pad for phone, the email keyboard for email. Labels above the fields, not floating inside them where they disappear the moment someone starts typing. One column. A submit button that says what will happen, "Request a Call Back," instead of just "Submit."

And no captcha. The picture-grid captchas that ask people to find crosswalks fail constantly on phones and punish exactly the person you want to hear from. Spam bots can be stopped invisibly instead. Two techniques together handle almost all of it: a honeypot, which is a hidden field that humans never see but bots fill in, and a timing check, which rejects any submission that arrives less than a few seconds after the page loaded, because no person reads and fills a form in two seconds. We use both on every form we build, and the client sees clean submissions without a single real customer being blocked.

What happens after submit matters more than the form

The form is the easy part. The system behind it is where the lead is won or lost. Three things should happen in the first minute after someone taps the button.

The customer gets an instant confirmation. On screen, a real thank-you page that says their request was received, when to expect a call, and the phone number in case it is urgent. And by email or text, a short message with the same information. This is not a courtesy. It stops the double-submits and, more importantly, it stops them from calling the next company on the list while they wait.

You get a notification with everything in it. Not "New form submission" with a link to log in somewhere. The email or text should contain the name, phone number as a tap-to-call link, town, what they wrote, the photo, and the page they came from. The owner should be able to call back from the notification without opening anything else. For most small businesses a text to the owner's phone plus an email to the office is right.

A follow-up fires if nobody replies. This is the piece almost nobody has. If the lead has not been marked as contacted in 24 hours, the system sends a second notification to the owner, or escalates to a second person. Leads that go unanswered for a day are usually gone. A simple reminder catches the ones that landed during a busy afternoon and got buried. This is a small piece of workflow automation that pays for itself with the first saved job.

Routing, photos, and knowing where the lead came from

Once the basics work, three refinements make the form noticeably more useful for a growing company.

Routing by service. If the HVAC side and the plumbing side are run by different people, the "what do you need" dropdown decides who gets the notification. An electrical company in Roanoke might send residential requests to the office and commercial ones straight to the estimator's phone. Nobody has to forward anything.

Photos that actually arrive. Photo uploads from phones are large, come in odd orientations, and break naive form handlers. The upload needs to accept camera images directly, resize them on the way in, and attach them to the notification or link to them, so the tech sees the picture before the callback. Done right, a good share of quotes for small jobs can be given over the phone from the photo alone.

Tracking which page produced the lead. Record the page the form was on and send a GA4 event on successful submit. After a few months you will know that the "Water Heater Replacement in Lynchburg" page produces four leads a month and the "About Us" page produces none, and you can put your SEO effort where the leads are. Without this, you are guessing. If you are not sure what your site is currently tracking, the free website SEO audit checks it.

When a form should become a booking tool

A quote form is right for work that has to be scoped: a roof, a remodel, a well problem, anything where the price depends on what the tech finds. It is the wrong tool for work that is priced and scheduled the same way every time. A lawn care company with fixed mowing rates, a cleaning service, a mobile detailer, a clinic booking routine visits: these businesses lose customers by making them fill out a form and wait, when the customer could have picked a slot and been done.

The signal that you have outgrown the form is when the callback is always the same conversation: "Yes, we do that. Yes, we come to your town. Tuesday or Thursday?" At that point the form should become a scheduler that shows real availability, takes the booking, and puts it on the crew's calendar. We wrote about what that looks like in custom scheduling software for small business, and it is a common first project under our custom software for small business work. Many companies end up with both: a scheduler for the routine services and a short quote form for everything else.

Mistakes we see on almost every site

The form only lives on the contact page. Someone reads your water heater page, decides you are the right company, and then has to find the Contact link, load another page, and start over. Put a short version of the form at the bottom of every service page and every town page. The person who is ready to ask should be able to ask right there.

No thank-you page. Beyond the confirmation, a dedicated thank-you page is the cleanest way to count conversions in analytics and the natural place to say "while you wait, here is what to do about the leak." Redirect to it after a successful submit.

No phone number next to the form. The form should never be the only option. A visible, tappable number right beside it catches the people who would rather talk, which for emergency trades is most of them.

Nobody tests it. Submit your own form from your phone once a month. Check that the confirmation arrives, that the notification arrives with the details, and that it lands in the inbox and not spam. A form that broke silently in March and gets noticed in August has cost a season of leads.

Putting it together

A good quote form is five fields, works on a phone, blocks bots without bothering people, confirms instantly, notifies you with everything you need to call back, nags you if you forget, and tells you which page earned the lead. None of that is exotic. It is the kind of thing we build into every site under our websites and web apps work, and it is often the highest-return hour on the whole project.

If your form is closer to the twelve-field version, or you honestly do not know whether it works, send us the link. We will fill it out from a phone and tell you what happened. And if the leads are already flowing and the problem is what happens after the callback, the next step is usually a proper job-tracking tool, which we cover in building a custom field service management app.

Does Your Form Actually Work?

Send us your site and we will test the form from a phone, check where the submissions land, and tell you what is leaking. No cost, no obligation.