Google Ads says 40 leads this month. Meta says 35. Add them up and you should have been run off your feet. You booked maybe 25 jobs, and a few of those came from a neighbour's recommendation. So which platform is wrong?
None of them, by their own rules. The trouble is that each one writes its own rules, and every set of rules gives the platform credit.
How each platform counts
An ad platform sees what happens around its own ads. When someone clicks an ad, or in some cases only sees one, and then fills in a form or calls within a set number of days, the platform counts a lead. Meta's standard setting counts a result up to 7 days after a click or 1 day after a view. Google Ads counts up to 30 days after a click by default.
No platform can see what the others did. Take a homeowner with a leaking water heater. She sees your video on Meta on Sunday, searches your name on Monday, clicks your Google ad and books a visit. Meta counts her. Google counts her. You got one job.
Repeat that across a busy season and the platform totals drift a long way from your calendar.
What the gap looks like
Here is a sample: Northgate Plumbing and Drain, running Google Ads, Meta and TikTok Ads over the last 90 days.
- Google Ads claimed 258 jobs.
- Meta claimed 285 jobs.
- TikTok Ads claimed 51 jobs.
That is 594 jobs by the platforms' count. The ads booked 120. Each platform is reporting accurately by its own rules, and together they describe a business nearly five times busier than the real one.
Add up what every platform claims and you served more customers than you did.
Double counting is only part of it. Platforms also count things that never become work: a form with a wrong number, a call that hangs up after ten seconds, a quote request from someone three towns over. In the ad dashboard those look the same as a paying customer.
Start from the booking, not the click
The number you can trust is already in your own records: the jobs you booked. It lives in your booking tool, such as Jobber, ServiceTitan or Housecall Pro, not in any ad dashboard.
So flip the question. Instead of asking each platform how many leads it sent, start with each booked job and ask which ad, if any, started it. A job can only be counted once, so the totals can't add up to more work than you did.
That is how Dira counts. It reads your bookings, matches each job to the lead that started it, and gives the job to one platform. Where a lead form, a click or a tracked call ties the job to an ad, Dira marks it as matched exactly. Where the trail is incomplete, Dira estimates where the job came from and labels it as estimated, so you know which is which. Jobs with no ad behind them, like walk-ins and word of mouth, stay out of the ad totals. In the Northgate sample, 20 of 140 jobs came from no ad at all.
One honest number: cost per booked job
Once every job belongs to one platform, the useful number follows: what you spent on a platform, divided by the jobs it booked.
For Northgate, over the same 90 days:
- Google Ads: $8,515 spent, 65 jobs booked, $131 a job.
- Meta: $10,300 spent, 50 jobs booked, $206 a job.
- TikTok Ads: $2,330 spent, 5 jobs booked, too few jobs to price.
Meta claimed the most jobs and booked them at the highest price. Without the booking side you would miss that, because by Meta's own count it is the busiest platform Northgate runs.
What to do this week
You can check this by hand in an afternoon.
- Pick last month. Write down the leads each platform claims for it.
- Count the jobs you booked that month that started with an ad. If you don't already ask new customers how they found you, start today.
- Divide each platform's spend by the jobs you can credit to it.
If the platforms' total is well above your job count, you have found the gap. If one platform looks strong in its dashboard and weak on your calendar, you have found where money is leaking.
What Dira does with it
Doing that by hand every month is where most owners stop. Dira does it every day. Connect your ad accounts and your bookings, and your Ad Report shows what each platform claimed, what it booked and what one booked job cost. It works with one platform as well as several.
Dira also sends your booked jobs back to each platform, so Google Ads and Meta learn which leads turned into work and bid for more like them. Run two or more platforms and Dira ranks them by cost per booked job, then tells you when the ranking changes.

