Ran a Spanish-lanuage ad for a roofing client last week. Results (7 days):
πͺπΈ Spanish ad: $36/lead
πΊπΈ English ads: higher CPL, same market
Theory: this audience is underserved and resonates hard with the message.
If you speak Spanish, test this. But track closes, not just CPL.
The secret to booking more appointments from your leads isn't the ad. It's what happens next.
1οΈβ£ Speed to lead β call immediately, while it's fresh
2οΈβ£ Text + call β test both sequences
3οΈβ£ Double dial β one call = spam. Two calls = "wait, is this real?"
This roofer used to door-knock for insurance leads (slow pay, high manpower).
π° $20K spent β 276 leads β $73 CPL
π Jan-Sep 2026: $15K β 214 leads
π₯ One day: $153 spent β 3 leads β $51 CPL
Two lead systems > one. More predictability, better cash flow.
Most contractors don't lose jobs to competitors. They lose them to silence.
β First 2 weeks: follow up every 3-4 days
β After that: once a month, consistently
When the money's there, they'll call the contractor who never disappeared.
Turned a roofer's "maybe 2-3 leads a week" into predictable daily leads π
We targeted homeowners actively looking for full roof replacements (not repairs) and built a simple funnel: ad β landing page β qualifying questions β booked appointment.
Client thought I was exaggerating about calling leads in under 3 minutes.
They tried it. Pickup rates skyrocketed.
3 min or less = way more answers, way easier to book.
Too busy in the field? Hire someone. A sibling, spouse, cousin β whoever. Just make the call fast.
Flooring contractor spent ~$3K on FB ads last month β 68 leads.
That's 2-3 fresh leads every single day. No relying on referrals or shared leads.
Want more? Double the budget, roughly double the results.
Leads stop being the bottleneck. Crew capacity becomes the new one.
Fix your lead gen when business is good, not when it's bad.
Wait too long and you're desperate β homeowners can smell that.
Referrals always slow down eventually. Build your backup system before you need it, not after.
Your ad's only job: get you talking to homeowners who need your service.
Not "look good." Not "reflect your brand." Just conversations.
Fishing 101: bait the hook with what the fish wants, not what you like.
Same with lead gen. Give leads what they want.
Stop quoting price before the appointment.
Meet in person β build value β THEN price drop.
100 leads, price upfront: ~20 closes.
100 leads, price in person: ~30 closes.
Same leads. More money. Simple math.
Same $100 ad spend, wildly different lead counts. It all comes down to your offer.
A generic offer gets a trickle. A strong, specific one (with urgency) can 2-3x your leads for the same spend.
Test 2-3 offers, let the market pick the winner, scale it.
Don't try to qualify leads on your ads. Every extra question = fewer leads, higher cost per lead.
Just get their contact info, then qualify on a quick call. That's where real qualification should happen β not the ad form.
Servicing multiple states or cities? Don't run one big campaign for all of them.
Break it into separate campaigns per market. Some will bring cheaper leads, some higher-end jobs, some just steady demand.
Track separately, then scale what works.
Stop watching your competitors. You're only seeing their front end.
I've audited plenty of "successful-looking" ad accounts. Back end? Chaos. Sky-high cost per lead, no tracking, thousands wasted.
Don't copy what you can't verify. Focus on your own business instead.
Image or video? Don't guess β test both.
You might think your video is a banger and it flops. A basic image might crush it instead.
Give each equal ad spend, let performance decide, scale the winner.
The market always knows more than your gut.
Stop advertising "quality work." Everyone says that.
What actually gets homeowners to reach out is a strong offer.
Test 2-3 offers β let the data pick a winner β scale it.
And never blow up what's working just to chase something shiny and new.
Every great ad eventually fatigues. No exceptions.
Strong week 1, slower week 2, that's not failure, that's normal.
Ads aren't "set it and forget it." Keep new creative in the pipeline before old ads burn out.
Same reason you tune out repetitive TV commercials.
One of the craziest roofing campaigns I've seen: 93 leads, $16 cost per lead, in under a month.
Not typical. This area just has huge demand + low competition.
Markets like TX/FL are way more competitive. Location matters as much as strategy.
If you're a GC running ads, specialize.
Concrete. Retaining walls. Pavers. Pick one.
Simpler sales process. Simpler hiring. Sharper marketing. And homeowners trust specialists way more than generalists.
"GC who also does roofing" < "The roofing company."
When a client brings me a new ad idea, I'll tell them straight if it won't work, because I've likely already tested it.
Millions spent testing across clients over the years = real data, not guesses.
You shouldn't be the test case. Your budget should go straight to what's proven