Case 01 · Rancho Roofing · San Diego

The build,
the receipt

A roofing company in San Diego. New website, a lead form that reaches the inbox, and a report built to refuse flattering numbers.

Client
Rancho Roofing, San Diego County
What I built
Website, lead system, reporting
Status
Live at ranchoroofingsd.com
Results
Not measured yet

The site

Scroll it on the phone it was built for

Nobody looks for a roofer at a desk. So the site is shown the way a customer meets it. The phone scrolls. The five cards beside it point at the decisions that matter, and the phone follows as you read.

The Rancho Roofing homepage on a phone, top half. The headline reads Roof Replacement, Repairs, Coatings, and Solar Re-roofs. The phone number, the words that is 619 VIP-ROOF, and a Call Now button sit on the first screen, then the Google reviews, the services, and the before and after illustrations. The Rancho Roofing homepage on a phone, bottom half. The What are you seeing list, the four step process, the about section, the programs, the contact form with a photo upload, the privacy notes and the footer.

01 of 05 · scroll the phone or tap a card

Open the live site ↗

Under the hood

The job

Make the phone ring, and prove it

Most small business owners cannot answer one question about their website. Did it make the phone ring?

They get a report full of percentages every month and they still cannot answer it. The report is not built to answer it. It is built to look like progress.

So I built the website and the answer at the same time. The site is the smaller half of the job.

What I found first

Two different phones

The website and the Google listing rang two different numbers.

Somebody who found the company on the map called one line. Somebody who found it on the site called another. Nobody had noticed, because nothing was watching.

Both now ring (619) 847-7663. That fix took an afternoon. It is the least clever thing on this page and probably the most valuable.

The part I care about

A report that will not flatter anybody

Most website reports lead with a percentage. Traffic up 300%. That is three visits instead of one.

The report I built refuses to do that. Two rules are written into the code, not into a promise.

Rule 01

A broken source is never a zero

If one of the data sources fails to answer, the report prints MISSING in red. It never prints 0. A zero reads as "your traffic collapsed", and that is a lie told by accident.

Rule 02

The headline is a count, not a rate

A percentage only appears after 100 visits and 10 contact attempts. A trend only appears after 12 reports. Below that there is not enough to divide, so nothing is divided.

It runs by itself, once a week and once a month, and lands at a private address the owner bookmarks. Nobody has to remember to make it. Visits from outside the United States are dropped before anything is counted, so my own testing never shows up as his customers.

Printed on the report itself

We do not print a conversion rate yet. At that size one extra tap moves a percentage by several points, so the percentage would invent a story.
We can see that a person pressed the call button. We cannot see whether the call connected, how long you spoke, or whether it became a job. No website tool can.

The second one is the sentence most reports leave out. A website tool stops at the tap. Everything after the tap is the owner's to answer, so the report asks him for it once a month, in one sentence.

A tap on a phone button is not a call, and a call is not a job. The report says tap, because tap is what happened.

The receipt

Measuring

There is nothing here yet

This is where a case study normally shows results.

There are none. The site is live and the measuring system is running, but nothing has run long enough to mean anything.

I am not going to put a percentage on a handful of visits. That is the exact thing the report was built to refuse, and I am not going to break my own rule on my own website.

This block fills in as the reports come in. Lines get added under the first one. The first one never gets deleted.

  • Line 01Site live. Measuring started. Nothing to report.

Questions people ask about this build

Three straight answers

What did you build for Rancho Roofing?

A new phone-first website in plain HTML. A lead form that sends from the company's own domain, so it lands in the inbox. Call buttons that each report their own position on the page. Live Google reviews. And a weekly report that counts visits and contact attempts without inventing percentages.

How do you measure whether a website makes the phone ring?

Count taps on the call button, and count which button was tapped. Do not print a rate until there are at least 100 visits and 10 contact attempts. Below that, one extra tap swings a percentage by several points. A tap is not a call, and a call is not a job, so the report asks the owner once a month what happened after the tap.

Why does this case study show no results?

The site is new. Nothing has run long enough to mean anything. The report was built to refuse flattering numbers, so this page follows the same rule. Results get added as lines under the first entry when they are real. The first entry is never deleted.

If you run a small business and cannot answer whether your website makes the phone ring, that is the problem I like working on.