Google Ads Measurement How-To

How to Track Google Ads ROI for Home Service Companies

By Farah
Last updated July 17, 2026
7 min read

Most contractors running Google Ads can tell you their cost per lead. Almost none can tell you whether the campaign is actually profitable, because those are two different questions, and only one of them has anything to do with revenue. You are not buying leads. You are buying booked jobs. Every number in this guide exists to get you from one to the other.

To track Google Ads ROI, home service companies should measure four connected numbers: cost per lead, close rate, cost per booked job, and return on ad spend. The most important is cost per booked job, not lead volume, because leads that never book cost money without producing revenue.

Why "Leads" Is the Wrong Number to Optimize For

A lead is an inquiry. A booked job is revenue. Somewhere between those two, most home service Google Ads reporting stops measuring anything that matters, because lead volume is easy to report and cheap-looking, and cost per booked job requires actually knowing what happened after the click.

Here's why that gap is expensive. Say a campaign generates 100 leads in a month at a low cost per lead, on paper that looks like a great result. Now say only 8 of those leads actually book a job. That's not a cheap-lead campaign. It's an expensive-job campaign wearing a cheap-lead costume, and the only way to see the difference is to keep counting past the lead.

This is why the number itself, cost per booked job, needs to be the recurring measurement, not an occasional gut check. Everything else in this guide measures the gap between a lead and a job, and closing that gap is what our Booked-Job Pipeline™ is actually built around.

