Back to Blog

HVAC Plumbing Roofing Pricing Strategy

PipelineOn Research Team
Blog

Price HVAC, plumbing, and roofing jobs by calculating a fully loaded labor rate of $85 to $150 per hour, applying a 2.5x to 3.5x markup on parts, and targeting 35 to 50 percent gross margin. Factor in your actual cost per lead - which averaged $104 for HVAC and $228 for roofing in 2025 - before setting any job minimums.

Key Takeaways

  • Roofing leads average $228 per lead on Google Ads - your job price must absorb that cost and still leave margin
  • Arctic Bear Plumbing grew from 3% to 18% profit margin by switching to flat rate pricing and raising average tickets from $180 to $400+
  • Lead costs rose 10.51% year-over-year across 3,211 home services campaigns - prices that worked in 2024 are already too low
  • HVAC companies responding to leads within 5 minutes are 21 times more likely to close - speed is a pricing defense

Roofing leads on Google Ads averaged $228.15 each in 2025, according to LocaliQ’s analysis of 3,211 home service campaigns. If your average roofing job is $3,000 and you are closing one in five leads, you just spent $1,140 in ads to land that job. That is before labor, materials, or the fuel your crew burned driving to the site.

Pricing is not just about what sounds fair. It is about survival math.

Why Most Contractors Are Already Underpricing Without Knowing It

Lead costs went up. Your prices probably did not.

LocaliQ analyzed 3,211 U.S. home services search advertising campaigns running April 2024 through March 2025 and found that 69% of home services businesses saw their cost per lead increase, averaging a 10.51% year-over-year jump. The Google Ads average across all industries only moved 5.13%. Home services is getting squeezed harder than everyone else.

If you priced your service calls based on what lead costs looked like two years ago, you are already eating margin you do not know you are losing.

A plumber on r/sweatystartup posted three years of revenue: year one at $280K solo, year two at $480K, year three at $510K - at 70 hours a week. Revenue stalled between year two and year three while hours stayed brutal.

That is not a growth problem. That is a pricing and margin problem. He scaled the business without scaling the price, and the extra overhead ate everything he gained.

What Does a Lead Actually Cost in Your Trade?

The number varies more than most contractors expect, and it matters enormously when setting job minimums.

Here is where the benchmarks land across the three trades as of 2025 and early 2026:

MetricHVACPlumbingRoofing
Google Ads CPL (LocaliQ 2025)$84.92$76.40$228.15
Google Ads CPL (SearchLight 2026)$104 blended$167 non-brandedN/A
LSA Cost Per Lead$52-$80$69$71
Conversion Rate (leads to jobs)3-7%12-16%3-7%
Gross Margin Target30-45%35-55%35-50%
Net Profit Margin Target8-15%8-15%8-15%
Parts Markup (flat rate)2.5x-3.5x2.5x-3.5xN/A
HVAC Customer Lifetime Value$15,340N/AN/A

SearchLight by Hatch pulled this data from $14.9M in HVAC ad spend across 816 contractors in January 2026. Non-branded HVAC search keywords averaged $149 per lead. Plumbing non-branded search hit $167.

That HVAC lifetime value number is the one contractors miss. At a $15,340 CLV and a $104 blended CPL, you are paying roughly $104 to acquire a customer worth $15,340 over the relationship. That changes how you think about the first job price.

You can afford to be competitive on the first call if your follow-up, maintenance agreements, and repeat business systems are locked in.

An HVAC owner on r/sweatystartup posted in early 2026 about cutting his self-managed Google Ads CPL from $187 to $94 after handing campaigns to a specialist agency in month two - same budget, same offer, twice the leads. At $187 per lead versus $94, generating 20 leads per month meant burning an extra $1,860 monthly for nothing.

That $1,860 was showing up as inflated prices on his quotes. He was still losing jobs to competitors who had their acquisition costs under control.

How Do You Actually Build a Job Price That Holds Margin?

Start with your overhead rate, not with what a competitor charges.

