Original research · 1 September 2026
We scanned 4,550 US home-services websites
One in three invites you to book a job, then has no way to take the booking. Here is what we found, how we measured it, and where the numbers are weakest.
can take a booking online
ask you to book, then can’t accept one
of listed websites are broken
The promise gap
Nearly half the sites that load — 48.5%— carry a call to action like Book an appointment, Schedule your service or Request a free estimate. Only 16.7% have anything behind it that can accept a booking: a real scheduling system, not a phone number.
That leaves 1,232 businesses — 34.4% of the working sites— asking for something they cannot receive. The customer clicks, finds a form or a phone number, and now the job depends on somebody answering.
A further 12.4% show neither a phone number nor a contact form on the homepage. There is no visible way to make contact at all without hunting.
What a customer finds on arrival
Of the 3,581 sites that loaded for us:
| Served over HTTPS | 96.8% |
| Mobile viewport set | 90.2% |
| Phone number visible | 85.3% |
| Tap-to-call link | 75.4% |
| Contact form | 51.4% |
| Invites you to book or request | 48.5% |
| Email link | 30.6% |
| Can actually take a booking | 16.7% |
| Live chat | 7.6% |
The basics are largely handled — almost everyone has HTTPS, a mobile viewport and a phone number. The drop-off is at the point of actually converting an interested visitor without a human involved.
It varies enormously by trade
| Trade | Sampled | Takes bookings | Promise gap |
|---|---|---|---|
| HVAC | 1363 | 30.4% | 32.5% |
| Plumbing | 997 | 20.6% | 36.6% |
| Electrical | 535 | 9.4% | 24.8% |
| Roofing | 1043 | 6.0% | 42.1% |
| Painting | 265 | 2.7% | 39.1% |
| Carpentry | 294 | 0.9% | 22.3% |
HVAC is more than thirty times likelier to accept an online booking than carpentry. Roofing is the sharpest mismatch in the sample: 42.1% ask for an estimate request and only 6.0% can take one.
By state, among those with 40 or more businesses sampled, booking rates run from 26.5% in South Carolina and 25.0% in Maryland and Massachusetts down to 5.1% in New York and 5.6% in Missouri.
A seventh of the websites are broken
649 of 4,550 — 14.3%— failed outright: domain no longer resolves, 404, SSL failure, timeout, or a server error. These are businesses currently listed with a web address that does not work.
A further 308 (6.8%)returned 403 or 503 to our crawler. That is bot protection refusing an unfamiliar user agent, not a broken site, and those are almost certainly fine for a human visitor. We have deliberately kept them out of the headline figure. The larger 21.3% “did not load for us” number is real but would overstate the problem, so we do not lead with it.
Speed was not the issue we expected: the median site responded in 1.5 seconds, with 15.1% taking longer than three.
Method
- Sample frame: OpenStreetMap, filtered to US businesses tagged with a home-services craft (HVAC, plumbing, roofing, electrical, carpentry, painting) that list a website. 10,555 businesses matched; 4,550 had a website tag. OSM data is ODbL-licensed.
- Scan: one read-only request to each homepage on 2026-09-01, 15-second timeout, with a user agent identifying the study. No forms were submitted and no enquiries were sent to any business.
- “Takes bookings”means a link to a real scheduling system — Calendly, Acuity, Housecall Pro, Jobber, ServiceTitan, Schedulicity and similar. A phone number or contact form does not count.
- “Promise gap” means the page invites a booking or estimate request in its copy while having no scheduling system behind it.
Limitations
- Every capability figure here is a floor.We read the homepage only. A business whose booking widget sits on an interior page is counted as having none, so real capability is higher than these numbers — we do not know by how much.
- OpenStreetMap is not a census. Businesses appear in it because a volunteer added them. The sample skews toward those with a physical premises and is not a random draw from all US home-services firms.
- Detection is pattern-based. A scheduling tool we do not recognise reads as no booking. A self-hosted booking system almost certainly does.
- One snapshot, one day. No time series, and sites change.
- We sell software in this category. That is a reason to check the numbers rather than take them on trust, which is why the method, the raw data and the judgement calls are all published.
Data
The sample frame and full scan results are published as CSV, along with the scanner source, so anyone can reproduce or contradict this: github.com/aricsangchat/home-services-front-office-study.
We build front-office software for exactly the businesses in this sample — answering the call, capturing the job, taking the booking. If the promise gap above sounds like your website, here is what we do about it.