Tracking and attribution for home service companies: from the first call to the booked job
Key takeaways
- Google and Meta each count their own conversions. Added up, they claim more leads than you had calls.
- Spend on the booked job and its revenue, traced back to the source that won it.
- Every call gets an outcome tag. Every booked job carries its source into your CRM.
Say you spent $12,000 on ads last month. $7,000 on Google, $5,000 on Meta.
Google Ads reports 140 conversions. Meta reports 95.
That adds up to 235 conversions.
Your CSRs booked 88 jobs.

Both platforms are following their own rules. Google counts a call once it runs past a length set in the account. Meta counts anyone who clicked or saw an ad within its window, even if that homeowner also clicked a Google ad. One homeowner gets counted twice. A wrong number gets counted once.
Then the monthly meeting happens. The Google agency shows 140. The Meta agency shows 95. Both ask for more budget.
You have no way to tell which one booked your jobs. So you decide by feel, or you cut the one whose rep you like less.
Count the booked job
A lead is a phone call. A booked job is a homeowner on your schedule. A sold job is money in the bank.
Your budget should follow the last two. Everything before them is a clue.
Here is what that changes. Say Google drove 60 of the 88 booked jobs and Meta drove 28. At $7,000 and $5,000, that is about $117 per booked job on Google and $179 on Meta.
Now add revenue. If Meta's jobs were system replacements and Google's were mostly $89 tune-ups, the order can flip. You only see that if the source stays attached to the job all the way to the invoice.
The excuse: "My agency handles tracking"
Your agency tracks what it is paid to improve. The Google agency tracks Google. The Meta agency tracks Meta.
Nobody's job is to track your booked jobs across both.
That job belongs to you, or to the person you hire to own it. Once it is set up, it is a habit more than a technical project.
How to set it up
- Give every source its own phone number. Use call tracking with dynamic number insertion on your website, so a visitor from Google Ads sees a different number than a visitor from Meta or from your Google Business Profile.
- Send the source into your CRM. Whether you run GoHighLevel, ServiceTitan or another system, each new call or form should create a record with the source, campaign and keyword already filled in.
- Tag every call with an outcome. Booked, price shopper, existing customer, wrong number, out of area. The CSR picks one at the end of the call. A manager spot-checks 20 calls a week.

- Attach revenue to the job. When a job is sold and invoiced, the amount lands on the same record. Now you can see revenue by source.
- Send booked jobs back to the ad platforms. Google Ads and Meta both accept offline conversions. Feed them booked and sold jobs, so they hunt for homeowners like your best customers instead of more phone calls.

Then report one table every week: spend, booked jobs, cost per booked job and sold revenue, by source.
My team and I helped a home service business grow from 1 location to 11, and today it franchises. You can't copy a business into new markets until you know which marketing books its jobs.
Frequently asked questions.
What is the best way to track marketing for a home service business?
Give each source its own tracking number, send the source into your CRM with every new call or form, tag each call with an outcome, and attach invoiced revenue to the same record. Then judge each channel on cost per booked job and revenue per source, instead of the conversions each ad platform reports.
Why don't Google Ads and Meta conversions match my booked jobs?
Each platform counts by its own rules. Google counts calls and forms based on settings in the account, and Meta credits people who clicked or saw an ad within its attribution window. The same homeowner can be counted by both, and calls that never book still count. Your CRM is the only place that sees the booked job.
Can call tracking connect to ServiceTitan or GoHighLevel?
Yes. GoHighLevel can issue tracking numbers itself, and the major call tracking tools connect to both systems. What matters is that the source, campaign and keyword land on the customer and job record, so the booked job and its invoice can be traced back to the marketing that won it.



