Leadria Start free trial

HomeBlog › Facebook Ads for Roofers: What Actually Books Jobs

Facebook Ads for Roofers: What Actually Books Jobs

Trade8 min readUpdated July 17, 2026

Roofing is one of the few trades where the numbers on Facebook aren't close — not because roofers are better marketers, but because the ticket is so large that lead costs which would bankrupt a landscaper barely register. So start with the arithmetic. It changes what you're willing to pay, and that alone puts you ahead of the competitor who quit after spending $300.

The math: why a $60 lead is cheap on a roof

A full roof replacement in most US markets runs $8,000 to $15,000, with steep or complex roofs going past $20,000. Take a conservative $10,000 ticket and walk the funnel:

StepNumberWhat it means
Cost per lead$60A homeowner's name, phone, and ZIP
Leads per booked job5At a 20% close rate
Ad cost per booked job$3005 x $60
Job value$10,000One replacement
Gross margin at 30%$3,000What the job leaves you
Return10x$3,000 margin against $300 in ads

Read the middle row again: $300 of advertising to book a $10,000 roof. That's 3% of revenue, and most roofers happily pay an aggregator more than that for a lead shared with three competitors. The math survives a bad month, too — at a 10% close rate you'd spend $600 per job, still 6% of revenue. You have to close under 4% of your leads before a $60 lead stops making sense on a $10k ticket.

So "leads are too expensive" is almost never the real problem in roofing. Close rate and callback speed are, and both are inside your shop. For how roofing compares to other trades, see our breakdown of what Facebook ads actually cost.

Launch your first Facebook & Instagram ad in 2 minutes

Describe your business: the AI writes the copy, designs the visual, sets the targeting, and publishes your ad. Leads arrive with their phone number.

Try Leadria free

7-day free trial — no credit card — cancel anytime

Storm damage: the highest-leverage play in roofing

Nothing else comes close. A hail or wind event creates thousands of homeowners who go from never thinking about their roof to thinking about nothing else. Demand is created for you; your job is to be the first credible name in front of them.

The insurance angle, handled honestly

Insurance is why storm work converts, and where roofers get themselves in trouble. Three guardrails:

One warning before you lean on this: storm markets saturate, fast. What to do about it is below.

The age-of-roof play for normal markets

Most roofers don't live in a hail alley, and even those who do need something running the other 50 weeks. The everyday angle: asphalt shingles last about 20 to 25 years, and Meta will show your ad to homeowners in houses built in a specific era.

Target homes built 20 to 30 years ago and lead with age, not damage: "Is your roof 20 years old? Most shingle roofs in [neighborhood] from the early 2000s are at the end of their life. We'll tell you how many years you have left — free, and we don't sell you a roof you don't need." That last clause does real work: the homeowner's fear isn't the cost, it's being sold something they don't need.

This audience converts slower than storm traffic — figure 30 to 90 days from lead to contract instead of two weeks — so judge it over a quarter.

Why "free inspection" beats "get a quote"

Same budget, same audience, same photo — swap the button and cost per lead moves. Inspection offers routinely beat quote offers by 30% to 50% on lead cost, for two reasons.

First, commitment. "Get a free quote" asks a homeowner to decide they're about to spend $10,000. Most aren't there yet; they're at "I wonder if that stain means anything." An inspection asks for 20 minutes and no decision. Smaller yes, more yeses.

Second, and this matters more: an inspection puts your rep on the roof. A quote is a number emailed into a spreadsheet where the cheapest bid wins. An inspection is a person in the driveway with photos of the homeowner's own roof on a tablet. That's not a bid, it's a diagnosis. Roofing gets sold in the driveway, and "free inspection" buys you the driveway.

Keep the form short: name, phone, ZIP, and one qualifying question — "Do you own the home?" One question cuts junk without killing volume. Our guide on turning ad spend into leads covers form setup and the first five minutes after a lead lands.

Creative: drone footage and before/after are the whole game

Say it plainly, because roofers keep ignoring it: your creative matters more than your targeting. Meta's algorithm finds buyers well enough that the ad itself is where your leverage sits — and roofing has the best raw material of any trade.

Refresh creative every 4 to 6 weeks: a local audience is small enough that performance decays once frequency passes roughly 3 impressions per person per week.

Targeting: homeowners, home value, and how far your crew drives

SettingWhat to useWhy
Radius15-30 miles from the shopMatch how far crews actually drive. Won't send a crew 40 miles? Don't advertise there.
Homeowner statusHomeowners onlyRenters cannot buy a roof — the most valuable exclusion in the account
Age30-65+Where homeownership concentrates
Home valueSkip unless the market is splitUseful in metros with a wide value spread; noise elsewhere
Age of homeBuilt 20-30 years agoThe core of the non-storm replacement play
Storm campaignsZIP-level on the impact swathA radius from your office wastes most of the budget

