How Roofers Get More Leads in 2026: 12 Channels Ranked by Real ROI
Published 2026-06-22 · ~1990 words · back to blog

Every roofer wants more leads. Most spend money on the wrong channels because the loudest sales pitches come from the channels with the worst ROI. After working with dozens of subs, generals, and adjacent trades across the Lower Mainland, we've put together a ranked list of the 12 lead-generation channels currently available to a BC roofing company in 2026 — sorted by real cost-per-acquired-customer, not by cost-per-click or cost-per-lead, which are both useless vanity numbers. This is the playbook we'd run if we were starting a new roofing company in Vancouver tomorrow with a $5,000/month marketing budget. The headline finding: the cheap channels are still the best ones, the expensive channels are mostly worse than they were in 2020, and the single largest mistake roofers make is paying for leads instead of investing in the systems that turn one customer into three over the next 24 months.
The framework — cost per acquired customer, not cost per lead
Marketing agencies sell cost-per-lead because cost-per-lead is easy to inflate. A $45 lead from a pay-per-lead aggregator looks cheap until you realise the same lead went to five other roofers and you closed 1 in 20, making your real cost-per-customer $900. The only metric that matters for a roofing business is cost-per-acquired-customer (CAC) — fully loaded, including the lead cost, the sales time, and any tooling. The companion metric is customer lifetime value (LTV) — for a roofing business, that's the initial job plus the average value of all referrals that customer sends over 5 years. Healthy LTV:CAC for a roofer is 4:1 or better. Below 2:1, you're losing money even if the books look fine because you're not pricing in your own time. This framework is what the channel rankings below are built on.
Tier 1: $0–$50 per acquired customer
The free or near-free channels — where every roofer's first $1,000 of marketing energy should go before anything else:
1. Past-customer referrals
CAC: $0–$25. Close rate: 60–75%. The mechanism: every customer who's been happy with your work for 12+ months gets a $100 gift card for any referral that books. Most don't take the cash but they do refer. The card just makes it easy to ask. This is the single highest-ROI channel in BC roofing and most contractors do nothing systematic about it.
2. Google Business Profile (organic, no ads)
CAC: $15–$60. Close rate: 25–40%. The mechanism: daily photo uploads, weekly posts, aggressive review collection at job handover, full service-area population. A roofer who runs their GBP as a daily discipline will outrank competitors who spend $3,000/month on ads within 9 months.
3. Yard signs with QR codes
CAC: $20–$60. Close rate: 15–25%. The mechanism: a sign in the front yard during install with a QR code linking to your published-rate calculator. Lifetime exposure per sign: roughly 800–2,000 drive-bys. Cost per sign: under $30. Most roofers run plain signs without QR codes and lose all the attribution.
Tier 2: $50–$200 per acquired customer
The channels worth a meaningful spend once tier 1 is fully running:
4. Long-form cost-guide content (SEO)
CAC: $40–$120 over a 24-month payback window. Close rate: 8–15%. The mechanism: one published-rate article per city or topic per month, building over time. Slow to start, devastating once compounded — 18 months in, the site brings in more qualified leads than any other channel.
5. Google Ads — Local Services Ads
CAC: $80–$180. Close rate: 12–20%. The mechanism: pay-per-call ads at the top of Google results with the Google Guarantee badge. Higher quality than standard Search Ads because the user is calling, not filling a form. Quality of leads is good if your Business Profile is strong; useless if it isn't.
6. Strategic partnerships with adjacent trades
CAC: $0 direct + $50–$100 in goodwill spend per referral. Close rate: 40–55%. The mechanism: build genuine relationships with 3–5 painters, siding contractors, gutter installers, and real estate agents who refer each other systematically. A monthly coffee with each one beats any paid channel for warm leads.
7. Branded vehicle wraps + visible job sites
CAC: $90–$180 (attributed leads). Close rate: 15–25%. The mechanism: visible work, clean trucks, neighbours notice. Hard to attribute precisely, but consistently mentioned by buying customers as a trust factor. Worth doing for brand even if the attribution is fuzzy.
Tier 3: $200–$500 per acquired customer
Worth running selectively, especially in shoulder seasons when other channels go quiet:
8. Google Ads — Search (non-LSA)
CAC: $300–$650 done well, $800–$1,500 done badly. Close rate: 8–18%. The mechanism: tightly geo-targeted search ads with strict negative keywords (filter out 'jobs', 'careers', 'DIY', 'parts'), bidding only on buyer-intent queries ('roofing quote [city]', 'cedar conversion cost', 'flat roof leak repair'). Requires daily tending or it bleeds money.
9. Meta (Facebook + Instagram) ads
CAC: $250–$500. Close rate: 5–12%. The mechanism: photo-and-video ads showcasing before/after roofs, targeted to homeowners 35+ in your service area. Lower intent than Google but cheaper traffic. Works best when paired with a follow-up email sequence and a strong landing page.
10. Nextdoor and community Facebook groups
CAC: $100–$300. Close rate: 20–35%. The mechanism: not ads — genuine community participation, answering roofing questions for free in local Facebook groups and on Nextdoor. Slow burn, high trust. Don't pitch; answer questions. The leads follow.
Tier 4: $500+ per acquired customer — usually overpriced
The channels we'd avoid or use only when nothing else is available:
11. Pay-per-lead aggregators (HomeStars, HomeAdvisor, etc.)
CAC: $700–$1,500 actual. Close rate: 3–8%. The mechanism: pay $80–$180 per shared lead, lose to 4 other roofers, close 1 in 20. Mathematically poor for most roofers most of the time. Acceptable only for new contractors with no other channel running, and only as a stepping stone to organic.
12. Door-knocking sales teams
CAC: $800–$2,000 fully loaded. Close rate variable. The mechanism: hire commission-only knockers, hope for the best. Awful customer satisfaction outcomes across the industry, increasing municipal regulation, and a brand drag that takes years to recover from. Avoid entirely.
How to actually split a $5,000/month marketing budget
For a roofing company doing $800K–$1.5M annual revenue in the Lower Mainland in 2026, here's a defensible split of a $5,000/month marketing budget: $0 on referrals (it's a system, not a spend — but build the gift-card workflow), $400 on Google Business Profile management (a virtual assistant doing daily uploads and post scheduling), $1,200 on Google Local Services Ads (the LSA program, not standard Search), $800 on long-form content (one 2,000-word article per month at $200 per piece if outsourced, or owner-written), $1,000 on Meta retargeting only (don't run cold Meta until you've nailed retargeting), $600 on yard signs, vehicle wrap maintenance, and printed referral cards, $1,000 reserve for shoulder-season top-ups when the pipeline goes quiet. This split outperforms what most BC roofers do, which is to put 80% of marketing budget into Google Search Ads run by an agency that takes 25% of spend as fee.
Lead conversion — the part nobody talks about
More leads do not solve a conversion problem; they expose one. Before spending another dollar on traffic, audit the leak between lead-in and customer-out. The four conversion stages: (1) Lead capture — how fast do you respond? If it's slower than 10 minutes for a phone enquiry or 1 hour for a form fill, you're losing 40–60% of leads to faster competitors. (2) Quote turnaround — published rates win here automatically; if you require an in-home sales call, expect a 50–70% drop-off between lead and quote. (3) Quote-to-booking — your quote-to-booking rate should be 30–50% for warm leads, 10–20% for cold. If lower, the quote itself isn't clear or the price isn't competitive. (4) Booking-to-installed — should be 90%+; lower means scheduling chaos or cancellations from customer remorse. Fixing conversion is almost always 10x cheaper than buying more leads. Most roofers skip the audit because it's uncomfortable to learn that the bottleneck is internal.
The long-term lead-engine flywheel
The roofing companies dominating the Lower Mainland in 2026 are not the ones spending the most on ads. They're the ones who built a flywheel: every job produces a great installed roof (operations), which produces a happy homeowner (customer success), which produces a Google review and a yard sign and a referral (marketing inputs), which feed the Google Business Profile and the local SEO, which produce the next leads — at near-zero marginal cost. The flywheel takes 18–36 months to spin up but once it does, ad spend becomes optional. The companies still running heavy paid ads after year 5 are usually the ones whose operations don't produce the testimonials and referrals to support an organic flywheel. Diagnose your business honestly. If your operations are good, invest in the inputs that feed the flywheel and reduce ad spend over time. If your operations have problems, no amount of marketing fixes them — fix the install side first. For published rates and the operational discipline that supports this model, see our Lower Mainland cost guides or read the hiring subs guide for the build-out side.
How to track what's actually working
Most roofing companies have terrible lead attribution. The owner is convinced the yard signs work because they remember one big job from a sign two years ago; meanwhile the Google Business Profile is quietly producing 60% of the pipeline and nobody is measuring it. Fix this with a one-page spreadsheet, updated weekly by whoever answers the phone. Five columns: date, lead source (asked verbatim — 'how did you find us?'), city, quoted, booked. After 90 days you have honest data on which channels produce qualified leads and which produce tire-kickers. Two extra moves that level this up: use a different phone number on every offline channel (cheap with a service like CallRail — about $45/month) so you can attribute every inbound call automatically, and tag every web lead with the page they landed on first using a hidden form field. Total tooling cost: under $100/month. Total clarity gain: the difference between guessing and knowing where your business actually comes from. Roofers who measure attribution rigorously consistently reallocate budget away from the channels they thought worked and toward the ones that actually do, usually within the first quarter of measuring.
Seasonality — when to push hard and when to coast
Lower Mainland roofing demand is sharply seasonal. The lead curve roughly tracks: January–February quiet (repair-only enquiries), March surge as homeowners book for spring installs, April–June peak booking volume, July–August steady as customers commit to summer jobs, September shoulder peak driven by 'before the rain' urgency, October–November steady decline, December dead except for emergencies. The marketing implication: spend disproportionately in early March when enquiries surge but competitors are still asleep, hold steady through summer, push hard again in late August for the September urgency cycle, and ramp down hard in November. A common mistake is even monthly spend across the year — you overpay in dead months and underbid in peak months. A second common mistake is cutting marketing entirely in winter, which surrenders brand presence to competitors who keep posting on Google Business Profile and writing content. The right winter posture is low spend on paid channels but consistent organic effort (blog posts, GBP posts, reviews) so the flywheel keeps spinning when March arrives. The roofers who win the spring booking race are the ones who didn't disappear in January.
Three real channel mixes we've seen work in the Lower Mainland
To make the framework concrete, here are three real channel mixes from BC roofing companies of different sizes — anonymised but representative. Company A is a two-person crew doing $450K/year, owner-operated, North Shore only. Their mix: 70% past-customer referrals (built over 12 years), 20% Google Business Profile (5 reviews/month), 10% yard signs. Total marketing spend: $400/month. CAC: $35. This is the dream-state setup for a small crew that never wants to grow past two people. Company B is a six-person operation at $1.6M/year covering Vancouver to Coquitlam. Their mix: 35% referrals, 25% Google Business Profile, 20% Google Local Services Ads, 10% organic content, 10% Meta retargeting. Spend: $4,800/month. CAC: $215. They're scaling, the numbers work, and the next move is hiring a part-time marketing person to free the owner. Company C is a 14-person company at $4.2M/year across the full Lower Mainland. Mix: 20% referrals, 15% GBP, 30% Google Search Ads (managed in-house by a marketing lead), 15% organic content (1.5 articles/month), 10% Meta, 10% LSA. Spend: $22,000/month. CAC: $480. The CAC is the highest of the three but LTV is also the highest because larger crews can absorb bigger jobs (commercial torch-on, multi-unit residential). The lesson across all three: there's no single right mix. The right mix depends on company size, owner appetite for marketing management, and whether you're in a build-the-flywheel phase (Company A) or a scale-the-spend phase (Company C). Diagnose where you are honestly, then build the mix that fits that stage — not the mix that flatters your ego.
Frequently asked
What's the average cost per lead for a roofing company in BC in 2026?+
Across all channels, $45–$180 per qualified lead — but the spread is huge. Referrals run $0–$25, Google Business Profile leads $15–$60, Google Ads $90–$220, lead aggregators $80–$180 (but with 80%+ junk rate). Channel mix matters more than the average.
What's the highest-ROI lead channel for a small BC roofing company?+
Repeat and referral business from past customers, by a huge margin. The acquisition cost is zero, the close rate is 60–75%, and the average job size is larger because trust is already established. Every other channel exists to feed the referral engine over time.
Are Google Ads worth it for roofers in 2026?+
Yes, but only with tight geographic targeting, negative-keyword discipline, and a landing page that loads in under 2 seconds. CPC has risen 40% in BC since 2023 to $18–$32 per click, so a poorly run account loses money fast. Done well, target cost-per-customer is $300–$650.
How do I get more leads without spending money on ads?+
Five free or near-free moves rank highest: a daily Google Business Profile photo upload, a weekly Google Post, a same-day review request workflow at job close-out, yard signs with a QR code, and one well-optimised cost-guide blog post per month. Together these produce more leads than $2,000/month of poorly run ads.
When should a roofer hire a full-time marketing person?+
Around the $1.5–$2M annual revenue mark, when you're spending more than $4,000/month on marketing across channels and the owner no longer has time to manage it. Below that revenue, a part-time owner-led effort outperforms most agency or in-house alternatives.