Roofing is one of the most expensive local categories in Google Ads. Clicks of $20 to $50 are normal in competitive US metros, which means a page that converts at 3% costs you over $1,000 a lead. The margin for sloppiness is zero.
The roofers who win at PPC are not the ones bidding highest. They are the ones qualifying earliest.
Separate repair, replacement and storm damage
Repair queries are cheap and frequent. Replacement queries are expensive and valuable. Storm damage and insurance claim queries spike unpredictably and convert extremely well when you can respond within a day.
Run three campaigns. Give replacement the largest target cost per acquisition, and keep a storm campaign paused and ready to switch on within hours of a weather event in your service area.
Qualify in the ad, not on the call
If you do not do small repairs, say so in the ad copy. If you have a minimum job value, imply it. Every unqualified click you prevent at $35 is $35 back in the budget. Ad copy that filters is cheaper than a salesperson who filters.
Landing pages built for a big decision
Roof replacement is a five-figure purchase. The page needs credibility signals: licence and insurance details, warranty length, financing options, recent local jobs with photos, and reviews with names. A bare contact form will not carry that decision.
Offer a free roof inspection rather than a quote. It is a lower-commitment ask and it puts your inspector on the roof, which is where roofing jobs are actually sold.
Negatives that protect an expensive account
Block: jobs, hiring, salary, supplies, materials, shingles for sale, DIY, how to, cost calculator, and competitor brand names unless you have a deliberate conquest strategy. At $35 a click, ten wasted clicks a day is $10,000 a year.
Measure the inspection, not the form
Count booked inspections, not form submissions. Importing that offline stage back into Google Ads changes which keywords the algorithm favours — and in roofing the gap between form fills and booked inspections is usually enormous.
If you are not sure your data is clean, start with an ad account audit before increasing spend.