Call Tracking Done Right (Not Google's Default)

Google's own conversion count is a generous grader. By default, a form fill or a call that connects both count as a "conversion," whether or not that call ever became a customer, a qualified estimate, or anything resembling revenue. If you're optimizing a campaign toward Google's conversion number alone, you're optimizing toward activity, not outcomes.

Call tracking closes that gap, and it doesn't require enterprise software to do it. The basics, in plain terms:

Dynamic number insertion swaps the phone number shown to a visitor based on which campaign or keyword brought them in, so an inbound call can be traced back to the exact ad that generated it, not just "the website."

Call recording and qualification tagging lets someone, or an automated rule, mark whether a call was actually a qualified inquiry, a wrong number, a vendor call, or a no-show, so your reporting reflects real inquiries instead of every ring of the phone.

Keyword-level attribution connects a specific search term to a specific call outcome, which is what eventually lets you say "this keyword produces jobs" instead of just "this keyword produces clicks."

Most call tracking platforms handle these three basics in some form, the category matters more than any specific vendor. And honestly, this is the single most common gap we find when we audit a contractor's existing setup: the ads are fine, the tracking underneath them isn't, so nobody can actually tell what's working.

Connecting Google Ads to Your CRM So Nothing Falls Through

A conversion inside Google Ads means almost nothing on its own. It only becomes useful once it's a tracked lead in a CRM with a real outcome attached: booked, lost, or no-show. Without that step, "conversions" and "actual business results" are two separate spreadsheets that never talk to each other.

The concept is called closing the loop, and in plain English it means pushing the booking outcome back to where the ad spend originated. Instead of just knowing a keyword produced a click, you know it produced a job, which is the only version of that information a budget decision can actually use.

PPC without a CRM behind it consistently underperforms, for exactly this reason, the spend is real but the feedback loop isn't. Closing it is what our funnels and CRM system does, and it's the same infrastructure that feeds the Booked-Job Pipeline™.

The 4 Numbers Every Contractor Must Know

These aren't four separate metrics to glance at. They're a chain, and each one multiplies through to the next:

The Google Ads ROI Chain
Cost Per Lead
Spend ÷ Leads. What one inquiry costs you.
Close Rate
Booked Jobs ÷ Leads. How many inquiries become paying work.
Cost Per Booked Job
CPL ÷ Close Rate. What a JOB actually costs. The north-star number.
ROAS
Job Value ÷ Cost Per Job. The goal, with a caveat below.

Cost per booked job is the one to track daily if you only track one number. It's the metric a non-technical owner can actually compute from numbers already sitting in a CRM, cost per lead divided by close rate, and it's the number that separates a campaign that looks cheap from one that's actually working.

Cost Per Booked Job
Cost Per Booked Job = Cost Per Lead ÷ Close Rate

The honest caveat on ROAS: return on ad spend needs two things most contractors can't cleanly measure on day one, an accurate job value and revenue attribution back to the specific ad weeks after the click. Jobs close on their own timeline and revenue is lumpy, a $400 drain clear and a $14,000 install don't average into anything meaningful. Treat ROAS as the destination and cost per booked job as the number you can actually act on every week while you build toward it.

For what a reasonable cost per lead looks like by trade before you start this math, see our home service marketing benchmarks, this guide teaches the tracking, that page has the ranges.

A Simple Dashboard Even a Spreadsheet Can Handle

None of this requires a business intelligence platform. A single monthly tracker with columns a non-technical owner can maintain by hand does the job:

MonthSpendLeadsCPLBooked JobsCost / Booked JobRevenueROAS
e.g. Marchyour spendtracked countSpend ÷ Leadsfrom CRM outcomeCPL ÷ Close Rateattributed revenueRevenue ÷ Spend

The columns matter more than the tool. Spend and leads come straight from Google Ads. Booked jobs and revenue have to come from the CRM, which is exactly why the closed-loop step in the section above isn't optional, this table can't fill itself in without it. Once a few months are logged side by side, trend, not any single month, is what tells you whether a campaign is actually improving.

The Questions to Ask Your Agency (And the Answers That Should Reassure You)

You don't need to become a PPC specialist to evaluate whether your reporting is honest. You need to know what to ask for, and what a good answer sounds like.

1

"Can you show me cost per booked job, not just cost per lead?"

A reassuring answer names the number and can produce it on request. If the answer is a pivot back to lead volume or click-through rate, that's worth noticing.

2

"Is our CRM connected so booking outcomes feed back into reporting?"

A reassuring answer describes the closed loop in plain terms, which keyword or campaign produced which booked job, not just which one produced a click.

3

"Can I hear or review a sample of tracked calls?"

A reassuring answer treats this as a normal request. Call recordings and qualification tags should already exist if call tracking is actually in place.

4

"Walk me through a month where CPL went up. What happened?"

A reassuring answer is specific, seasonality, a competitor entering the market, a landing page change, not a vague reassurance that "the algorithm is learning."

Transparent reporting includes cost per booked job, a closed attribution loop, reviewable call data, and honest trend explanations. Vanity-metric reporting leans on lead volume, click-through rate, and impressions, numbers that go up even when booked jobs don't. You don't need us to tell you which is which once you know what to ask for.

Common Questions

Straight Answers, With Sources

There is no single good number, it varies by trade, market, and campaign type. Rather than chasing an industry average, calculate your own ceiling: maximum allowable cost per lead equals average job value multiplied by close rate multiplied by target profit margin. See our home service marketing benchmarks for typical ranges by trade, then run your own math against them.
Lead volume and Google's own conversion count won't tell you. Profitability requires closing the loop: knowing which leads actually booked a job, what that job was worth, and what it cost you to win it. That's cost per booked job, spend divided by booked jobs, and it's the number that separates a campaign that looks cheap from one that's actually working.
Cost per lead is what an inquiry costs you. Cost per booked job is what an inquiry costs you divided by the percentage of those inquiries that actually become paying work, cost per lead divided by close rate. A campaign with a low cost per lead but a poor close rate can have a worse cost per booked job than a campaign with a higher cost per lead and a strong close rate. Cost per booked job is the number that determines whether a campaign is actually worth running.
Yes. Google's default conversion count typically counts a form fill or a call connecting as a conversion, whether or not that call ever became a customer. Call tracking, dynamic number insertion tied to the campaign or keyword, plus recording or qualification tagging, tells you which of those calls were actually qualified and which keyword or ad produced them. Without it you're optimizing toward a number that measures activity, not results.

Free: The Lead Generation Checklist

The exact audit we run before taking on a new client — see where your site is leaking booked jobs.

Get the Checklist →

Want to know your real cost per booked job?

Get a free account audit. We'll check your tracking and pull your actual numbers.

Get a Free Account Audit →