Skip to content

How HVAC marketing agencies charge, and what each fee model pays them to recommend

On $15,000 a month of ad spend, a 10%–20% fee comes to $1,500–$3,000 a month. Each fee model also pays the agency to recommend something different.

TL;DR

  • WebFX's published pricing page puts typical agency management fees at 10% to 20% of ad spend, or about $1,000 to $3,000 a month. On $15,000 a month of ad spend, 10% to 20% is $1,500 to $3,000 a month, or $18,000 to $36,000 a year. Fees come as a percentage of spend, a flat monthly fee or a price per lead.
  • A flat fee and a percentage cost the same at exactly one spend level: the flat fee divided by the percentage. A $2,000 flat fee equals 10% at $20,000 of spend and 20% at $10,000. Below that point the percentage is cheaper; above it, the flat fee is.
  • A percentage fee pays the agency more when you spend more. A per-lead fee pays it more when leads get cheaper and more numerous, whether or not they book.
  • A flat fee pays for neither. It also doesn't rise when the work does, so its failure mode is an agency that does less as your account grows.
  • Before comparing quotes, work out your fee at today's spend and at 50% more. The difference is what a "raise the budget" recommendation is worth to the agency.

The three ways agencies bill

A percentage of ad spend. The fee is a share of what you pay Google, Meta or both each month. WebFX's own pricing page says management fees "typically range from 10% to 20% of your ad spend for most agencies with fees usually decreasing as your total spend increases."

A flat monthly fee. The same fee whatever you spend. Some agencies run a hybrid: flat up to a spend threshold, a percentage above it.

A price per lead. This comes in two versions. In the first, you pay Google for the ads and pay the agency an extra amount for each lead. In the second, the agency buys the ads itself and sells you the leads at a set price. WebFX's page describes performance-based pricing as paying for PPC services "when a specific performance metric is reached from your campaign, like clicks, website traffic, or leads."

Two agencies that publish their own prices, as their pages read on September 24, 2026:

Agency pageWhat it says
WebFX, PPC pricingIts own PPC services: "Starting at $750/month". The market, in its words: "Typically 10% – 20% of your ad spend or around $1,000 to $3,000 per month"
Emprise Digital, pricingGoogle Ads: "$1,000/mo + ad spend" and a "$2,000 one-time build fee", then "10% of ad spend once your monthly spend tops $10,000", which "replaces the flat $1,000". Home services ("Local Services Ads plus paid search for one trade in one service area"): "$1,500/mo + ad spend", and per the page's FAQ this line stays flat rather than switching to 10%

Those are the only real prices in this article. We did not survey the market, and the rest of the numbers below are arithmetic you can redo with your own quotes.

What each model costs at your spend

Monthly agency fee, not counting the ad spend itself:

Monthly ad spend$5,000$10,000$15,000$20,000$30,000
10% of spend$500$1,000$1,500$2,000$3,000
15% of spend$750$1,500$2,250$3,000$4,500
20% of spend$1,000$2,000$3,000$4,000$6,000
Flat fee, $2,000 (illustration)$2,000$2,000$2,000$2,000$2,000
Flat $2,000 as a share of spend40%20%13.3%10%6.7%
Per lead, $15 a lead (illustration)$750$1,500$2,250$3,000$4,500

How to read the two illustrated rows:

  • The flat fee is $2,000 because that is the middle of the $1,000–$3,000 range on WebFX's page. Lonta AI, which publishes this blog, charges a flat fee; using its price here would tilt the table toward its own model.
  • The per-lead row assumes the ad platform charges you $100 per lead and the agency adds $15 for each one. Neither is a market price. The formula is what matters: agency fee = (ad spend ÷ platform cost per lead) × price per lead.

Two things fall out of the table. A flat fee is the most expensive option at low spend: $2,000 on $5,000 of ads is 40% of spend. And the per-lead row matches the 15% row exactly, because at a steady cost per lead a per-lead fee works like a percentage of spend: $15 on a $100 lead is 15%. The difference shows up when the cost per lead moves, which is the per-lead section below.

Over a year the gaps get large: at $30,000 a month, 20% is $72,000 a year against $24,000 for a $2,000 flat fee.

Where the lines cross

A flat fee and a percentage cost the same at one spend level:

breakeven spend = flat fee ÷ percentage

Flat feevs 10%vs 15%vs 20%
$1,000$10,000$6,667$5,000
$2,000$20,000$13,333$10,000
$3,000$30,000$20,000$15,000

Below the breakeven the percentage costs less. Above it, the flat fee does. If you spend $15,000 a month and have one quote at 15% and another at a flat $2,000, the breakeven is $13,333 and you are above it: the flat quote is $250 a month cheaper today, and the gap widens with every dollar you add.

A hybrid price can write the breakeven into the contract. On its general Google Ads line, Emprise's published switch from $1,000 flat to 10% happens at $10,000 of spend, which is exactly where those two prices meet, so the fee doesn't jump at the switch. Above it, the fee behaves like any percentage.

What a percentage of spend pays the agency to recommend

It pays for more spend. Each extra $1,000 of ad spend adds $100 to $200 to a 10%–20% fee. At 15%, taking you from $10,000 to $15,000 a month is worth $750 a month to the agency, $9,000 a year, from one conversation.

The recommendations that cost the agency money are the ones an owner often needs: pause the campaign that books no jobs, pull the ad radius in to the distance your techs actually drive, spend less in July when the board is already full. Under a percentage fee, each of those is a pay cut for the person making the call.

