If you build websites or sell local SEO to the trades, the question behind every cold email is which businesses actually need you. We had a way to answer it: our six metro contractor lists carry 9,932 plumbing, electrical, HVAC and roofing businesses with the website from each public listing, and we fetched every listed site's home and contact page to record what a 9 PM customer would find there. This is what the reads found, metro by metro, with the method, so you can judge it before you buy a list from us or build your own.
What we read, and how
For each business we took the website on its public listing and fetched the home page and the contact page with an ordinary HTTPS request. Four facts were recorded from those two pages: whether there is a way to book online (a booking widget or a booking link), whether there is a request form at all, whether opening hours are posted, and whether the page declares a phone layout (the viewport tag every mobile-ready page carries). A site that did not answer within the timeout, or answered with an error, is counted as "did not answer".
Three limits to keep in mind. We fetched over HTTPS only, so a site with no certificate, or a broken one, is in the did-not-answer group rather than the site columns, together with expired domains, dead hosts and sites that refuse automated requests. Of the sites that answered, 1% sent us on to a plain HTTP page. A two-page automated read is not an audit: a booking link buried on a services page is missed. And a business with no website on its listing may have one the listing does not show. Treat every row as a reason to look, not a verdict.
The numbers, by metro
| Metro | Businesses | No website listed | Site did not answer | Sites read | Online booking | Request form | Hours posted | Built for phones |
|---|---|---|---|---|---|---|---|---|
| Puget Sound (WA) | 1,674 | 15% | 23% | 1,105 | 18% | 45% | 51% | 94% |
| Spokane, Boise & Salt Lake City | 1,249 | 16% | 22% | 817 | 19% | 44% | 55% | 95% |
| Portland & Vancouver | 922 | 16% | 22% | 608 | 19% | 47% | 53% | 95% |
| Denver & the Front Range (CO) | 2,352 | 18% | 24% | 1,466 | 16% | 45% | 52% | 94% |
| Phoenix & Tucson (AZ) | 2,731 | 16% | 25% | 1,723 | 19% | 45% | 54% | 92% |
| Las Vegas & Reno (NV) | 1,004 | 17% | 23% | 639 | 19% | 47% | 54% | 91% |
| All six | 9,932 | 16% | 24% | 6,358 | 18% | 45% | 53% | 93% |
"No website listed" is a share of all businesses; "site did not answer" is a share of the businesses that list one; the four site columns are shares of the sites that answered.
What was missing, in order
Across the 6,358 sites that answered: 82% showed no online booking; 55% showed no request form on the home or contact page; 47% showed no posted hours; 7% showed no phone layout. Online booking is the rare one everywhere, and it is the gap with a price on it: a request form with no times means the 9 PM customer sends a message and waits, and whoever writes back first with real appointment windows usually gets the job. A phone layout is table stakes that 7% of working sites still miss, and it is a one-afternoon fix a business can see the point of.
What a missing booking path costs the business
The arithmetic we use on our own pages, so a prospect can recompute it: after-hours requests a week x 4.3 weeks x the share that would have booked x the job value x the half that is lost when the reply waits until morning. At five after-hours requests a week, a 35% close rate and a $300 to $600 job, that is roughly $1,100 to $2,300 a month (5 x 4.3 x 35% x $300 to $600 x 1/2). The missed-calls calculator takes the business's own numbers and needs no email.
How to work the three groups
- Sites that did not answer. The easiest conversation, and the one to verify first: open the site in a normal browser, and if it is really down or expired, the call is "your site is not loading" rather than a pitch.
- No website listed. Phone-only businesses. Where the state publishes a licence register, the owner on record is on the row, so the letter can be addressed to a person. These need a site at all, not a redesign.
- Sites with no way to book. The pitch is a booking path, not a rebuild. The row carries one column per gap (form, booking, hours, HTTPS, phone layout), so the first email can name the specific gap and the fix.
Whatever you send first, send something useful: the free 20-point website self-check is a one-page test a business owner can run on their own phone in ten minutes, with the fix next to every "no". The Website Gap Report Agency Pack is the same read done properly on 25 sites you choose, with Google PageSpeed numbers and every fix ranked, one PDF per site, with your name on the reports if you hand them to the business ($149, $5.96 a site).
Where the rows are
The Web Prospects file for each metro is the three groups above as three sheets, with the business name, trade, city, address, listed phone, the published business inbox where the site has one, the owner on record or a contact name read from the site, and one column per gap: Puget Sound (WA), Spokane, Boise & Salt Lake City, Portland & Vancouver, Denver & the Front Range (CO), Phoenix & Tucson (AZ), Las Vegas & Reno (NV), $49 each, CSV and Excel, bad rows replaced free within 30 days. The 60-row contractor list sample is free if you want to check the source list first. Business records only: listed phones, published inboxes and public licence records, never personal data.
Before you write or call
Business-to-business email and calling are regulated: CAN-SPAM for commercial email (a real postal address and a working opt-out in every message), the TCPA for calls and texts, the national Do Not Call registry with its business-to-business exemptions, and state rules on top. Keep a suppression list from day one. This is the reading list, not legal advice.
By Addison Lopez, Workshop Media Co. Every count above is computed from the lists on sale and our site reads on the day this was published and moves with each monthly refresh. A two-page automated read is not a website audit.
Free, no strings: check out with your email address, nothing to pay, and the download link arrives by email.
- The 20-point website self-check: the 9 PM customer test: open your site on a phone, answer yes or no, read the fix and the time next to every no.
- The 60-row contractor list sample: ten real rows from each of the six metros, with owner or contact names, phones and licence data, in the paid lists' exact columns.