Three Agencies. All Reporting Green. Here’s What We Actually Found.
A contractor was spending $20,000 a month on marketing. Three vendors. Every one of them sending monthly reports. All three reports looked fine. Leads were up. Conversions were strong. Performance was on track.
When we got into the accounts, here’s what we found.
16,962 tracked conversions. 22 were actual phone calls.
What Those Numbers Mean
The remaining 16,940 “conversions” were things like someone clicking a button on the website, someone visiting two pages in a row, someone scrolling past 50% of a page. These counted as conversions in the dashboards. They went into the reports. The reports showed strong numbers. Nobody asked what a conversion actually was.
This is not an edge case. This is how most home service marketing accounts are configured. The default GA4 setup counts engagement events as conversions unless someone deliberately builds it differently. Most agencies do not rebuild it. The standard setup produces impressive-looking numbers. Impressive numbers justify the invoice.
The Angi Problem
The second finding: $7,783 going to Angi every month.
Angi sells the same lead to multiple contractors. The contractor was paying for leads they were competing for with three other companies at the same moment. When a homeowner submits a request on Angi, that request goes to four or five contractors simultaneously. The first one to call has an advantage. Everyone pays the same lead price regardless of outcome.
The close rate on Angi leads is typically much lower than inbound leads, but the cost-per-lead looks similar in the report. When you calculate cost-per-booked-job instead of cost-per-lead, Angi often costs three to four times what the monthly invoice suggests. That math was not in any of the three reports. The line item on the report just said leads delivered.
265 Pages Not Indexed
The third finding: 265 pages on the website not indexed by Google. The contractor had been paying for SEO for over a year. The SEO agency had been building pages. The pages existed. Google didn’t know about them.
The agency’s report showed deliverables completed. It showed pages published, word counts hit, internal links added. Work done. Nobody had checked whether Google had actually crawled and indexed the pages. Running a quick report in Google Search Console would have surfaced this in five minutes. It had not been run. Or if it had been run, the results had not been acted on and had not made it into the report.
The Same Root Cause Behind All Three
Each finding came from the same structural problem. The vendors were managing their own channels and reporting their own metrics. The SEO agency reported on SEO metrics. The paid ads agency reported on paid ads metrics. The lead gen vendor reported on leads delivered. Nobody was looking at the full picture. Nobody was asking what this is producing in booked jobs.
Each vendor had a clean dashboard. The combined picture was a mess. Three green reports. No clear answer on what $20,000 a month was actually producing in revenue.
What Gets Reported vs. What Actually Matters
Here is the gap in plain terms:
- What gets reported: impressions, clicks, conversion events, deliverables completed, leads delivered
- What actually matters: inbound phone calls, booking rate, cost per booked job, revenue per dollar spent
Agencies optimize for the metrics they can influence. Those metrics live inside the platforms they manage. They cannot easily pull your ServiceTitan data or your booking rate from your CRM. So they report on what they can see. What they can see is not always what moves your business.
How to Spot This in Your Own Business
If your agency’s monthly report shows “conversions” as a headline number, ask them to define what a conversion is. Ask them to break down how many of those conversions became phone calls. If they can’t give you that number, you don’t have a real metric, you have a dashboard reading.
Ask for cost-per-booked-job. If they can’t calculate it, they are not measuring the right thing. Not because they are being dishonest, but because cost-per-booked-job requires data from your CRM that they almost certainly do not have access to. That gap is the problem.
The next thing to check is your Angi and lead gen spend. Pull the number of leads delivered, the number of jobs you actually booked from those leads, and divide. That is your actual cost per booked job. Compare it to what you are paying per booked job from LSA or organic. The difference is usually significant.
For SEO, go into Google Search Console and pull the Coverage report. Look at the Excluded and Error tabs. If you have hundreds of pages not indexed and your SEO agency has not mentioned this, ask why.
What the 30-Day Engagement Looks Like
The engagement starts with pulling all of this apart. We go into every account, look at every metric definition, and translate it into actual revenue terms. We connect marketing spend to booked jobs wherever the data allows. We surface what is producing and what is not.
Usually within the first two weeks we find something nobody knew about. Sometimes it’s a dead phone number. Sometimes it’s 16,000 fake conversions. Sometimes it’s a year of SEO work sitting invisible to Google.
If you want to know what your marketing is actually producing before you spend another month at the same rate, start here.
13 years building Balanced Comfort Heating & Air from startup to 130+ employees. 4x Inc 5000 (2020–2023). CA Licensed Contractor B, C-2, C-20, C-36. Now working with 10 home service companies at a time as a growth operator and Fractional CMO.
About AaronWant an operator’s read on your marketing?
Tell me what you’re spending. I’ll tell you what it’s actually producing.