Growing Your Business

Marketing Budget Benchmarks by Trade: What $1M to $5M Companies Spend

Marketing budget benchmarks by trade: real spend and cost per lead ranges for roofing, HVAC, plumbing and more, and how to tell if yours is working.

Marketing Budget Benchmarks by Trade: What $1M to $5M Companies Spend

Real marketing budget benchmarks by trade run from about $45 per lead for a pool company to $228 per lead for a roofer, on the exact same platform in the exact same year. That five-to-one spread is why "spend 7 percent of revenue" tells a $1M to $5M contractor almost nothing.

Every truck on your lot has a fuel gauge, and every one of them reads the same way. Half a tank. Quarter tank. The needle doesn't care that the little van holds 16 gallons and the dump truck holds 50. Half a tank means two very different days of work depending on which key you grabbed.

Marketing percentages work the same way. Somebody hands you "7 percent" like it's a reading, you nod, and you set your marketing budget by it. It means nothing until you know what you're driving. So let's put the actual per-trade numbers on the table and figure out what your needle is really saying.

Marketing budget benchmarks by trade, on one table

These come from LocaliQ's 2025 home services search benchmarks, built from 3,211 US search campaigns running April 2024 through March 2025, with at least 103 active campaigns behind every category. They're medians, not averages, which is the honest way to publish this stuff. The blended home services cost per lead was $90.92.

TradeCost per leadConversion rate
Pools & spas$45.1510.89%
Cleaning / maid services$46.9917.65%
Handyman$54.0513.45%
Electrical$93.699.08%
Landscaping$117.926.42%
AC install & repair$127.746.56%
Heating & furnaces$129.027.48%
Plumbing$129.027.63%
Painting$138.3810.80%
General contracting$165.672.61%
Doors & windows$200.344.41%
Roofing & gutters$228.153.70%

One trade I get asked about constantly isn't on there: pest control. It isn't broken out in the current dataset, and the last home services set I trust that did include it is several years stale now. So if somebody quotes you a pest control cost per lead, treat it as directional and go measure your own. Same goes for restoration, garage doors, and fencing.

Why roofing costs five times what a pool guy pays

Look at roofing and pools again. $228.15 against $45.15. Five to one, same platform, same twelve months.

Ticket size drives most of it. A reroof is a five-figure job, so a roofer can rationally bid a click price that would flatten a pool cleaner, and every roofer in the metro does exactly that. Then look at the conversion column: roofing converts at 3.70 percent while cleaning converts at 17.65 percent. Expensive clicks AND a stingy conversion rate is how you get to $228.

Urgency matters too. Nobody shops around at 11pm with water coming through the ceiling, which is part of why plumbing converts better than general contracting by a mile. And the whole category got harder, not easier: LocaliQ found cost per lead rose for 69 percent of home services advertisers, up 10.51 percent year over year.

Same $10,000 month, four very different tanks
213leads for a cleaning company at $46.99
107for an electrician at $93.69
77for a plumber at $129.02
44for a roofer at $228.15
Four owners, identical budget, identical "benchmark." One gets five times the leads. The needle said the same thing to all of them.

The 7.7 percent rule came from companies 500 times your size

Here's the part that bugs me. That percent-of-revenue figure everybody repeats has a source, and the source is not your industry.

Gartner's annual CMO survey puts marketing at 7.7 percent of company revenue, flat from the year before. Real number, good survey. But it polled roughly 400 marketing executives, largely at companies doing over a billion dollars a year. A $2M plumbing shop is 1/500th that size. Those companies buy brand awareness across a continent. You're trying to get the phone to ring in four zip codes by Thursday.

I'm not telling you percentages are useless. They're a fine sanity check, and my partner post on how much a contractor should spend on marketing walks the range by revenue tier if that's what you came for. I'm telling you a percentage is a gauge reading borrowed off somebody else's dashboard.

A flat percentage breaks worst in the trades that need it most

Two kinds of contractor get their marketing budget wrecked by it specifically.

Seasonal trades. Take annual revenue, multiply by 7 percent, divide by 12, spend that every month. Sounds tidy. Now you're a heating company spending the same in July as in November. You bought leads nobody wanted in the summer, then went underfunded during the eight weeks that make your year. I've watched a lot of owners do this and call it discipline.

