How Much Should an HVAC Company Spend on Marketing?
Industry benchmarks say 5-10% of revenue. But where should that money go? Here's a channel-by-channel breakdown with real numbers.
Every HVAC owner asks this question eventually. Usually after writing a check to an agency that didn’t deliver.
The short answer: 5-10% of gross revenue on marketing. A $1M company should spend $50K-$100K per year. A $3M company, $150K-$300K.
But the number matters less than where it goes.
The industry benchmarks
Before diving into channels, here’s what HVAC companies at different revenue levels should budget for marketing:
| Annual Revenue | Marketing Budget (5-10%) | Monthly Budget |
|---|---|---|
| $500K | $25K-$50K/year | $2,000-$4,200/mo |
| $1M | $50K-$100K/year | $4,200-$8,300/mo |
| $2M | $100K-$200K/year | $8,300-$16,700/mo |
| $3M | $150K-$300K/year | $12,500-$25,000/mo |
| $5M+ | $250K-$500K/year | $20,800-$41,700/mo |
Where you land in the 5-10% range depends on your growth goals. A company maintaining its current customer base can stay at 5%. A company trying to grow 20-30% year over year needs to be at 8-10%. A company entering a new market or launching a new service line may need to temporarily spend 12-15%.
The mistake most HVAC contractors make isn’t spending too much or too little — it’s spending the right amount on the wrong channels.
The channel-by-channel breakdown
Not all marketing dollars are created equal. Here’s what each channel actually costs and delivers for HVAC contractors.
Google Ads (PPC)
- Cost per lead: $30-$75
- Close rate: 15-25%
- Cost per acquired customer: $150-$400
- Best for: immediate lead flow, emergency services, new market entry
Google Ads works when your website converts. If your site takes 18.4 seconds to load and has no click-to-call button, you’re paying $50 per click to send people to a dead end.
Most contractors waste 30-50% of their ad spend on bad landing pages. Fix the site first, then scale the ads.
How to maximize Google Ads ROI:
-
Use dedicated landing pages — not your homepage. A landing page built for each service/city combination converts 3-5x better than a homepage. Same spend, 3-5x more leads.
-
Set negative keywords — block searches like “HVAC jobs,” “HVAC training,” “DIY AC repair,” and “how to fix AC myself.” These clicks cost $30-$50 each and produce zero customers.
-
Bid on emergency keywords — “emergency AC repair [city]” has the highest close rate of any HVAC keyword (85-95%). These searchers aren’t shopping — they’re buying. Pay more per click because the conversion rate justifies it.
-
Daypart your ads — analyze when your calls come in. If 40% of calls happen between 12pm-6pm, allocate more budget to those hours. Reduce spend during hours with low call volume.
-
Track everything — use call tracking to attribute every call to a specific keyword and ad group. Without this, you’re optimizing blind.
SEO (organic search)
- Monthly cost: $1,500-$5,000 (agency) or $0 (DIY with significant time investment)
- Cost per lead: $10-$30 (once ranking)
- Time to results: 4-8 months
- Best for: long-term, compounding lead flow at the lowest cost per customer
SEO is the cheapest lead source in the long run but requires patience. The contractors who invest in proper service pages, GBP optimization, and consistent content see their cost per lead drop every month as rankings improve.
What $2,500/month in SEO should deliver:
- Monthly content creation (2-4 blog posts targeting specific keywords)
- Service page optimization and expansion
- Google Business Profile management (weekly posts, review responses)
- Technical SEO monitoring (speed, indexing, schema markup)
- Monthly reporting on rankings, traffic, leads, and revenue attribution
What $2,500/month in SEO should NOT be:
- A mystery. You should know exactly what they’re doing each month.
- Focused on vanity metrics. Rankings are nice; leads and revenue are what matter.
- Delivered by an agency that hits any red flags.
The SEO compound effect:
| Month | Monthly SEO Cost | Organic Leads | Cost per Lead |
|---|---|---|---|
| 1-3 | $2,500 | 2-5 | $500-$1,250 |
| 4-6 | $2,500 | 5-10 | $250-$500 |
| 7-9 | $2,500 | 10-15 | $167-$250 |
| 10-12 | $2,500 | 15-25 | $100-$167 |
| 13-18 | $2,500 | 20-35 | $71-$125 |
By month 12, your cost per organic lead is a fraction of what you pay for Google Ads or HomeAdvisor leads. And unlike ads, the traffic doesn’t stop when you stop spending. Rankings built over 12 months continue to deliver leads for years.
HomeAdvisor / Angi / Thumbtack
- Cost per lead: $30-$80+
- Close rate: 8-15%
- Cost per acquired customer: $300-$800
- Best for: filling gaps, not as a primary source
These platforms sell shared leads — the same lead goes to 3-5 contractors. You’re competing before the conversation even starts. Most contractors we talk to are frustrated with lead quality from these services.
The math: at $50/lead and a 10% close rate, you’re paying $500 to acquire one customer. Compare that to a well-optimized website pulling organic leads at $15 each with a 25% close rate — that’s $60 per customer. An 8x difference in customer acquisition cost.
When to use lead platforms:
- During your first 6 months of SEO while organic traffic builds
- In new service areas where you have no existing presence
- During shoulder seasons to fill gaps
- Budget: no more than 10-15% of total marketing spend
Google Business Profile
- Monthly cost: $0-$500 (management time or agency fee)
- Best for: local visibility, Map Pack ranking, trust building
Your Google Business Profile is free and potentially your most valuable marketing asset. When optimized and actively managed, it generates calls without any ad spend.
What GBP management includes:
- Weekly posts (4 per month: seasonal tip, job photo, promotion, customer highlight)
- Monthly photo uploads (10-20 photos of completed jobs, team, trucks)
- Review response within 24 hours (every review, positive and negative)
- Q&A section management (10-15 pre-seeded questions with thorough answers)
- Service listings with detailed descriptions
- Hours updates for holidays and special occasions
If you’re doing this yourself, it takes 30-60 minutes per week. If you’re paying an agency, $300-$500/month is reasonable. The return is significant: GBP calls cost $0 per lead. Over time, a well-managed profile can generate 20-40% of your total lead volume.
Social media
- Monthly cost: $500-$2,000
- Best for: brand awareness, recruiting, community presence
- Not great for: direct lead generation
Social media rarely generates HVAC leads directly. But it builds trust. When someone Googles your company name after seeing your truck, a professional social presence reinforces that you’re legitimate.
Don’t spend more than 10-15% of your budget here unless you’re specifically building a brand for long-term growth.
Where social media works for HVAC:
- Facebook — community groups, local engagement, seasonal promotions
- Instagram — before/after photos of installations, team culture
- YouTube — educational content (“How to know if your AC needs replacing”) builds authority and drives organic traffic
- Nextdoor — neighborhood recommendations and local visibility
Direct mail / door hangers
- Cost per piece: $0.50-$1.50
- Response rate: 1-3%
- Best for: maintenance agreements, seasonal pushes
Old school but still works in specific situations. Best paired with digital — someone gets a door hanger, Googles your name, and finds a solid website. The website is where the conversion happens.
When direct mail makes sense:
- Promoting maintenance agreements to existing service areas
- New neighborhood penetration (new developments, recently purchased homes)
- Seasonal tune-up specials (spring AC, fall furnace)
- Reinforcing brand awareness in your core service area
The allocation that works
For most HVAC companies doing $1M-$5M in revenue, here’s where the budget should land:
| Channel | % of Budget | Monthly ($5K total) | Monthly ($10K total) |
|---|---|---|---|
| Google Ads | 35-40% | $1,750-$2,000 | $3,500-$4,000 |
| SEO / content | 25-30% | $1,250-$1,500 | $2,500-$3,000 |
| GBP + reviews | 10% | $500 | $1,000 |
| Website maintenance | 10% | $500 | $1,000 |
| Social media | 10% | $500 | $1,000 |
| Testing / new channels | 5% | $250 | $500 |
The exact split depends on your market. In hyper-competitive cities like Dallas or Houston, you might need 50% on ads to stay visible. In smaller markets, SEO alone can dominate.
How the allocation shifts over time:
During your first year of SEO, Google Ads should be 40-50% of budget because organic traffic hasn’t built yet. By month 12-18, as organic leads grow, you can reduce ads to 25-30% and let SEO carry more of the load.
The goal is to shift from rented channels (ads, lead platforms) to owned channels (SEO, GBP, your website) over 12-24 months. Owned channels compound. Rented channels reset every month.
The number everyone ignores: cost per acquired customer
Most HVAC companies track “leads” but not “customers acquired.” That’s like tracking how many people walk into a store without knowing if anyone bought something.
If you’re spending $5,000/month and acquiring 20 new customers, your cost per acquired customer is $250. If a new customer is worth $1,500 in their first year and $5,000+ lifetime, that’s a great return.
If you’re spending $5,000/month and you have no idea how many customers you acquired, you’re flying blind.
How to calculate cost per acquired customer:
- Set up call tracking for each marketing channel
- Tag each lead with its source in your CRM
- Track which leads become booked jobs
- Divide total marketing spend by total new customers acquired
Formula: Total Monthly Marketing Spend ÷ New Customers Acquired = Cost per Acquired Customer
Benchmark: A well-optimized HVAC marketing program should acquire customers at $150-$300 each across all channels blended. If your cost per acquired customer exceeds $500, you have a website problem, a channel problem, or a close rate problem — possibly all three.
When to spend more
Increase your marketing budget when:
- You can handle more volume (trucks aren’t maxed out)
- Your cost per acquired customer is well below your customer lifetime value
- You’re entering a new service area and need to build visibility fast
- A competitor just pulled back (you can see this in their ad presence dropping)
- Peak season is approaching and your rankings are strong (scale what’s working)
When to spend less
Pull back when:
- Your technicians are booked 3+ weeks out (you’re paying for leads you can’t serve)
- Lead quality is dropping (too many tire-kickers means your targeting is off)
- Your cost per acquired customer exceeds $500 without lifetime value to justify it
- You’re in shoulder season and demand naturally dips (reduce ads but maintain SEO)
The best return on marketing spend almost always starts with fixing your website. Every other channel sends traffic to your site. If the site doesn’t convert, nothing else matters. A $5,000/month ad budget going to a site that scores 34 generates a fraction of the leads that the same budget generates when going to a site that scores 91.
If your site scores well but leads are still flat, the budget isn’t the problem — visibility is.
Keep reading
Want to know your score?
Drop your URL — full report in 48 hours.
We're on it.
Report in your inbox within 48 hours.