How much does Google Ads cost per lead in home services?
There is no single number, but paid-search benchmark reports consistently rank home services among the higher-CPL categories, with trades like roofing and HVAC typically above the all-industry average (see WordStream's paid search benchmarks). Expect wide swings by market, season, and how tightly you target.
Illustrative 2026 planning ranges by trade:
| Trade | Typical CPL range (illustrative) | What drives the high end |
|---|---|---|
| HVAC | $50–$150 | Summer peak bidding, emergency keywords |
| Plumbing | $50–$120 | Emergency intent, dense metro competition |
| Roofing | $100–$250 | High job value, storm-driven demand spikes |
Treat these as starting points, not gospel. A single-market shop with tight geo-targeting and a strong landing page can run well under these ranges; a shop bidding on broad terms like "AC repair" nationwide will blow past them.
The number that matters is not CPL alone. It is CPL divided by booked jobs, which is why response speed, covered later, changes the math. Check your own account terms before benchmarking: GRNDWRK terms.
How do I calculate my own cost per lead from Google Ads?
The formula
Cost per lead equals total ad spend divided by total leads. Pull spend from your Google Ads dashboard for a clean period, like the last 30 days, and count leads the same way every time: form fills, calls longer than 30 seconds, and texts. Exclude accidental clicks and spam or you'll flatter yourself.
Worked example: $4,000/mo HVAC shop
Say you spent $4,000 last month and your call tracking shows 52 real leads. That's $4,000 ÷ 52 = $76.92 per lead. If your close rate is 40%, you booked 21 jobs, so cost per booked job is $4,000 ÷ 21 = $190.48.
Run this monthly and compare it to your average ticket. A $76 CPL is fine on a $900 replacement, brutal on a $150 service call. Track leads through to booked jobs in your CRM — whether that's Jobber or Housecall Pro — and connect the pipeline to your ads with your lead response tooling (see https://www.thegrndwrk.co/integrations).
What does Google Local Service Ads cost per lead vs standard search ads?
How LSA pricing works
Local Service Ads charge per lead, not per click. Google sets a per-lead price by trade and metro, and you're only billed for leads that meet Google's dispute criteria — see Google Ads Help on Local Service Ads billing. A lead can be a phone call, a message, or a booked request, so a two-second hang-up still counts.
When LSA beats search ads
LSA wins when your close rate on inbound calls is high and your Google Ads cost per lead has crept past the local per-lead rate. You also get the Google Guaranteed badge, which lifts answer rates on after-hours calls. If you track jobs in ServiceTitan, match LSA leads to closed revenue before judging the price.
When search ads beat LSA
Search ads win on volume and control: more inventory, keyword targeting, and you can pause a campaign the same day. LSA gives you no bid control and limits lead flow to what Google surfaces. If your front desk misses calls, either channel leaks — which is why response speed matters more than the per-lead rate (see our ServiceTitan notes).
Why do two contractors in the same market pay wildly different CPLs?
Two shops bidding on the same keywords can see Google Ads cost per lead differ by 2-3x. The gap comes down to account setup, market conditions, and how relevant your business looks to Google.
Quality Score and landing pages
Google discounts your cost per click when your ad, keywords, and landing page match what the searcher typed. A dedicated page for "AC repair in Phoenix" beats sending traffic to your homepage. Shops running tight keyword themes and matching pages routinely pay less per click than competitors with the same budget.
Budget and bid strategy
A thin daily budget caps your impressions, and Google then favors advertisers it can spend more on. Manual bidding on a small account also loses to competitors using Target CPA with enough conversion data to feed it.
Review count and ad relevance
Google Ads extensions and Local Services Ads both surface review volume and ratings. A shop with 400 reviews and recent job photos looks like the safer click, which lifts click-through rate and lowers what Google charges you. Shops that have fixed this see the compounding effect documented on our customers page.
Which levers actually lower cost per lead without cutting spend?
Tighten geo and keyword match
Cut the zip codes that produce calls you can't serve and pause broad-match keywords that pull in "how to fix" searches. Tighter match types raise relevance, which raises Quality Score, and Google states that higher Ad Rank can lower your actual cost per click (Google Ads Help). Fewer wasted clicks means the same budget buys more leads.
Fix the landing page
If half your clicks bounce, you're paying for traffic twice. Send HVAC, plumbing, and roofing searches to a page with your phone number above the fold, service area, and proof you do that job. Better conversion rate on the same clicks is the cheapest CPL cut available.
Use call-only and LSA together
Call-only ads skip the landing page entirely for mobile searchers ready to dial, and LSA charges per lead, not per click. Run both alongside standard search and route everything into one response flow, whether that's your front desk or a tool like Remy at GRNDWRK. Honest caveat: none of these levers work if leads sit in voicemail.
How does slow lead response inflate your effective cost per booked job?
The cost per booked job formula
Cost per lead only matters if leads turn into booked jobs. Divide what you paid by the jobs you actually booked: $1,000 in ad spend over 11 leads is a $90 cost per lead, but if only 3 of those booked, your cost per booked job is $333. Response time is the biggest variable you control in that second number. Leads go cold fast, and the ones who never hear back are leads you already paid for.
Worked example: 47-hour response vs 60-second response
Say you get 20 leads a month at $90 each, $1,800 total. At the industry-average response time of roughly 47 hours, maybe 30% book: 6 jobs at $300 each. Respond in under 60 seconds, and a booking rate of 50% is realistic for a shop with someone or something answering immediately: 10 jobs at $180 each. Same leads, same spend, same trucks. The difference is $120 of profit per job, or $720 a month, from nothing but speed. If your average job is $400 and your close rate holds, the math gets better from there.
Where Remy fits, and where it does not
Remy answers every inbound lead in seconds, follows up until a job is booked, and works with your existing ServiceTitan, Housecall Pro, Jobber, or GoHighLevel setup. Pricing starts at $1,000/month plus a $2,500 setup, so it only pencils out if your lead flow is real. If you are a single-truck shop with 10 leads a month, answer your own phone faster first. Tools like Avoca AI, Podium, and Launch365 play in the same space, so compare them on response speed and booking outcomes, not features.
When is a high cost per lead still profitable?
CPL vs cost per booked job vs margin
A benchmark CPL means nothing without job value attached. A $150 roofing lead that books a $12,000 replacement is a bargain; a $60 HVAC lead that never gets answered is pure loss. Judge CPL against cost per booked job and the margin on that job, not against what other contractors claim they pay.
Speed is where CPL turns into booked revenue. Research from Harvard Business Review found that firms responding within an hour were dramatically more likely to qualify a lead than slower firms, and the advantage decayed within minutes, not days (The Short Life of Online Sales Leads). GRNDWRK's site cites a 47-hour industry-average response time; pull your own call logs and check yours before trusting anyone's number.
A replacement-job example
Say you pay $2,000 for 20 leads, book 4, and close 2 replacements at $11,000 each with 40% gross margin. That's $22,000 revenue, $8,800 margin, against $2,000 in ads plus roughly $1,000 in labor to work the leads. A $100 CPL looks scary until you run the math: you cleared about $5,800. The same math with one missed after-hours call and no follow-up drops you to one job, and the CPL you bragged about becomes a loss you funded.
What should you track weekly to keep CPL honest?
Four numbers, pulled every Monday from your FSM, tell you whether your google ads cost per lead is working or quietly bleeding.
Spend
Total ad dollars for the week, including LSA and any Angi or Thumbtack spend you lump in. Pull it from the same week every time so the trend means something.
Leads
Calls, forms, and texts that came from those ads. Count them at the source, not from memory. If your missed-call text-back or AI responder is catching after-hours calls, log those too — a lead you answered at 9pm still counts.
Booked jobs
How many of those leads turned into a scheduled job in ServiceTitan, Housecall Pro, or Jobber. This is the number that exposes slow response time. Ten leads and two bookings means you paid for eight voicemails.
Revenue per booked job
Average invoice value on those booked jobs. Divide weekly spend by booked jobs, then compare that cost per booked job against revenue per booked job. If a $3,000 roofing job costs you $150 to book, keep spending. If it costs $600, fix response speed before you touch the budget.