Google Ads Cost per Lead for Roofing Companies: What a Booked Inspection Really Costs

Your Google Ads report counts calls. Your crews get paid on signed roofs. Here is how a roofing company works out the real cost of a booked inspection and a signed job from its own records, with a worked example to copy.

  • Updated October 2026
  • 4 min read
  • By the VETS Growth Marketing team

Short answer

It depends on your market, service and ticket size. A better question is cost per booked inspection: what you can afford to pay to win a customer, based on your close rate and average revenue.

Key takeaways

  • Cost per lead is the number Google can see. Cost per booked inspection and cost per signed roof are the numbers that decide whether ads pay.
  • Join the ad account to your roofing CRM, or the report you get is one nobody can check.
  • Measure over 90 days, because insurance jobs often sign weeks after the first call.
  • Have a storm campaign ready before spring, so you are not bidding blind against every crew that arrives after hail.

Google Ads cost per lead tells a roofing company what a phone call cost. It does not tell you what a booked inspection or a signed roof cost, and those are the numbers that pay the crews. Work them out from your own ad account and CRM, because no published benchmark knows your market, your close rate or your storm year.

Cost per lead vs cost per booked inspection

Cost per lead counts everyone who called or filled in a form. Cost per booked inspection counts only the homeowners who agreed to put a ladder against the house. The gap between the two is where most roofing ad budgets leak, and it is invisible in a standard ads report.

That gap is the verification problem. Google records a conversion when a call passes the length you set or a form is submitted (conversion tracking). It cannot tell a homeowner with a stained ceiling from a supplier, a current customer asking about a warranty, or a crew looking for work. An agency that reports "cost per conversion" may be reporting all of them.

Stage Who records it What it can hide
Lead Google Ads Spam forms, repeat callers, vendors, current customers
Booked inspection Your office, in the CRM Renters, no-shows, out-of-area addresses
Completed inspection Your inspector Damage too light for a claim, price shoppers
Signed job Your CRM and the contract Weeks of delay while a claim works through the adjuster

Only the last three rows tell you what you bought.

From cost per lead to cost per booked inspection

  1. Leads you pay for Where it leaks: Spam and wrong numbers
  2. Real inquiries Where it leaks: Calls nobody answers
  3. Conversations Where it leaks: Quoted, never followed up
  4. Booked inspection Your real number: cost per booked inspection
Divide what you spent by the bookings at the end, not the leads at the start. No costs or rates are shown.

Calculating your number

  1. Choose a 90-day window. Retail repairs sign in days. Insurance replacements can wait weeks for an adjuster meeting and a scope. A shorter window undercounts the jobs your ads actually won.
  2. Pull spend by campaign. Keep repair, replacement and storm campaigns separate, because each has a different job value.
  3. Count booked inspections from the CRM, by lead source. Use JobNimbus, AccuLynx or whatever roofing CRM you run, not the conversion column in Google Ads. If source is not recorded on every lead, fix that before anything else.
  4. Count signed jobs and the gross profit on each. Split retail from insurance work if your margins differ.
  5. Divide spend by each count. That gives cost per lead, cost per booked inspection and cost per signed job.
  6. Set a ceiling from your own margin. Multiply the gross profit on a typical signed job by the share of inspections you close. That is what a booked inspection is worth to you. Decide how much of it you will spend to win one.

A worked example, with made-up round numbers. These figures are hypothetical, chosen for easy math. They are not a benchmark for any market.

Line Example
Ad spend over 90 days $9,000
Leads 90, so $100 per lead
Booked inspections 45, so $200 per booked inspection
Signed jobs 12, so $750 per signed job
Gross profit per signed job $4,000
Close rate from inspections 12 of 45, a little over one in four

In this example a booked inspection is worth roughly $1,070 in gross profit, so paying $200 for one leaves plenty of room. Cut the close rate to one in eight, and the same $200 inspection eats far more of the profit. That is why the close rate matters as much as the click price.

Why costs rise around spring and summer storm seasons

