This is a complete teardown of the roofing company sales funnel we built for a Victoria, BC client in 2024. They had been relying on referrals and occasional Google Ads. We rebuilt the funnel from ad click to closed contract in six weeks. Within 90 days, they went from 4 inbound leads a week to 28.
This is the full system. You can copy it.
1. Before the Build. What Was Broken
Before we started, the client had:
- A 12-year-old website that did not work on mobile
- Google Ads sending traffic to the homepage (not a landing page)
- Facebook Ads running with the Traffic objective (optimised for clicks, not leads)
- No follow-up system. leads were called back "when the owner had time"
- No CRM. leads were stored in the owner's email inbox
- 4 inbound leads per week, mostly from referrals
The owner was working 60-hour weeks and still felt like marketing was a black hole. The fix was not more ads. it was a complete funnel rebuild.
2. The Funnel Overview. Five Stages
The roofing funnel we built has five stages:
- Stage 1: Traffic. Google Ads (search intent) + Facebook Ads (broad awareness with retargeting)
- Stage 2: Landing page. Service-specific landing page with 3-field form
- Stage 3: Instant follow-up. SMS auto-reply within 30 seconds, phone call within 5 minutes
- Stage 4: Nurture. Email + SMS sequence for leads that did not book immediately
- Stage 5: Close. Calendar booking for on-site estimate + automated proposal follow-up
Each stage has a measurable conversion rate. The product of those rates is the funnel-wide conversion rate. Below, each stage in detail.
3. Stage 1. Traffic: Google Ads + Facebook Ads Structure
For roofing, Google Ads is the primary traffic source because the intent is transactional. People searching "roofing contractor Victoria BC" are shopping. Facebook Ads is secondary. it captures awareness intent and retargets website visitors.
Google Ads structure:
- Three campaigns: Roof Repair, New Roof Installation, Emergency Roofing
- Each campaign has 3 ad groups bucketed by intent
- 5 to 15 keywords per ad group, tightly themed
- Two ads per ad group (one direct, one benefit-led)
- Budget: $4,000/month, target CPA $150
Facebook Ads structure:
- Two campaigns: Prospecting (broad audience) + Retargeting (website visitors + page engagers)
- Prospecting uses Conversions objective, optimising for form fills
- Retargeting uses Lead Generation objective with native Facebook form
- Budget: $2,000/month, target CPA $80
Combined, the traffic stage generates 80 to 120 leads per month at a blended cost per lead of $90 to $130.
4. Stage 2. Landing Page: What Converts
The landing page is the most leveraged piece of the funnel. A 1 percent improvement in landing page conversion rate can drop CPA by 30 percent. Here is what we built:
- Headline matching the ad: "Victoria BC Roofing Contractor. Free 24-Hour Quotes" (matches the Google Ads headline exactly)
- Hero image: Real photo of a roof we installed (not stock)
- Trust signals above the fold: BC license number, WCB clearance, liability insurance, 47 Google reviews at 4.9 stars
- Form: 3 fields. first name, phone, project type dropdown
- Project gallery: 6 recent project photos with location + project type caption
- Process section: "How we work. 4 steps from quote to completion"
- FAQ section: 6 most common questions with concise answers
The landing page converts at 14 percent. Industry average for contractor landing pages is 3 to 5 percent. The lift comes from: matching headline to ad, real project photos (not stock), 3-field form, and trust signals above the fold.
5. Stage 3. Instant Follow-Up: The 5-Minute Rule
This is where most contractors lose 30 to 50 percent of their leads. The fix is automation. When a lead submits the form:
- Second 0: Form submitted. Webhook fires to GoHighLevel.
- Second 30: Lead receives SMS: "Hi [Name], this is the PrimeNest team. Got your message about your roofing project. I will call you within 5 minutes to learn more."
- Second 60: Lead routed to owner's phone via Slack + SMS notification.
- Minute 5: Owner calls the lead.
- Minute 10: If owner has not called, second SMS to lead apologising for delay and offering to text instead.
The 5-minute rule increased qualified lead conversion from 12 percent to 31 percent. That is a 159 percent lift. The lift comes from being the first contractor to call when a lead has submitted to 3 roofing companies simultaneously (which most do).
6. Stage 4. Nurture: The 90-Day Sequence
Not every lead books on the first call. Maybe they are price-shopping, maybe they are 3 months out, maybe they want to think about it. The nurture sequence keeps you top of mind without being annoying:
- Day 1: SMS follow-up with link to project gallery
- Day 3: Email with 5 Google reviews from recent roofing clients
- Day 7: Email with "5 things to check on your roof before winter" content
- Day 14: SMS asking if they want a second opinion on a competitor quote
- Day 30: Email with case study of a similar project in their area
- Day 60: SMS check-in ("Still planning your roofing project?")
- Day 90: Final email offering a $200 discount if they book in the next 30 days
The nurture sequence recovers 18 percent of leads that did not book on the first call. That is 18 percent more contracts from the same ad spend.
7. Stage 5. Close: Calendar Booking + Proposal Automation
When a lead is qualified on the phone, the next step is an on-site estimate. We automated this:
- Owner qualifies the lead on the phone, sends a Calendly link
- Lead books a 60-minute on-site estimate within 24 to 72 hours
- Calendly sends automated reminders (24 hours before, 1 hour before)
- On-site visit happens, owner writes proposal within 48 hours
- Proposal sent via GoHighLevel with email + SMS notification
- If proposal not signed in 5 days, automated follow-up sequence triggers
The close rate from qualified lead to signed contract is 35 percent. Industry average for roofing is 20 to 25 percent. The lift comes from speed (proposal within 48 hours), automation (reminders), and follow-up (automated sequence if not signed).
8. The Results. 90 Days After Launch
Here are the numbers 90 days after the funnel went live:
- Lead volume: 4 per week → 28 per week (7X lift)
- Cost per lead: $0 (referrals) → $90 to $130 (paid ads)
- Close rate: 25% → 35% (40% improvement)
- Revenue: $180K → $580K per month (3.2X lift)
- Marketing ROI: 6:1 → 11:1
The funnel paid for itself in 30 days. The owner is now working 45-hour weeks instead of 60 because the system handles the follow-up. He focuses on the work, not the chasing.
9. How to Replicate This Funnel for Your Roofing Company
The funnel works for roofing because roofing has a specific buying pattern. high intent, fast decision, location-bound. It also works for siding, general contracting, and most home service businesses with minor modifications.
If you want this funnel built for your roofing company, book a free 30-minute audit. We will look at your current traffic, landing page, follow-up, and close process, and tell you exactly what to fix first. You keep the notes either way.
Ready to build this funnel for your roofing company? Book a free audit. 30 minutes, no pitch.

