Logo
HVAC RESEARCH DIAGNOSTIC TOOLS THE DIAGNOSTIC WHY BUILT ON TENTH THE FIELD REPORT
ORDER THE DIAGNOSTIC — $200 →
Revenue Diagnostics

HVAC Marketing Agency Report Card: How to Audit the Agency You Already Have

HVAC Marketing Agency Report Card: How to Audit the Agency You Already Have
HVAC_INTEL
FIG. DATA_SPEC

HVAC Marketing Agency Report Card: How to Audit the Agency You Already Have

AUDITOR’S OVERVIEW

The relationship between an HVAC owner and their marketing agency is often defined by a “communication gap” where the agency reports on vanity metrics (clicks, impressions) while the owner cares about cash-flow metrics (booked jobs, average ticket). Without a standardized report card, most operators are left guessing whether their $5,000 to $15,000 monthly spend is actually producing a net profit or simply subsidizing an agency’s client-retention numbers.

THE BOTTOM LINE

Transparency is an operational requirement, not a service feature. A top-quartile HVAC marketing report must bridge the gap between ad spend and the dispatch board. If your agency cannot track your “Cost Per Booked Job” or provide a clear “Search Terms” audit every 30 days, they are likely hiding structural budget leaks that are costing you 20% to 35% in wasted ROI.

This research dossier provides the 10-question diagnostic for auditing your current agency and establishes the reporting standards required to tell whether your marketing spend is actually producing booked revenue.

The Metric That Changes Everything

Cost per lead is the number most HVAC marketing agencies report. It is also the most misleading number in the relationship.

The reason it misleads: it measures the cost of generating a contact, not the cost of generating a booked job. A channel producing 80 leads at $45 each looks far more efficient than one producing 25 leads at $120 each. But if the first channel books at 28% and the second books at 70%, the booked-job economics invert completely.

Channel A: 80 leads x 28% booking rate = 22 booked jobs. Cost per booked job: $163. Channel B: 25 leads x 70% booking rate = 17.5 booked jobs. Cost per booked job: $171.

The “cheap” channel is now producing booked jobs at nearly the same cost as the “expensive” one, with five more jobs per month. That calculation changes which channel you should scale and which you should cut. Cost per lead tells you none of it.

The HVAC Cost Per Booked Job by Channel article covers how the economics compare across Google Ads, LSA, GBP, and organic for HVAC companies at different revenue scales.

Why Agencies Report the Wrong Numbers

This is not primarily a dishonesty problem. It is a structure problem.

Most marketing agencies are compensated as a percentage of ad spend, a flat monthly retainer, or both. Their revenue does not change whether the leads they generate book at 30% or 70%. That structure creates an incentive to report metrics that make spend look productive: impressions, clicks, call volume, cost per lead.

Calculating cost per booked job requires connecting ad data to booking data to completed revenue. That connection lives partly in the ad platform (which the agency controls), partly in call tracking (which may or may not be set up), and partly in your field service software (which the agency usually cannot see). Bridging that gap takes work the agency is not paid to do and produces a number that may not make the agency look good. So it does not get bridged.

Roughly 70% of HVAC companies report dissatisfaction with their marketing agencies, according to industry data. That dissatisfaction is rarely about the agency doing obviously bad things. It is almost always about a persistent inability to answer one question: is this producing revenue?

What Legitimate Monthly Reporting Looks Like

A monthly report from a legitimate HVAC marketing agency should contain these elements. This is not aspirational. These are the numbers required to tell whether your marketing spend is producing revenue.

Pass: What good reporting includes each month

Cost per booked job by channel with the calculation methodology shown. Booking rate on leads generated from their campaigns. Total jobs booked attributed to their channels. Total revenue attributed to their channels with the attribution method explained. Call volume by source. Answer rate on generated calls. 90-day trend for cost per booked job.

The distinction between passing and failing reporting is not about what information is included. It is about whether the reporting connects spend to booked jobs. A passing report makes that connection specific. A failing report presents activity metrics that could be going up while your booked-job economics deteriorate.

REVENUE DIAGNOSTICS

Is Your Agency Hiding Wasted Spend in Blended Averages?

Audit your current digital reporting against the 12 non-negotiable KPIs that reveal the true health of your lead-generation funnel.

AUDIT YOUR AGENCY REPORT →

The 10-Question Audit

Grade your current agency relationship on these 10 questions. Each is a yes or no. The consequences of each no are in brackets.

1. Can your agency tell you your cost per booked job by channel right now? Pass = yes, with a calculation you can verify. Fail = no, or “we use cost per lead.” [If fail: you cannot evaluate whether your marketing is working. Everything else in the relationship is opinion.]

2. Do you own your Google Ads account with admin access under your own credentials? Pass = yes, you can log in directly at ads.google.com. Fail = the account is in the agency’s name or you have “viewer” access only. [If fail: you cannot independently verify spend levels, campaign structure, or reported results. You also lose everything if you change agencies.]

3. Does your monthly report show booking rate on leads generated? Pass = yes, booking rate is tracked separately by channel. Fail = report shows lead volume only without booking rate. [If fail: you cannot tell whether low booked job volume is a traffic quality problem or a CSR handling problem. The agency can always blame the second without addressing the first.]

4. Do you know what happened to the last 90 days of leads the agency generated? Pass = you can trace leads to booked jobs or identify where they dropped. Fail = you know leads were generated but not what percentage became revenue. [If fail: your marketing funnel has a gap you cannot see.]

5. Is your LSA account in your name? Pass = yes. Fail = the agency manages it under their credentials. [Same consequence as Google Ads ownership above.]