Costs rise in storm season because more advertisers bid on the same homeowners at the same moment. After hail or high wind, local roofers raise budgets, crews from outside the area arrive and start bidding, and lead sellers buy the same searches to resell. Search volume climbs too, and so do the junk searches that ride along with it.

Two habits make it worse. Owners turn on automated bidding with no booked-inspection data behind it, so the system chases the cheapest calls, not the best ones. And they add ZIP codes far outside their normal map because the storm hit there, then pay for leads they cannot serve well.

Plan budgets by month instead. Keep a storm campaign and a storm landing page built and paused, ready to switch on for the areas you actually serve within hours of an event, and let search, reviews and referrals carry more of the slower months.

Lowering cost per booked inspection

The cheapest booked inspection usually comes from fixing what happens after the click, not from a lower bid.

  • Answer every call. A missed call from a paid click is the most expensive lead you buy. An instant text-back while the crew is on a roof saves many of them. See missed-call text-back for roofing companies.
  • Cut the waste. Block job seekers, material shoppers and car-roof searches with a roofing negative keyword list.
  • Send each campaign to its own page. A leak search should land on a repair page with a phone number at the top, and a hail search on a storm page that explains your inspection and the claim process. The landing page guide shows the layout.
  • Feed outcomes back to Google. Import booked inspections and signed jobs from your CRM as conversions, so bidding learns from roofs, not calls (importing conversions).
  • Track calls by campaign. Use Google's call reporting or a tracking number per campaign, so you know which search brought each homeowner (call tracking).

How VETS Growth Marketing helps

We connect your Google Ads account to your roofing CRM, so every booked inspection and signed job is counted against the campaign that produced it. Then we work through the fixes in priority order, each with a date. The account stays in your name, and our reports show cost per booked inspection and cost per signed roof, the numbers you can check against your own job board. Bring last season's ad spend to a growth consultation and we will work out your real numbers together.

Frequently asked questions

What is a good cost per lead for roofing companies on Google Ads?

It depends on your market, service and ticket size. A better question is cost per booked inspection: what you can afford to pay to win a customer, based on your close rate and average revenue.

What makes cost per lead different for roofing companies?

For roofing companies, demand usually starts with a leak, storm damage, an inspection during a sale or an aging roof, so cost per lead should focus on showing up quickly with clear pricing and proof, because customers decide within a day or two. Demand typically peaks around spring and summer storm seasons. Because most work is one-time, reviews, referrals and steady visibility do the heavy lifting for future jobs.

How do I calculate cost per booked job for my roofing company?

Divide total ad spend by the number of jobs booked from those ads over the same period. That number, compared with your average job value, tells you whether a campaign is profitable.

Why is cost per lead rising for roofing companies?

More advertisers, more automated bidding and broader matching all push prices up. Better targeting, stronger landing pages and faster follow-up lower cost per booked inspection even when clicks get pricier.

Is a cheaper lead always better for a roofing company?

No. Cheap leads that do not close are expensive. A higher cost per lead with a strong close rate often wins.

How does seasonality affect cost per lead for roofing companies?

Demand and competition rise around spring and summer storm seasons, which can raise costs. Plan budgets by month and lean on SEO and repeat customers to smooth the curve.

What is the fastest way to lower cost per lead for a roofing company?

Add negative keywords, pause wasteful search terms, tighten locations and hours, and improve the landing page. Those changes often reduce costs within weeks.

Do organic leads cost less than paid leads for roofing companies?

Over time, usually yes. SEO takes investment upfront but the cost per lead tends to fall as rankings grow, while paid leads cost money every time.

Can VETS Growth Marketing benchmark my roofing company's lead costs?

Yes. In a growth consultation we compare your cost per booked inspection by channel, using your own ad account and CRM records, and show where money is leaking.

How do roofing companies market after a storm?

Move fast but stay credible: publish a storm-response page, increase ad budgets in affected ZIP codes, and lead with free inspections and insurance claim help. Avoid door-knocker tactics that hurt reviews. Homeowners after storms pick the roofer that looks local, legitimate and responsive.

Know your next five moves

(720) 383-4412 Book a Growth Consultation