Montréal · Ads for startups and small businesses in Canada, the US and France

Facebook and Google ads for roofing companies

How we would set up Facebook and Google ads for a roofing company in the US or Canada: which channel for which job, what to budget, how to filter leads and how to measure signed roofs, not form fills.

By Nick Yushchenko · Test Ads · November 10, 2026 · 9 min read

Facebook and Google ads for roofing companies

Roofing is one of the most expensive local categories to advertise in, and one of the most profitable when the system works. A single replacement can pay for a month of ads, so roofers keep trying. The usual story we hear: Google clicks that cost a small fortune and brought calls about gutter cleaning, then Facebook leads that were cheap but never picked up. This guide is how we would set up Facebook and Google ads for a roofing company in the US or Canada, what to measure, and where most of the budget usually leaks.

Split your work before you write a single ad

"Roofing" is at least four different businesses from an advertising point of view, and each one needs a different channel, offer and budget:

Type of jobHow people buyBest first channel
Leak and emergency repairSearching right now, calls the first roofer who answersGoogle Search, Local Services Ads
Planned replacement (retail)Researches for weeks, gets 2–4 quotesMeta for demand, Google for "replacement" searches
Storm and insurance workTriggered by hail or wind in a specific areaMeta and Google, geo-targeted to affected areas
Commercial roofingProperty managers, longer sales cycleGoogle Search, sometimes LinkedIn

Mixing them in one campaign is the most common setup we see, and the reason reports are impossible to read. A leak call worth a few hundred dollars and a full replacement worth many thousands should never share a cost-per-lead target. Start with the one or two job types that make you the most money and that your crew can actually take on next month.

Work out what an inspection is worth

Before deciding a budget, run the numbers backwards from a signed job. Here is an illustrative example, not a benchmark; use your own numbers:

  • Average gross profit on a replacement: $4,000
  • Inspections that turn into a written estimate: 70%
  • Estimates that close: 30%
  • So one booked inspection is worth about $4,000 × 0.7 × 0.3 = $840 in gross profit

If you are willing to spend a quarter of that to win the job, you can afford about $210 per booked inspection. If one in three leads books an inspection, your ceiling cost per lead is about $70. This one calculation does two jobs: it tells you whether Google's click prices in your city are workable at all, and it stops you from killing a Facebook campaign that "only" brings $45 leads that actually book. We explain the same logic for other trades in how much a small business should spend on ads.

Google Search: buy the intent, block the noise

Roofing clicks are expensive because every roofer, lead seller and franchise in your city bids on the same words. You win by being narrower, not louder.

Keywords to start with. Group by job type: replacement ("roof replacement [city]", "new roof cost", "shingle roof replacement"), repair ("roof leak repair", "roof repair near me"), storm ("hail damage roof repair", "storm damage roofer") and, if you do it, commercial ("flat roof repair", "commercial roofing contractor"). Use phrase and exact match at first; broad match needs solid conversion data before it stops wandering.

Negatives from day one. Roofing search terms attract a lot of people who will never hire you: jobs, salary, hiring, training, course, DIY, how to, shingles for sale, Home Depot, Lowe's, supplies, nails, underlayment, metal panels, tarp, calculator (test this one; some calculator searchers are real buyers). Check the search terms report every few days in the first month and keep adding.

One campaign per job type. A replacement campaign and a repair campaign, each with its own budget. Otherwise Google spends where clicks are easiest, which is usually the cheapest job.

Local Services Ads. Roofing is one of the categories where Google offers Local Services Ads in many US and Canadian areas, with pay-per-lead pricing and a badge after background and licence checks. Availability, verification steps and how lead charges and disputes work change over time, so check the current rules for your area. Many roofers run LSA and Search side by side; we compare the two in Google Local Services Ads vs Search ads.

The landing page matters more than most roofers think. One page per job type, your service area in the headline, real photos of your crew and finished roofs, reviews, licence and insurance details, financing if you offer it, and a short form plus a click-to-call button. For a solar installer we ran two Google Ads strategies head-to-head, and the winner became the template for new regions. That is the approach we would use here too: test two set-ups on a small budget and only then copy what worked. Read the Hybrid Power Solutions case.

Facebook and Instagram: create replacement demand

Almost nobody scrolls Instagram hoping to buy a roof. But a lot of homeowners know their roof is old and have been putting it off. Meta works for planned replacement because it reaches them before they start searching, usually at a much lower cost per lead than Google.

Campaign type. Run lead or conversion campaigns in Ads Manager, not boosted posts; we explain why in boosted posts vs Ads Manager.

Targeting. Draw the radius you actually serve and exclude areas your crew will not drive to. Meta usually finds homeowners better with broad targeting and a clear creative than with stacked interests. Roofing ads are not a housing ad in Meta's sense, so the Housing special ad category limits do not normally apply. If an ad promotes a specific financing or credit offer, though, it may need to run under the Credit category, which restricts targeting. Check Meta's current policy before launching financing ads.

Offers that work. A free roof inspection with photos of what we find, a written estimate within 48 hours, financing with clear monthly payments, or a seasonal booking slot before the busy period. "Best roofer in town" is not an offer.