6. Does your agency show you a 90-day trend for cost per booked job? Pass = yes, trend is visible and explained. Fail = monthly snapshots only without trend context. [If fail: you cannot tell whether marketing is becoming more or less efficient over time. A rising cost per booked job trend is an early warning signal most owners miss because they are looking at monthly snapshots.]

7. Has your agency told you your booking rate and why it matters? Pass = yes, and they have helped you understand whether marketing quality or CSR performance is the primary driver of any booking rate gap. Fail = booking rate has never come up in your conversations. [If fail: they are selling you traffic without caring whether it converts.]

8. Does your contract have a performance clause or defined exit conditions? Pass = yes, there are metrics defined at which either party can exit or renegotiate. Fail = fixed term with no performance accountability mechanism. [If fail: you have no leverage to demand accountability improvement and no clean exit if it does not improve.]

9. Is your marketing attribution set up to flow from ad click to call to booked job in one traceable path? Pass = call tracking is installed, connected to your scheduling system, and the agency can show you the path from click to booked job. Fail = attribution is incomplete or relies on the agency’s internal data you cannot independently verify. [If fail: all reported numbers should be treated as directional, not definitive.]

10. Has your agency told you something was not working and recommended cutting it? Pass = yes, they have recommended reducing spend on an underperforming channel. Fail = every recommendation from the agency has involved more spend. [If fail: the agency may be managing for their margin, not your profitability. An agency whose only tool is more budget is not analyzing your business.]

Scoring Your Agency

8 to 10 passes: Your agency is operating with accountability. If your cost per booked job is inside a healthy range, keep the relationship and use these standards as ongoing expectations.

5 to 7 passes: There are gaps in accountability that are costing you either money or visibility into your marketing performance. Identify the specific fails and bring them as a direct conversation with your agency before deciding whether to continue.

Below 5 passes: You are spending money on marketing without the measurement infrastructure to know whether it is working. This is a structural problem. Either the agency needs to build the reporting and attribution infrastructure within 30 days, or the relationship needs to change.

The Agency Report Card tool runs a version of this audit in about five minutes and produces a letter grade with the specific consequences of each gap.

What to Do This Week

Ask your agency for cost per booked job by channel for the last 90 days. Not cost per lead. If they cannot produce it within one business day, the measurement infrastructure is not in place. That is your first data point.

Log into Google Ads at ads.google.com with your own credentials. If you do not have credentials that give you admin access, you do not own the account.

Pull your booking rate on paid leads for the last 90 days. Take the call volume your agency attributes to their campaigns. Compare it to jobs actually booked in your scheduling system from those sources. If you cannot calculate it because attribution is not connected, that is also a data point.

MARKET BENCHMARK

Audit Your Agency's 'Actual' Performance

Translate complex agency reports into plain-English numbers to verify if your ads are actually driving profit.

GRADE YOUR AGENCY →

Run the Agency Report Card. Ten questions, five minutes, letter grade with consequence explanations for every gap.


Frequently Asked Questions

What should my HVAC marketing agency report every month?

At minimum: cost per booked job by channel, booking rate on leads generated, total revenue attributed to marketing by channel, call volume by source, and 90-day trend for each metric. Impressions, clicks, and cost per lead are inputs that show channel activity but not whether that activity produced revenue.

How do I know if my HVAC marketing agency is actually producing results?

Calculate cost per booked job from the data your agency provides. If you can, compare it against 10% to 15% of your average ticket as a rough threshold. If you cannot calculate it because the attribution data does not exist, your agency is not giving you what you need to answer the question and that is itself an answer.

What is the clearest sign my HVAC marketing agency is underperforming?

They cannot tell you your cost per booked job. That requires connecting ad data to booking data, a straightforward integration any agency committed to accountability sets up in the first 30 days. Agencies that report cost per lead without cost per booked job are either missing the infrastructure or reporting the metric that makes their work look better than it is.

Should I fire my HVAC marketing agency?

Not without running the numbers first. The question is not whether the agency is “good” in the abstract. It is whether your current cost per booked job by channel is producing revenue at an acceptable level. An agency producing booked jobs at $140 on a $1,800 average service ticket is working. One producing them at $680 is not, regardless of what the impressions report shows.

Why does my agency only report cost per lead instead of cost per booked job?

Three reasons in order of frequency. First, call tracking is not connected to the scheduling system so the agency genuinely cannot calculate it without your help. Second, the agency reports standard activity metrics because most clients accept them without pushing for revenue-level accountability. Third, cost per booked job would reveal underperformance that cost per lead obscures. The fix for the first two is a technical integration that takes a few days. The fix for the third is a different conversation about what your relationship is actually structured to measure.


Built on Tenth is an independent HVAC market intelligence firm providing objective, data-backed diagnostic reporting for HVAC operators. We do not sell advertising, accept referral fees, or offer marketing agency retainers. Our loyalty is strictly to the data.

RELATED MARKET RESEARCH
Built on Tenth Article image
Revenue Diagnostics

HVAC Benchmarks 2026 — The 8 Key Performance Indicators Every Owner Should Know

Eight numbers that tell you whether your HVAC business is performing or just busy. From revenue per technician to map pack position, here is where each benchmark sits and what it signals.

DATE: 2026-03-29 READ →
Built on Tenth Article image
Revenue Diagnostics

HVAC Close Rate Benchmarks — Service Calls, Estimates, and Replacements

A tune-up close rate of 98% and a replacement close rate of 35% can both be true at the same company. One looks fine. The other is leaving 50-65% of replacement revenue on the table. Most owners track one blended number and miss both signals.

DATE: 2026-03-29 READ →
The Next Step

Stop Guessing. See Your Exact Market.

The Market Diagnostic shows who is outranking you, what they are doing differently, and exactly what that gap is costing you in missed calls.

Order The Full Diagnostic — $200 →