Free: the 90-second Leak Check. No email.Take it

Inside the Black Box · Part 1 of 11

The report looked great. Where are the jobs?

Your agency's monthly report is full of green arrows. Here's how to read it, what's missing, and the one number it should contain but doesn't.

It's the first week of the month. The PDF lands in your inbox. Forty-two pages.

Impressions up 31%. Click-through rate up. "Leads: 118." Green arrows down the right side like a stock chart in a good year.

You read it in the truck between jobs. Then you open your scheduling software and try to find the 118.

You can't. Not because they aren't there — some of them probably are — but because nothing in those 42 pages connects to anything in your business. The report measures what the vendor does. It does not measure what your money did.

This is the first thing to understand about the Black Box: it reports what it wants you to see. Not lies. Just the wrong numbers, arranged to look like the right ones.

What each number actually means

Take the standard report apart, metric by metric, and say plainly what each one counts.

The report saysWhat it actually countsWhat it tells you about jobs
ImpressionsTimes Google or Meta displayed something with your name on itNothing
ClicksTimes someone tapped itNothing — tappers include competitors, bots, and people who bounced in two seconds
CTRClicks ÷ impressionsHow good the ad text is at getting taps. Still nothing about jobs
CPCWhat you paid per tapCost of a thing that isn't a job
"Leads"Form fills + phone calls, usually any call over 30 secondsSome of these are jobs. Also: spam, the guy asking for directions, a supplier, a tire-kicker, an existing customer calling about their invoice
Cost per leadSpend ÷ the number aboveCost of a bucket that mixes a $12,000 system replacement with a wrong number

None of these are fake. All of them are upstream of the only thing you care about: did the phone ring with a person who booked, and what was the job worth?

The one row that isn't there

Here's the row a report should have. Write it on the back of yours if you have to.

Spend → Calls → Booked jobs → Revenue → Cost per booked job

Your report had 118 "leads." Here's a smaller, cleaner month for a mid-size HVAC company, so the math fits on one screen:

ItemItem
Spend$6,000
Calls + forms41
Qualified (real customer, in service area)28
Booked19
Revenue from those 19$29,220
Cost per booked job$316
Return on spend4.9×

Now split the 19:

Job typeCountAvg ticketWhich campaign
Tune-up / maintenance13$189"AC tune-up special"
Repair4$740Brand search
System replacement2$11,900"AC replacement financing"

Look at what that split does. The tune-up campaign generated the most "leads" — it would be the star of the 42-page report. The replacement campaign generated two. But those two are half the revenue, and the ad that produced them is probably underfunded because, by the vendor's metrics, it "performs worse."

The report with 118 leads in it can't tell you this. A report with the row above tells you in ten seconds.

Why the box stays closed

Give the vendor the benefit of the doubt for a second. Building the real row is harder. It needs call tracking that records outcomes, not just durations. It needs someone to mark calls as booked or not. It needs your job values — which means the agency has to ask you for them, every month, and actually use them.

But that's a week of setup, once. It isn't the reason.

The reason is that a report showing cost per booked job would also show the months when it's bad. A report showing impressions never has a bad month — there are always more impressions. The Black Box stays closed because opening it creates accountability, and accountability is the thing the model is built to avoid.

An agency that's confident in its work wants you to see the row. One that isn't wants you to see the arrows.

“I'm paying people to tell me things I can't check.”

— every owner we've ever asked about their report

Not just HVAC

The same trick, different verticals:

Every one of these is the same move: report the number that goes up, hide the number that pays the bills.

What to do with this month's report

You don't need new software to start. Do this with the report you already have:

  1. Find the "leads" number. Ask the agency for the list behind it — every call and form, with timestamps and recordings.
  2. Mark each one yourself. Booked / not booked / not a customer. Takes 30 minutes for 100 leads.
  3. Add job values to the booked ones from your own system.
  4. Divide. Spend ÷ booked = cost per booked job. Revenue ÷ spend = real return.
  5. Send it back. "Here's the row I need at the top of next month's report." Watch what happens.

If they build it, good — you've just opened the box. If they can't, or won't, or explain why impressions are really the thing to watch, you've learned what the 42 pages were for.

The two-minute version

If you'd rather not do the spreadsheet, the Leak Check asks three questions — can you tie spend to booked jobs, do you own your accounts, how fast does a lead get a human — and scores where the money is leaking. No email required to see the score.

Run the Leak Check


Sources & notes
  • Google Ads Help: impressions, clicks, and conversion definitions
  • FTC v. HomeAdvisor (2023 order) — lead-quality claims
  • Google Local Services Ads Help: ranking factors, response time
  • Worked numbers are synthetic composites, not client data.