Creative. Drone footage of a finished roof, a 20-second walk-through of damage found in an inspection, the owner explaining what an old roof costs when it fails, a crew tearing off and re-shingling in a time-lapse. Real footage from your own jobs beats stock images almost every time. Write the headline to the person you want: "Roof over 15 years old?" filters better than "Need a new roof?"

Want to know what a booked roof inspection would cost you from ads? Book 30 minutes with Nick. You leave with a concrete 7-day ad test, whether you hire us or not.

Book a free call →

Lead forms that filter out tire-kickers

Cheap roofing leads become expensive when your estimator drives an hour to a renter or to someone who wanted a price over the phone. Add three or four questions to the form:

  • Do you own the home? (Yes / No)
  • How old is the roof? (Under 10 years / 10–20 / 20+ / Not sure)
  • What do you need? (Leak repair / Full replacement / Storm or insurance claim / Not sure)
  • When do you want the work done? (This month / 1–3 months / Just researching)

Add your service area check (ZIP or postal code) and a phone number field. Volume drops a little; booked inspections usually go up. If forms still bring junk, test a landing page against them and compare cost per booked inspection, as we explain in Facebook lead forms vs landing pages.

Storm and insurance work: fast, local, careful

After a hail or wind event, demand appears overnight in a small area. Ads can help you reach those homeowners first, but this is also where roofers get into trouble.

  • Geo-target the affected area only. Use ZIP or postal codes, or a tight radius, and turn the campaign off when the window closes. Running storm creative to a whole metro area wastes budget and confuses people.
  • Prepare before the storm. Have the creative, landing page and form built and paused, so you can launch within hours instead of days.
  • Be careful with insurance claims in ads. Rules about what contractors may promise vary by state and province. Some states restrict contractors from offering to cover or waive a homeowner's deductible, or from acting on a claim the way a public adjuster would. Never promise "a free roof" or "insurance pays for everything". It may be illegal where you work, and Meta and Google can reject it as misleading. Check your local rules or ask a lawyer before you run claim-related ads.
  • Expect competition from out-of-town crews. Local reviews, a local phone number and years in the area are your best selling points against storm chasers. Put them in the ad.

Follow-up decides most of the result

A homeowner who fills out a roofing form often fills out two or three more the same week. The first roofer to call usually books the inspection. A call or text within five minutes during business hours, an automatic text with your name and photo when they submit after hours, and at least five attempts over a week before giving up. The full system is in our guide to speed to lead.

Also confirm the inspection by text the day before and send the estimate the same or next day. The gap between inspection and estimate is where many roofers lose jobs they already paid to win.

Track signed jobs, not form fills

Ads Manager and Google Ads count leads. Your bank counts signed contracts. Connect the two:

  • Keep every lead in a CRM or a spreadsheet with source, campaign, inspection booked (yes/no), estimate sent, signed and job value.
  • Use call tracking on Google, because many roofing leads call instead of filling in a form.
  • Send the outcomes back to the platforms: offline conversion imports or enhanced conversions for leads on Google, and the Conversions API or CRM integration on Meta. Then both systems can optimize for people who book inspections, not people who tap a form.

After 4–6 weeks you will know your real cost per booked inspection and per signed job by channel and job type. That is the only number that should decide where the next dollar goes.

Plan budget around seasons and crew capacity

In most of the US and Canada, demand for roof replacement grows in spring and early summer and after storms, and slows when cold or snow makes installs hard. Raise spend a few weeks before your busy period so the pipeline is full when the crews are free. During peak months, do not pay for leads your team cannot schedule within a reasonable time; cut budget or push estimates further out instead. In the slow season, Meta campaigns that book spring inspections can keep the calendar from going empty.

How we run the first test for a roofer

We start with a 7-day test on a few hundred dollars of ad spend: 2–3 audiences or keyword groups and several creative angles (inspection offer, roof age, financing, real job footage). We check lead quality with you daily, and after a week we have a real cost per lead and the first booked inspections by angle. Budget goes to the winners; the rest gets cut.

For the wider playbook across trades, see Facebook ads for home service businesses.

More results from local service businesses we work with: ads for local businesses.

FAQ

Do Facebook ads work for roofing companies?

Yes, mainly for planned roof replacement, where homeowners know the roof is old but are not searching yet. For leaks and emergencies, Google Search and Local Services Ads usually work better because people search the moment something breaks.

How much should a roofing company spend on ads?

Work backwards from the value of a booked inspection: gross profit per job times your inspection-to-signed rate. Start with a 7-day test of a few hundred dollars, measure cost per booked inspection, and scale only the campaigns under your ceiling.

Can roofers advertise insurance claim help?

Carefully. Rules on what contractors can promise about claims and deductibles vary by state and province, and platforms reject misleading claims. Never promise a free roof; check local rules before running claim-related ads.

Want to know what a booked roof inspection would cost you from ads? Book 30 minutes with Nick. You leave with a concrete 7-day ad test, whether you hire us or not.

Book a free call →

Keep reading

Book a callGet my test plan