Two cautions. Meta's homeowner and income options have thinned out and vary by market — if a segment isn't there, tight radius plus age-of-home does most of the same work. And don't stack eight filters: a roofing audience under about 50,000 people drives CPM up and starves the algorithm.

When Facebook ads don't work for a roofer

  1. Active leaks. A homeowner with water dripping into a bucket is on Google typing "roof leak repair near me," calling the first shop that picks up. That demand already exists — you capture it, you don't create it. Emergency money belongs in Google Search and a well-fed Google Business Profile. Our Facebook vs Google comparison has the rule: if the customer is already looking, that's Google's job.
  2. Saturated storm markets. Every roofer within 200 miles knows where the hail fell. Two weeks after a major event in a mid-size metro, CPMs can run 2-3x normal as out-of-town crews bid the same feed. When cost per lead climbs past your ceiling, don't grind against it — pull back to a small holding budget, shift spend to the surrounding un-hit ZIPs where CPMs are normal and the age-of-roof play still works, and return when the chasers leave.
  3. No callback system. If leads sit for a day, none of this works at any price. Facebook leads are lukewarm by nature — the homeowner filled a form in 8 seconds and moved on. Calling within 5 minutes versus 30 moves contact rate by a multiple, not a few points. A roofer without someone assigned to call is buying leads for whoever calls second.

What $1,000-$2,000 a month actually buys

$1,500/month is $50/day. At a $50 cost per lead, that's about 30 leads a month. Reach roughly 70% with a fast callback — 21 conversations. Inspections on about half — 10 roofs walked. Close 40 to 60% of those, because a rep on a roof with photos is a strong position — 4 to 6 booked jobs. At $10,000 each, that's $40,000-$60,000 against $1,500 in spend.

That's a model, not a promise, and month one will underperform it — the algorithm needs a couple of weeks and 15-20 conversions to settle. Below $700/month it gets genuinely hard: fewer than 15 leads is too little signal to optimize on. Better to run $1,500 for one month than $500 for three. And note the budget question in roofing is backwards — the constraint isn't the $1,500, it's whether you can absorb 4-6 extra roofs a month. If crews are booked eight weeks out, don't advertise; raise prices.

Getting it running without living in Ads Manager

Three routes. Learn Meta Ads Manager yourself — free, but it's a dense tool built for marketers and the tuition gets paid in wasted spend; the fundamentals are in our complete Facebook ads guide for small business. Hire an agency — typically $1,000-$3,000/month on top of spend, defensible in roofing where one extra roof covers the retainer twice over. Or use a tool that does the build for you.

Leadria is the third: you describe your business in a sentence — "roofing contractor in Fort Worth, replacements and storm damage, 25-mile radius" — and the AI writes the ad copy, generates the visual, sets the Meta targeting, and publishes the ad to Facebook and Instagram. Leads come back with a phone number attached, which is the only part that matters. There's a 7-day free trial, no credit card.

Whichever route you take, the discipline is short: emergencies to Google, replacements to Facebook. Free inspection, not free quote. Drone and before/after, never stock. Tight radius, homeowners only. Call in five minutes. Then judge it on signed contracts after 60 days — not on likes, and not after four days. The trade math is on your side more than in almost any other business; the follow-up decides whether you collect on it. Running other trades under one roof? Same logic in our piece on Facebook ads for contractors.

Frequently asked questions

How much does a roofing lead cost on Facebook?

Most roofers land between $25 and $90 per lead on a free-inspection offer, with storm markets pushing toward the high end once every competitor piles in. Full-replacement leads run higher than repair leads because the audience is smaller. Judge the number against your ticket, not against other trades — a $60 lead on a $10,000 roof is a completely different event than a $60 lead on a $300 job.

What budget does a roofer need to start on Facebook?

Plan on $1,000 to $2,000 per month, or roughly $35 to $65 per day, for one metro-sized service area. At a $50 lead cost that's 20 to 40 leads a month; at a 20% close rate that's 4 to 8 booked roofs. Below about $700/month the campaign gathers data too slowly to optimize, and you end up judging it on noise.

Do Facebook ads work for emergency roof leaks?

Badly. A homeowner with water coming through the ceiling opens Google and calls whoever answers within 5 minutes — they are not scrolling a feed. Put emergency money into Google Search and your Google Business Profile, and reserve Facebook for planned replacement work where the decision takes weeks.

Should I run ads right after a storm?

Yes, and speed matters more than polish — the best window is generally the first 3 to 10 days after the event, before homeowners have picked a contractor. Keep the radius tight to the neighborhoods actually hit, usually 5 to 15 miles. Offer an inspection and describe the process honestly; don't promise an insurance outcome you can't control.

Is 'free inspection' really better than 'free quote'?

In most roofing accounts it is, often cutting cost per lead by 30% to 50% versus a quote offer. A quote asks the homeowner to admit they're ready to spend $10,000; an inspection asks for 20 minutes. It also puts your rep on the roof, which is where roofing jobs are actually sold.