The formula: Overhead Rate (per hour) = Total Annual Overhead divided by Total Annual Billable Tech Hours. Example: $600,000 total annual overhead divided by 10,000 billable hours equals $60 per hour in overhead that must be recovered on every job.

Add a fully loaded labor rate of $44 per hour and you are at $104 per hour before a single part touches the truck. A two-hour service call costs $208 to $260 in real money before materials.

Most contractors skip this math and just copy a competitor’s price. That is how you end up at 3% margins.

Overhead costs run whether you complete one job or fifty. Every job has to carry its share of rent, insurance, truck payments, software subscriptions, and the dispatcher answering the phone.

Once you have your loaded labor rate, apply a parts markup on top. The standard for flat rate pricing is 2.5x to 3.5x on parts cost. Small parts under $25 can carry a 4x to 5x multiplier, while major components over $500 might use a 2x to 2.5x multiplier.

That range builds in your warranty reserve, your return trip coverage, and your actual profit. Each tier exists because the risk and handling cost per dollar of part value changes significantly at the extremes.

What Happens When You Switch to Flat Rate Pricing?

The numbers on this are consistent enough that you should pay attention.

Arctic Bear Plumbing went from a 3% profit margin to an 18% profit margin after switching to flat rate pricing, with their average ticket jumping from $180 to $400 plus. Accu-Temp Heating and Air went from near-bankruptcy to millions in revenue after implementing a structured flat rate system. Both transformations happened inside 12 months, according to FieldCamp’s HVAC Pricing Guide.

Service Roundtable’s 2025 contractor survey found that average revenue per job increases 18 to 24 percent when HVAC and plumbing companies implement flat rate pricing through platforms like ServiceTitan or Housecall Pro. If you are still quoting time-and-materials on residential calls, you are leaving that 18 to 24 percent on the table every single day.

The upfront pricing strategy for contractors is not just a pricing tactic - it is a customer trust play. Homeowners do not hate higher prices. They hate surprise prices, and flat rate removes the anxiety of watching a tech work slowly while the bill climbs.

Does Your Close Rate Make Your Pricing Math Work?

Contractors often drop prices to improve close rates without checking whether the math actually improves.

WebFX’s 2026 home services marketing benchmarks show plumbing converts leads to jobs at 12 to 16 percent. HVAC and roofing sit in the 3 to 7 percent range, with an industry-wide conversion rate of 7.8 percent.

Roofing at a 5% close rate on $228 leads means you spend $4,560 in lead costs for every 100 leads just to close five jobs. If those five jobs average $8,000 each, you grossed $40,000. At 40% gross margin you keep $16,000 - and you already spent $4,560 to get there.

Now consider cutting your price by 10% to close more jobs. Average job drops to $7,200, you close seven instead of five, revenue goes to $50,400, and gross profit rises to $20,160 - but you spent $9,120 in leads. You gained $4,160 in gross profit while spending $4,560 more in leads. You lost money by winning more jobs.

That is the trap. Tracking which campaigns actually produce booked jobs - not just leads - is the only way to know if your pricing and acquisition math are working together.

Why Speed Is Part of Your Pricing Defense

Contractors who respond to leads within 5 minutes are 21 times more likely to qualify a lead than those who wait 30 minutes, per the MIT and InsideSales.com Lead Response Study. The industry average response time is 47 hours, and 78% of buyers go with the first company that responds.

If you are the first call back, you do not need to be the cheapest. Homeowners with a broken furnace in January or a leaking pipe under the kitchen sink are not price shopping - they are panic shopping, and speed wins those jobs at full price.

This is also why training your CSRs to book more calls is a pricing strategy, not just an operations strategy. A CSR who takes four hours to return a lead just handed that job to your competitor at whatever price your competitor wanted to charge.

Tuck and Howell Plumbing, Heating and Air demonstrates what happens when you get all of this right at once. Jay and Amanda Mahaffey purchased the company in 2023, overhauled operations, added plumbing services, and implemented ServiceTitan. Revenue went from $4 million to $11 million in two years, with their plumbing department posting a 157% increase from Q1 2024 to Q1 2025, according to ServiceTitan’s 2025 Residential Trades Report.