None of this makes a percentage agency dishonest. It means a budget recommendation from one can't be taken at face value. Ask for the booked and sold jobs behind it, not the lead count.

The fair case for a percentage is that the work grows with the account: more campaigns, more search terms to read, more places for money to leak. Our read is that the work grows with campaigns, trades and locations more than with dollars. Doubling the budget on the same three campaigns doesn't double the hours.

Two questions for any percentage quote:

  • Which spend counts? Google Search only, or Local Services Ads, Meta and Microsoft Ads too. A 15% fee on every channel is a different number from 15% on one.
  • Who pays the platforms? If Google bills your card directly, you see the real spend. If the agency invoices you for "media", ask for the platform's own invoice.

What a per-lead fee pays the agency to recommend

It pays for the cheapest leads. Here is the same $10,000 of spend at the same $15 a lead, with three different platform costs per lead:

Platform cost per lead$150$100$60
Leads a monthabout 67100about 167
Agency fee$1,000$1,500$2,500
Fee as a share of spend10%15%25%

All figures illustrative. The fee rises as leads get cheaper, at the same spend. Nothing in the formula checks whether a lead booked a call or turned into a sold job, so the agency is paid most for whatever produces the most leads per dollar.

That makes the contract's definition of a billable lead the whole deal. Get it in writing: the minimum call length, whether repeat callers and existing customers count, what happens to spam forms, calls from outside your service area, and calls for a trade you don't sell. The same problem sits inside every lead report, fee or no fee: cost per lead is the wrong number for a company that gets paid per sold job.

In the second version, where the agency buys the ads and sells you leads, you also can't see the margin: the gap between what the agency pays per lead and what it charges you. Here the ad account is the agency's, so its history stays with the agency, and the phone number in the ads may be theirs too. When you stop paying, the leads stop and nothing stays with you. Checking who owns your Google Ads account covers what to look for.

What a flat fee pays for, and how it fails

Neither more spend nor more leads changes a flat fee. "Spend less here" and "turn this off" cost the agency nothing to say, so its budget advice isn't tied to its income.

The flat fee has its own risk, and it's the mirror image of the percentage. The fee doesn't rise when the work does: a second trade, a second location, peak season, a new channel. An agency on a flat fee makes the most by doing the least that keeps you from leaving. The signs are search terms nobody has read in weeks, the same ads all year, and a monthly report that looks like last month's with the numbers changed.

Three contract terms limit that risk:

  • A short notice period. If you can leave any month, the fee has to be earned every month. On a 12-month term, the agency is paid for month eight whether or not it works on your account in month eight.
  • The work in writing. What gets done every week, and a dated record of the changes made in your account that you can read without asking.
  • A fee sized to your spend. Check the flat quote against the breakeven table above before signing.

What this doesn't cover

  • Which model gets better results. The fee model sets what the agency is paid to recommend. It says nothing about whether the people doing the work are good, and we have no data comparing outcomes across fee models.
  • The rest of the contract. Setup and build fees, term length, performance bonuses, revenue shares and markups on media all change the total. The one build fee quoted here, $2,000, is from a single published page.
  • Market prices. Two agencies' pages are quoted. The per-lead prices and the $2,000 flat fee are illustrations, not averages.

Do this before your next agency conversation

  1. Find your fee formula in the contract. Percentage, minimum fee, tiers, setup fee, and which channels' spend counts toward it.
  2. Price the next recommendation. Work out the fee at today's spend and at 50% more. Multiply the difference by 12. That is what "raise the budget" is worth to the agency per year.
  3. Find your breakeven. Flat quote ÷ percentage. If your spend is above that number, the flat quote is cheaper today.
  4. If you pay per lead, audit 20 billed leads. Match them against your call log or CRM: how many booked, how many were existing customers, spam, out of area or the wrong trade.
  5. Check who pays Google. Your card on your own account, or the agency's invoice. If it's the invoice, ask for the platform's.
  6. If you pay a flat fee, get the weekly work in writing and the notice period you can leave on. What to secure before you give notice is covered separately.

FAQ

How much do HVAC marketing agencies charge? WebFX's pricing page puts typical management fees at 10% to 20% of ad spend or about $1,000 to $3,000 a month. On $15,000 of monthly spend, 10% to 20% is $1,500 to $3,000 a month, before setup fees.

Is 10% of ad spend a normal Google Ads management fee? It is the bottom of the 10%–20% range WebFX's page gives. Whether it's cheap depends on your spend: 10% of $30,000 is $3,000 a month, the top of the $1,000 to $3,000 monthly range on the same page.

Is a flat fee cheaper than a percentage of ad spend? Above the breakeven spend, yes. The breakeven is the flat fee divided by the percentage, so a $2,000 flat fee is cheaper than 15% once you spend more than $13,333 a month. Below the breakeven, the percentage is cheaper.

Should a home services company pay per lead? Only with a written definition of a billable lead and a way to check each one against your call log. If the agency buys the ads itself, you keep no account or history when you leave.

Does the agency fee include the ad spend? It shouldn't. The fee pays the agency; the ad spend pays Google or Meta. Both published price pages quoted here treat ad spend as separate from the management fee.

Sources

Request your free strategy

One page, five details, no card and no call.

Would rather talk it through? Ask for a callback on the form and pick a window. The person who would run your account calls you, not a salesperson.

This sets the testing pace. There is no minimum.

A good callback window or the first problem you want us to look at

No card and no call. Read-only access only.