Business Club Varna2 years, 140+ members, zero ad spend141 new-customer jobs a year, up from 84 with the ad budget cut by $600 a month
Kettering Comfort Systems, an HVAC contractor in Jacksonville, Florida, was spending $2,600 a month across Angi Leads, a self-run Google Ads account and a neighborhood paper, and nobody could say what any of the 3 cost per job. A year on, the business closes 141 new-customer jobs a year instead of 84, on $2,000 a month. The Angi report that had kept the largest budget renewed for 3 years said 312 leads; the job list for the same 12 months said 22.
About the client
Kettering Comfort Systems installs, repairs and services residential air conditioning across Duval and northern St. Johns County, Florida: 7 people, 4 vans, founded by Dale Whitfield in 2009, with an average new-customer job of about $1,100. It was spending $2,600 a month on advertising, a figure that here and throughout means media cost and not our fee, split between Angi Leads, a self-run Google Ads account and a quarter-page in the Mandarin NewsLine. For about 3 years the Angi report had arrived with a lead count on it, been glanced at, and been the reason Angi was renewed, because nobody had a list of jobs by source to put it next to.
Our analysis of the situation
The office was our first guess and it was cleared in a morning: 6 percent of calls reached voicemail and nearly all were returned the same day. The website was the second; the form delivered within a minute, the homepage loaded in 3 seconds on a phone, poor but not a leak, and three-quarters of enquiries came by phone anyway.
So we rebuilt the previous 12 months job by job, by source, from the Angi dashboard, the Google Ads click log matched against phone records, coupon redemptions and technicians' notes. Angi's 312 reported leads had become 22 jobs, $600 each; the self-run search account had produced 19 jobs at $632, a third of its clicks outside the service area and no conversion tracking; the print ad had produced 6 jobs at $1,000 each; and 20 of 84 jobs had no source at all.
The spread was the finding. The metric became cost per new-customer job by channel, reviewed monthly with close rate beside it, and the strategy followed: measure every channel the same way, give Angi a capped test rather than a cut on suspicion, and move the freed money to the Business Profile and to Google search.
Supporting research
WordStream's audit of 500 self-managed small-business Google Ads accounts found most running without conversion tracking and wasting about a quarter of their budget [1], which is the state Kettering's account was in. MarketingSherpa's AppSecInc case study describes cost per lead varying twentyfold across channels at one company once each was measured the same way [2], the same spread we found here.
Our strategy to solve the problem
We started in August 2025 and did not touch a budget. Every published phone number got its own CallRail line: the website, the Google Business Profile, the Google Ads call extension, the Angi listing and the print ad, 5 numbers on CallRail's $45-a-month plan. The lead-source field in Housecall Pro became mandatory at booking, with a second required field for new versus existing customer. This is the change that mattered most, and it produced no revenue on its own. Without it, every later decision would have been a guess with better wording.
What we needed from Kettering was 2 rules in the office: any missed call is returned within 30 minutes, and every call is logged with a source whether or not it books. The office manager resisted the logging for about 6 weeks, because it is extra typing on a day when the phone does not stop, and the source field stayed blank on roughly a fifth of calls until Dale read the blanks out loud at the first monthly review. We back-filled those from the CallRail logs.
The budgets changed on 1 September. The print ad's contract came up for renewal that month and we let it lapse; 6 redemptions in a year had settled that. We did not replace it with anything. Angi got its test: 3 months, September to November, at $600 a month with a tracked number on the listing. Over the quarter Angi reported 44 leads; the office booked 7 of them and closed 3 jobs. $600 a job, the same as the year before. The rebuilt search account finished the year at $296. We cancelled Angi when the quarter ended.
The Google Ads account was rebuilt in September, not patched, and its budget set at $1,850 a month, the old $1,000 plus most of what had come off print and Angi. Location targeting became the 2 counties Kettering serves, with the Georgia and Putnam County clicks gone. A negative keyword list came out of 3 years of the old search terms report ("hvac jobs jacksonville", "ac filter walmart", "hvac school"). Emergency repair and system replacement became separate campaigns with their own budgets, because a $400 call and a $9,000 sale should not share a bid. Every ad carried a CallRail number, and calls over 60 seconds counted as conversions, so the account could learn from booked work rather than clicks.
The Google Business Profile got the attention the ads had been getting. Primary category corrected to HVAC contractor with air conditioning repair and installation as secondary categories, a full services list with starting prices, photos from real jobs uploaded each week, a short post each week, and a rule that every review gets a reply within 48 hours. There is no media cost on any of it. By spring it was the second largest source of new customers. The Google Ads budget stayed at $1,850, which with the Angi quarter brings the year to $2,000 a month on average.
In February the template site was replaced with a lighter WordPress build on WP Rocket, loading in under 2 seconds on the same Android test. The share of inquiries arriving by form did not move; the phone stayed at three-quarters. The monthly review stayed to one page: spend, leads, booked appointments and jobs by channel, and cost per job. Dale reads it in about 4 minutes.
Before and after
Baseline year September 2024 to August 2025 against September 2025 to August 2026.
| Metric | Before (Sep 2024 to Aug 2025) | After (Sep 2025 to Aug 2026) | Change |
|---|---|---|---|
| Monthly ad spend | $2,600 | $2,000 | −23% |
| New-customer leads (calls and forms) | 516 | 554 | +7% |
| Cost per lead | $60 | $43 | −28% |
| Booked appointments (new customers) | 182 | 305 | +68% |
| New-customer jobs closed | 84 | 141 | +68% |
| Close rate on booked appointments | 46% | 46% | flat |
| Cost per new-customer job | $371 | $170 | −54% |
| Jobs with no known source | 20 of 84 | 0 of 141 | all traced |
Close rate did not move; it did not need to. The office was already converting the appointments it got, and what changed was the number of appointments worth booking. Lead volume rose only 7 percent while appointments rose 68 percent, because 312 of the old leads were Angi contacts who mostly never picked up, and the new ones are people who searched for an AC repair in a county Kettering serves. One caveat on the counting: the 17 jobs we could trace to the Business Profile and referrals in the baseline year were a floor, spot-checked and never logged, so part of the rise to 63 is better records, not new demand. The Google Ads rise, 19 jobs to 75, is on clean data both sides.
Before, $31,200 a year bought 84 new customers and Dale could not have said which $10,000 of it to cut. Now $24,000 buys 141, every job has a source, and the question at the monthly review is which channel to give more to.
Summary
A lead count on a monthly report had stood in for a result for 3 years, while the channel that sent no report at all cost about the same per job and was the only one whose waste could be seen and removed.
Tracked numbers on every listing and a required source field at booking made the comparison possible in an afternoon: Angi at $600 a job, print at $1,000, the self-run search account at $632 with a third of its clicks outside the service area.
Print went first, Angi failed a capped quarter and went second, the search account was rebuilt around 2 counties and phone calls as conversions, and the Business Profile was completed for nothing.
Cost per new customer fell from $371 to $170 while the monthly budget fell by $600.
References
- WordStream, reported by Search Engine Land, "Study finds small businesses waste 25 percent of their PPC budgets" (2013). searchengineland.com
- MarketingSherpa, "7 tactics to reduce cost per lead", AppSecInc case study. marketingsherpa.com
Final word from the client
The one with the report was 600 dollars a job. 3 years I read that thing. I'm not going to pretend that doesn't bother me. But I know what a customer costs me now, and I didn't.”