That is not a pricing story in isolation. It is what happens when pricing, systems, and speed align.

Should You Discount During High-Demand Events?

No. The opposite.

A roofing operator on r/sweatystartup ran a Facebook ad during a Texas hailstorm and generated 412 inspection requests in 11 days at $4.20 cost per lead. His normal CPL was $38, meaning lead cost dropped by 89% while demand was at its peak.

Contractors who discount during storms or heat waves - when every phone in the county is ringing - are giving away margin at exactly the moment the market would pay a premium. High demand is not a reason to drop price. It is leverage.

When your Facebook ad strategy for home services is already built and tested, you can activate it the moment a weather event hits. That roofing operator had the infrastructure ready and simply turned it on.

If you are watching leads come in and still worried about losing jobs to cheaper competitors, the problem usually is not price. It is either that your website traffic is not converting, your follow-up on unsold estimates is broken, or your response time is killing deals before price ever enters the conversation.

Chasing unsold estimates is one of the highest-ROI activities in the pricing playbook. You already paid for that lead, and letting it die without a second touch is a direct margin loss.

One solo HVAC operator tracked on r/sweatystartup was running $720K in revenue on $4,200 per month in marketing - roughly 7% of revenue. At a $127 CPL benchmark, that $4,200 bought him about 33 leads per month. To make the math work at a 5% close rate, he needs his average job value above $2,545 just to break even on marketing alone. Every dollar shaved off job prices to stay competitive is a dollar that math no longer supports.

Know your numbers. Price accordingly. The contractors losing jobs on price are usually losing them on something else - slow response, weak CSR scripts, or a website that looks like it was built in 2011. Identifying why leads are not converting is often a faster fix than cutting prices.


Frequently Asked Questions

What is the right markup percentage for HVAC, plumbing, or roofing work?

Most successful contractors use a 2.5x to 3.5x markup on parts for flat rate pricing. This covers labor, overhead, warranty reserves, and return trips. Target 35 to 50 percent gross margin and 8 to 15 percent net profit margin after overhead. Specialty trades like plumbing can achieve 45 to 60 percent gross margins because of licensing requirements and emergency service premiums.

Should I use flat rate or time-and-materials pricing?

Flat rate is the fastest-growing model in 2026, with contractors reporting 18 to 24 percent higher average tickets after switching, per Service Roundtable’s 2025 contractor survey. Time-and-materials pricing works best for complex commercial jobs. Flat rate wins on residential work because customers know the price upfront and stop watching the clock.

How do I calculate my overhead rate so I do not underprice jobs?

Divide total annual overhead by total annual billable tech hours to get your overhead rate per hour. At $600,000 overhead and 10,000 billable hours, that is $60 per hour that every job must recover. Add your fully loaded labor rate and you are at $104 to $110 per hour before a single part is priced.

Will raising my prices cause me to lose jobs?

Not if speed and follow-up improve alongside the price increase. The MIT and InsideSales.com Lead Response Study found companies responding within 5 minutes are 21 times more likely to qualify a lead. Contractors who raise prices while cutting response time from 2 hours to under 10 minutes typically report no meaningful drop in close rate.

How much should I spend on marketing as a percentage of revenue?

The healthy range for HVAC, plumbing, and roofing is 5 to 15 percent of revenue. A solo HVAC operator tracked on r/sweatystartup ran $720K in revenue at $4,200 per month in marketing - roughly 7 percent - generating approximately 33 leads monthly. Your marketing spend needs to connect directly to job revenue, not just lead volume.


Pull your last 30 days of job revenue, divide it by your leads received, and see what your actual revenue-per-lead looks like today. Then compare it against the CPL benchmarks above. If those two numbers do not leave room for overhead, labor, and profit, your price is the problem - and you have everything you need right here to fix it.