
Most roofers I talk to have tried Facebook ads once, got a pile of tire-kickers asking for a "free quote," and decided the platform doesn't work for roofing. It does. It just doesn't work the way most roofers run it.
Facebook ads work well for Winnipeg roofers when they run from spring thaw until the snow flies. Across two Winnipeg roofing accounts we've managed in 2026, a budget of about $1,500 CAD a month produced roughly 43 to 65 leads a month, at about $27 to $33 per lead once each campaign settled in. Most of the results come down to the offer, the lead form and how fast someone calls.
Do Facebook ads actually work for roofing companies?
Yes. Homeowners don't search for a roofer until they need one, but Facebook puts you in front of them before they start calling around.
Google catches people who are already searching. Facebook reaches the homeowner with 20-year-old shingles who's been meaning to "get someone to look at it."
Here's what one of those campaigns turned into. For one of our Winnipeg roofing clients, a 15+ year local roofing and exteriors company, 91 of 149 ad leads (61%) booked an in-home estimate, and by early June the ads had produced about $70,000 in closed jobs. That account was spending around $1,400 to $1,500 a month on Meta, with a similar budget on Google.
How much do Facebook ads cost for a roofer in Winnipeg?
Plan on about $1,500 CAD a month in ad spend and expect roughly $25 to $35 per lead once the campaign has had a month to learn.
Here's what the two Winnipeg roofing accounts actually did on Meta:
- Roofer A (locally owned since 1978, serving Winnipeg and southeast Manitoba): $11,362 CAD in ad spend from March to October 2026 produced 382 leads, an average of $29.74 per lead. The best months landed between $23 and $27.
- Roofer B (roofing and exteriors, 15+ years): In March and April 2026 it spent $2,851 on Meta for 86 leads at $33.16 per lead, with both months landing within a dollar of each other.
The first full month is usually the most expensive. Roofer A's first full month came in at $52.14 per lead, then dropped to $26.58 the next month at the same budget. If you judge a roofing campaign on its first four weeks, you'll quit right before it starts working. I break down that whole month-by-month run, including CPM and CPC, in what it costs to advertise on Facebook in Canada.
For context on whether those numbers are good, compare them against our cost per lead benchmarks for service businesses. For a ticket the size of a roof, $30 per lead is cheap.
Is Facebook or Google cheaper for roofing leads?
On the same roofing account in the same months, Facebook delivered more leads for less money.
Roofer B ran Meta and Google side by side with nearly identical budgets:
- March 2026: Meta $32.85 per lead (43 leads) vs. Google $41.51 per lead (35 leads)
- April 2026: Meta $33.47 per lead (43 leads) vs. Google $39.02 per lead (38 leads)
Google is still a valuable second channel for urgent leaks. But if you can only afford one, Facebook got this roofer more leads per dollar. More in Facebook ads vs. Google ads for service businesses.
When should a roofer stop running Facebook ads?
When the snow comes. That's the only time I'd turn roofing ads off.
In a Manitoba winter you can technically work on a roof, but most roofers already have their winter projects booked by then. Leads that come in during January aren't worth what they cost, because you can't do anything with them for months. So we run roofing campaigns from the spring thaw through the fall and pause when the season ends.
Two things to keep in mind:
- Don't pause early. Fall still produces leads. Roofer A was still getting about 50 leads a month at around $30 each in September and October, while homeowners rushed to get work done before the snow.
- Expect costs to rise as the season winds down. Roofer A's cost per lead went up about 30% from August to September. That's seasonality, not a broken campaign.
Other trades handle winter differently. See should you pause Facebook ads in winter.
How much should you increase ad spend after a hailstorm?
Raise it in steps of about 20%, give it a few days, and only keep going if your cost per lead and lead quality hold up.
A big storm can mean a wave of work, but how much depends on things only you know as the owner:
- How bad was the storm, and where did it hit? Hail across neighborhoods you want to work in is a real opportunity. Hail 40 minutes outside your service area isn't.
- Is it insurance work in good areas? If yes, estimate how much more work is realistically out there for your crews.
- Raise the budget about 20%. Let it run for a few days.
- Check your KPIs. Is cost per lead holding? Is lead flow actually picking up the way you expected?
- Keep scaling in steps until the numbers stop holding or your schedule is full.
Here's the part most roofers skip: more budget only helps if your follow-up can keep up. If nobody calls new leads within minutes, a storm just means more leads going cold. In the end, your budget decisions should follow how your ads are performing overall, not one weather event.
Should roofers advertise a "free estimate" on Facebook?
You can mention it, but don't make "free" the hook.
I don't agree with leading with "free quote." Free tends to attract the most price-conscious homeowners. The roofers we work with want the homeowner who knows they need a new roof and wants it done well, and "free" isn't what gets that person to fill out a form.
What gets their attention is the problem they're worried about and a reason to trust you. These are real opening lines from our Winnipeg roofing ads:
- "Tired Of Contractors Who Don't Call Back?"
- "Roof Issues? Get A Clear Plan. Not Runaround."
- "Roof Problems Rarely Fix Themselves."
The estimate is still there. It's just presented as the next step in your process, not as the reason to click.
Should roofers use Facebook Instant Forms or a landing page?
We always use Instant Forms for roofers, and we recommend adding two or three qualifying questions before the contact fields.
Instant Forms keep people on Facebook, so more of them finish. The qualifying questions make the leads useful. Here are the three questions on Roofer B's form:
- What service are you looking for? Roof repair, full roof replacement, siding, soffit/fascia/eavestrough, new construction, or not sure
- What prompted you to reach out today? Active leak, storm damage, aging roof, renovation/exterior upgrade, builder/contractor partnership, or other
- When are you hoping to have the work completed? ASAP, within 1–3 months, this year, or flexible
Those answers tell your caller exactly what to open with. For the full setup, see how to create Facebook lead forms that generate quality leads.
What should roofers do when a Facebook lead comes in?
Call within five minutes, and call twice if they don't answer.
This is the process we give every client:
- Call within 5 minutes. Open with what they asked for on the form while it's still fresh.
- Always call twice. No answer? Call right back. Spammers never call you twice, so people pick up the second time. One of our clients booked 6 of 17 "dead" leads just by calling them twice.
- Follow up for 7 days. Call every morning and afternoon until you get a yes or a no. Text on days 3 and 5.
- Update your CRM after every call. We set up GoHighLevel with clear stages: New Lead, No Answer, Booked, No Show, Closed, Not a Fit.
Keep the first call short: book the appointment and save the pitch for the visit. To automate more of this, here's how we automate lead follow-up with GoHighLevel.
That's how Roofer B got 61% of ad leads to book an estimate. The ads brought the leads in, but the phone calls did most of the work.
Key takeaways
- Budget about $1,500 CAD a month on Meta. Two Winnipeg roofing accounts landed at roughly $27 to $33 per lead once each campaign settled in.
- The first full month is usually the most expensive. Give it at least two to three months.
- Run roofing ads from spring thaw until the snow, then pause. Fall still produces good leads.
- After a hailstorm, scale in roughly 20% steps and only keep going if your KPIs hold.
- Don't lead with "free." Lead with the problem and a reason to trust you.
- Use Instant Forms with qualifying questions, and call every lead within 5 minutes, twice.
Frequently Asked Questions
How much should a roofing company spend on Facebook ads per month?
For a Winnipeg roofer, about $1,500 CAD a month, or $50 a day, is a solid starting budget. That's what both of our 2026 Winnipeg roofing accounts spent, and it produced roughly 43 to 65 leads a month once each campaign had settled in. Spend less and Meta has less data to learn from, which usually means a higher cost per lead.
What's a good cost per lead for roofing Facebook ads in Canada?
Between $25 and $35 CAD per lead is a strong result for residential roofing. Our Winnipeg roofing accounts averaged $29.74 and $33.16 per lead in 2026, with the best months between $23 and $27. Expect the first full month to run higher while the campaign learns.
Can roofers run Facebook ads in the winter?
You can, but in Manitoba it usually isn't worth it. Roofing work slows down once there's snow, and most roofers already have their winter projects booked by then. We pause roofing campaigns for winter and relaunch at the spring thaw. Keep them running through the fall, though, because demand holds up until the snow arrives.
Do Facebook ads work for storm damage and hail leads?
Yes, as long as you scale carefully. After a big hailstorm in your service area, increase your budget about 20% at a time, wait a few days, and keep going only if your cost per lead and lead quality hold. Fast follow-up matters even more after a storm, because homeowners are calling several roofers at once.
Want more roofing leads next spring?
We run campaigns from Winnipeg for roofers and home service businesses across Canada and the US. If you want help building your next season's pipeline, take a look at our Facebook ads management for service businesses, or book a call with Adovate and we'll walk through your numbers.
What's happening
Our latest news and trending topics



