HVAC Google Ads resource

Good ROAS for HVAC Google Ads: the formula, the benchmarks, the gates

Break-even ROAS for HVAC is roughly 4.0x at a 25 percent EBITDA margin. The formula is 1 divided by gross margin. Branded campaigns reliably hit 8x to 12x. Non-branded campaigns range 3x to 5x. Performance Max sits between branded and non-branded depending on configuration. Track them separately. The single blended ROAS number averages out the signal that actually decides whether Google Ads is funding your business or eating margin.

Quick answers

What 'good ROAS' actually means for HVAC

Break-even ROAS is the simplest formula in marketing: 1 divided by gross margin. At a typical HVAC EBITDA around 25 percent, break-even comes out to 4.0x. Above 4.0x, Google Ads is funding the rest of the business. Below 4.0x, every booked job is paid for partly out of margin. The exact margin varies by service mix (installation is higher-margin than service calls, commercial is lower-margin than residential), and the 25 percent benchmark is the typical starting point for a mid-sized residential-service shop.

Branded campaigns reliably hit 8x to 12x. The reason is structural: someone searching your business name is already 80 percent of the way to a booking; the ad just removes the friction. CPCs are low (under $1 in most markets), conversion rates are high (15-30 percent), and the ROAS reflects that combination. If your branded ROAS is below 8x, something is wrong upstream: either tracking is broken or competitors are bidding aggressively on your brand and undercutting you.

Non-branded campaigns (AC repair, furnace replacement, emergency HVAC) range 3x to 5x. CPCs are higher ($8-$25 in the Boston metro), conversion rates are lower (3-8 percent), and the ROAS reflects the longer path from query to booking. 5x is healthy; 4x is at break-even; below 4x is bleeding margin. Non-branded below 3x usually means a structural problem: bad landing page, missing call tracking, broad-match keyword pollution, or geographic targeting drift.

Performance Max sits between the two and depends heavily on configuration. Default-configured PMax (no placement exclusions, no audience signals, no asset-group discipline) often reports 6-10x ROAS that is largely ghost conversions; real-bookings ROAS is 1-2x. Properly configured PMax (the 6-step fix) lands at 4-7x, real bookings, comparable to non-branded with broader reach.

Your math

How to calculate your specific break-even ROAS

Five inputs. Most HVAC owners can answer all five from their financials. The result tells you the exact ROAS gate your campaigns need to clear.

Gross margin (not net). Revenue minus cost of goods sold (parts + direct labor), divided by revenue. For a typical residential-service HVAC shop: 25-35 percent. For installation-heavy shops: 30-45 percent. For commercial-heavy: 20-30 percent. Pull from your P&L; do not estimate.
Average ticket size by service line. Service call, repair, replacement, installation, commercial. Each line has its own ROAS profile. A $200 service call needs different bidding than a $14000 installation. Pull from the last 12 months of invoices.
Lead-to-booking conversion rate. What percentage of leads (form fills + phone calls) become booked jobs? For HVAC: 30-50 percent is healthy; below 25 percent suggests a lead-quality issue (bad source) or a sales-process issue.
Booked-job-to-revenue conversion. What percentage of booked jobs actually produce revenue (not cancelled, not refunded)? For HVAC: 90-98 percent. If below 85 percent, look at scheduling discipline.
The math. Maximum tolerable cost per lead = (avg ticket * gross margin * lead-to-booking * booking-to-revenue). If your actual cost per lead is below that number, the campaign is profitable. ROAS-equivalent = 1 / gross margin for break-even.

Audit logic

How the audit grounds these benchmarks in your numbers

Generic ROAS benchmarks (3x to 5x non-branded, 8x to 12x branded) are useful starting points but they are not your numbers. The audit grounds the math in your specific account and your specific margin.

When the account is in a state where conversion values are tracked (smart bidding for value, e-commerce-style conversion values, or manual value entry via offline conversion import), the audit pulls actual ROAS by campaign and by campaign type, separates branded from non-branded, and grades each against your stated gross margin (collected during the audit intake). The output is campaign-level: 'Your branded campaign is hitting 11x against your 4.0x break-even gate; your non-branded campaign is hitting 3.2x, below break-even.'

When the account does not track conversion values (only conversion counts), the audit calculates cost-per-booked-job using your stated lead-to-booking conversion rate, then compares that against the maximum tolerable cost-per-lead from your gross profit per job. The output is the same shape: a specific number against a specific gate, anchored to your actual economics.

Send your domain. Get an ROAS-anchored audit back.

Free, ~48-hour turnaround, no sales call. The audit calculates your break-even ROAS from your actual margin (when share is allowed) and grades each campaign type against that gate, not against generic industry benchmarks.

Get the audit
Focus
Specialist paid search
Pricing
$500/month flat
Reply time
Within 24 hours, weekends too
Direct line