High-ticket trades. When a lead costs $228 and converts at 3.70 percent, a percentage-based budget can be too small to buy a statistically real month. Forty-four leads is a sample size, not a machine. You either commit enough to learn something or you're paying tuition every month and never graduating.

Flat 7 percent, split by 12

The same reading all year

Full spend in the dead months, same spend in the weeks that pay your year. Tidy on a spreadsheet, expensive in a driveway.

Same annual dollars, aimed

Spend that leads the season

Budget climbs a few weeks BEFORE the phones do, then holds a floor in the quiet months so your rankings and reviews don't reset. Same total, better range.

That floor in the off-season is the piece owners cut first and regret hardest. I dug into the whole rhythm in the post on seasonal marketing, so I'll leave it at this: the quiet months are when the compounding stuff gets built cheap.

The same trades look different on Local Services Ads

Change the channel and the needle moves again. SearchLight's LSA benchmark tracked $6.72M in Local Services Ads spend across 888 contractors and 126,650 leads as of February 2026. Blended cost per lead: $53.

TradeLSA cost per leadBook rateAverage ticket
Electrical$3943.4%$1,434
HVAC$5144.0%$2,110
Plumbing$5744.5%$1,714
Drain & sewer$5939.5%$1,521
Blended, all trades$5343.9%$1,826

Plumbing at $57 on LSAs against $129.02 on search ads is the same trade, the same month, two different gauges. Neither one is lying. They're measuring different tanks, which is why Local Services Ads deserve their own conversation rather than a line item in your percentage.

What the benchmark looks like after somebody actually signs

Now the part that decides everything. A lead isn't a job. In that same LSA dataset, 43.9 percent of leads booked, and the cost per paying customer landed at $233 against a $1,826 average ticket.

From a $53 lead to a $233 customer
$53cost per LSA lead
43.9%of those leads book
$233per paying customer
$1,826average ticket
The sticker was $53. The customer cost $233. That's the reading that tells you whether to spend more or fix something first.

Look at that last chain and $233 against $1,826 is a fine trade. Most owners would take it all day. But you'd never have known from the $53. Cost per lead is the fuel gauge. Cost per booked job is miles per gallon, and only one of those tells you whether you'll make it to the job site.

This is also why the roofing numbers scare people for no reason. A $228 lead against a $22,000 reroof is arithmetic most trades would envy, and I broke that down properly in the roofing lead cost post.

How to read your own gauge in one sitting

Forget the benchmarks for a second and audit your own marketing budget. Pull ninety days. Not last month, ninety days, because one bad month lies to you.

  1. Total every dollar. Ad spend, agency fee, software, the review tool, the person answering calls at night. All of it counts.
  2. Count real leads. Calls and forms from actual humans. Not impressions, not clicks, not "engagements."
  3. Count jobs sold from those leads. Sold, not estimated. Your CRM knows even if your gut doesn't.
  4. Divide spend by jobs. That's your cost per booked job, and it's the only number on this page that spends your money.
  5. Hold it against gross profit per job. Small slice? Go buy more. Eating a third of the profit? The funnel needs work before the budget does.

If step 5 comes back ugly, resist the urge to cut spend first. Nine times out of ten the leak is on the back end: slow callbacks, no follow-up after the estimate, a booking process that asks a homeowner to wait. Fixing that raises the return on every dollar you're already spending, in every channel at once.

The short version: search leads run roughly $45 to $228 by trade, LSA leads run roughly $39 to $59, and a booked customer runs multiples of either. Percentages are borrowed readings. Cost per booked job against gross profit per job is yours, and it's the one that decides whether to spend more.

Benchmarks are useful for one thing: telling you whether you're in the neighborhood. They can't tell you if your money is working, because they've never seen your close rate, your ticket, or how fast your phone gets answered. That's the whole argument behind the way we approach home services marketing, and the mechanics of the build are laid out in how it works.

So compare yourself to the table, sure. Then go read your own gauge. If you want a second set of eyes on those ninety days, book 15 minutes with our team and we'll tell you which trade benchmarks actually apply to the market you're driving in, and which ones belong to somebody else's truck.

Stop renting your growth. Own it.

We build the whole engine and run it for you, with nothing held hostage. One company per trade, per market.

Book a Discovery Call →
Daniel Segalo, Founder of Contractor Fast Lane
Daniel Segalo, MBA Founder of Contractor Fast Lane. A decade scaling 250+ local service businesses, $275M+ generated for clients across 25 industries.