Cost per booked inspection cut from $310 to $96
An Alcoa roofer was burning budget on Google Ads clicks that never became appointments. Restructuring the account tripled efficiency without raising spend.
The situation
Smoky Ridge was spending roughly $6,000 a month on Google Ads through a national vendor. The reports looked good. Clicks were up, cost per click was down, and the dashboard was full of green arrows.
The owner could not reconcile any of it with his schedule, which was not full. He asked one question the vendor could not answer: how many roofs did we sell from this?
The problem
The account was optimized for clicks, not for booked inspections, and nobody had ever connected the two.
Three specific failures. Conversion tracking counted every phone call over 15 seconds, including wrong numbers and supplier calls, which meant the algorithm was actively learning to buy the wrong traffic. Broad match with no negative keyword list was buying roof repair DIY, roofing jobs hiring, and roof rack. And every ad pointed at the homepage rather than a page about the specific thing the person searched.
The budget was not too small. It was pointed at the wrong outcome.
The work
Fixed measurement before touching spend
Rebuilt conversion tracking around booked inspections only, with a 60-second call threshold and form submissions that reach the CRM. Two weeks of clean data before any optimization.
Rebuilt account structure
Split into emergency repair, full replacement, and storm damage, each with its own budget, ad copy, and landing page. Emergency work converts at a completely different rate than replacement and should never share a campaign.
Wrote a real negative keyword list
1,400 negatives in the first month. Roughly 38% of prior spend had gone to searches that could never have become a customer.
Added Local Services Ads and built landing pages
Google Screened verification plus three dedicated pages with matching headlines, real project photos, and a single call to action above the fold.
The results
Measured in Google Ads with corrected conversion tracking, reconciled monthly against signed contracts in their CRM.
- Cost per booked inspection fell from $310 to $96.
- Wasted spend on non-commercial searches dropped 69%.
- Return on ad spend reached 4.2x against signed jobs, not estimated pipeline.
- Monthly budget stayed at $6,000. Nothing was added.
Storm months skew roofing numbers badly. This window included one significant hail event, which we have called out rather than buried.
Same budget. Nothing added. We just stopped paying for people who were never going to buy a roof.
Most underperforming Google Ads accounts do not have a budget problem. They have a measurement problem that guarantees the algorithm optimizes toward the wrong thing.
Do this before your next ad meeting: open your conversion actions and check what actually counts as a conversion. If a 15-second phone call counts, your account has been training itself on noise for as long as that setting has been live. Then pull your search terms report and read the last 30 days out loud. You will find the leak in about ten minutes.
William Burkhart
Founder & CEO, Beacon Primary Care