I run Facebook and Instagram ad campaigns built for roofing companies — retail and storm — so leads show up on a schedule you control, not just whenever the weather decides to cooperate.
Let's Chat →Sound Familiar?
A storm rolls through, your phone blows up for two weeks straight, then goes dead silent until the next one — and you have no idea what to do with the quiet months in between.
You're on a roof, a lead calls, and the job goes to whoever answers first — which usually isn't you, because you were busy doing the job you already have.
You boosted a Facebook post last year. Got some likes. Got zero jobs out of it.
The crew down the road does worse work than you and they're booked three weeks out — because they're in front of homeowners every single day, and you're not.
You get a slow month and you can't tell if it's the season, the economy, or just bad luck — because you don't have a lead system, you have whatever comes in.
Questions Roofing Owners Actually Ask
Put your offer in front of homeowners in your service area before they start Googling roofers. That means broad targeting and several genuinely different ad concepts running at the same time — different angle, different visual, different format — not one hero ad. Since Meta's algorithm changed (the update media buyers call Andromeda), broad targeting with real creative variety outperforms the old micro-targeting playbook. Then it's a weekly discipline: kill what's not producing, feed budget to what is.
They do different jobs. Google catches homeowners who already know they need a roofer and are searching right now — that traffic converts fast but costs more per click. Meta puts you in front of homeowners before they're actively searching, which is cheaper per lead but needs real follow-up since not everyone who fills out a form is ready today. I run Meta because that's where I can build lead volume and control cost per lead directly. Most roofing companies end up wanting both eventually.
Depends on retail versus storm. For retail roofing leads, I look for CPL under $25 as strong, $25 to $50 as acceptable, and I'll kill or rebuild anything north of $80. For storm-damage leads the range runs higher — under $30 is strong, $30 to $60 is acceptable, and I pull the plug above $100. Those are the internal ranges I use to judge whether a campaign's working, not a promise of what your account will hit.
Campaigns typically start producing leads within the first few days of going live. I'm not going to hand you an exact number, because it depends on your market, your offer, and the season you launch in. What you get is a weekly kill/scale rhythm, so you know quickly whether something's working instead of waiting a month to find out.
Storm marketing is a sprint. There's a short window where a specific area needs roofs replaced right now, and the ad has to speak directly to that event. Retail marketing is a long game — steady lead flow year-round from homeowners who need a new roof, a repair, or gutters, storm or no storm. Same platform, different message, different pacing. Running both the same way is how budget gets wasted.
Some of that comes with the territory in lead gen — not every form-fill is ready to sign today. The biggest lever is clarity: a vague ad pulls in vague leads, a specific ad about the service, the area, and what happens next pulls in people who actually want that. Past that, it's watching cost per lead every week and killing whatever's bringing in junk instead of letting it run on autopilot.
Pricing is customized to what makes sense for your business — retainer, pay-per-lead, or a mix. We settle on the right structure on the call. Ad spend is separate and always yours, paid straight to Meta.
Yes, both. The ad account and every lead that comes through it belong to you, not me. If you ever walk away, you walk away with all of it — no losing access, no starting from zero with someone else.
Me. Directly. No account managers, no junior staff, no hand-offs. You're talking to the person watching your numbers and making the kill/scale calls on your account.
No. Your ad spend goes straight to Meta, paid directly by you. What you pay me is separate, and it's for running and managing the campaigns — not a markup on top of your spend.
Get Started
Twenty minutes. No pressure. We'll talk about your market, your service area, and whether this makes sense for your crew.
Let's Chat →