How our pay-per-lead system works
We run your marketing. You own everything. You pay us only when a real homeowner in your area asks for a roof. Here's every step, every rule and every dollar — in plain English.

Two bills. Zero surprises.
Your ad budget goes straight to Google and Meta. Our fee only exists when a qualified lead does.
Ad spend
You → Google & Meta
You set the budget based on your market (see below) and pay the ad platforms directly on your own card. We never hold or mark up your money.
Per qualified lead
You → RoofingLeads
A flat fee per qualified lead, agreed before launch. No retainer, no setup fee, no minimums. Zero leads = zero fee.
Aligned incentives
Why this works for you
If our campaigns don't produce, we don't get paid. That's the opposite of a retainer agency that bills you either way.
How much ad budget do you need?
It depends on your market, not on a magic number. Under $1,500/month Google can't get enough clicks to learn, so we don't take those campaigns on.
Small market
$1,500–$2,500/mo
Metro under 500K people, 1–2 counties
Clicks and leads run 30–50% cheaper than big metros.
Competitive metro
$3,000–$5,000/mo
Top-50 metro, not a storm market
$124 is the average cost per Google lead across 15 roofers (Q1 2026).
Storm metro
$5,000–$10,000+/mo
Phoenix, Dallas, Atlanta, Denver and similar
Top bids here run up to 1.9x other metros for the same searches.
Established roofers going after a whole metro usually spend $7,500–$15,000+/month. Sources: SearchLight Digital, Thomas Town Digital, PipelineOn, Softtrix (2026).
From first call to first lead
Most areas go live within 7–10 days of the intro call.
- 1
Free intro call & area check
We confirm your service area is open, the jobs you want (replacements, restorations, storm claims) and your weekly lead cap.
- 2
Your ad accounts, in your name
We build Google and Meta campaigns inside accounts you own, paid with your card. You get full admin access from day one.
- 3
Homeowners get screened
Every inquiry answers our qualifying questions and verifies their phone number by text before it ever reaches you.
- 4
Instant delivery to your portal
You get a text and email within seconds. Calls ring straight to your office and are recorded in your lead portal.
- 5
You mark the outcome
Tap Inspection booked, Won, or Not qualified. Your updates are the record we bill from — no arguing over spreadsheets.
- 6
Pay only for qualified leads
Each week we bill only leads that passed. Anything flagged as invalid within 48 hours is simply never charged.
Everything is yours. Even if you leave.
The #1 complaint roofers have about agencies is being held hostage — accounts, websites and phone numbers that vanish when you stop paying. We don't do that.
- ✓Google Ads and Meta ad accounts created in your business name
- ✓You're the owner with full admin access — we're added as a manager
- ✓Landing pages, tracking numbers and call recordings stay with you
- ✓Every lead's name, phone, address and history is your data
- ✓Cancel any time and keep all of it — no exit fee, no hand-over hassle
Account access
Lead portal
Example dataMark T. · Plano, TX
Inspection bookedReplacement · 22 yrs old
Linda R. · Frisco, TX
New — call nowStorm claim · hail
J. Owens · Dallas, TX
Not qualified · $0Renter
Every call and form in one place
No more guessing what you're paying for. Every lead lands in a simple portal you can open on your phone.
- ✓Instant text + email alert with name, phone, address and job type
- ✓Every phone call recorded with caller ID and timestamp
- ✓One tap to mark: Inspection booked, Won, Lost or Not qualified
- ✓See exactly which leads you'll be billed for — before you're billed
- ✓Export anytime, or send leads to the CRM you already use
What counts as a qualified lead
Written down before launch, so there's never an argument later.
You pay when all are true
- ✓The person owns the property (or is authorized by the owner)
- ✓The address is inside your service area
- ✓They asked for a job type you signed up for
- ✓The phone number is real and verified
- ✓It's a new inquiry — not a repeat within 90 days
Never charged — $0
- ✕Renters and tenants
- ✕Addresses outside your area
- ✕Wrong, fake or disconnected numbers
- ✕Spam, sales calls and job seekers
- ✕Duplicate inquiries from the same homeowner
- ✕Repair-only requests (unless you opted in)
The 48-hour rule
Spot a bad lead? Tap "Not qualified" in your portal within 48 hours and add a quick note. It's removed before you're billed — no tickets, no waiting for refunds. Note: "they didn't answer once" or "they picked another roofer" are part of selling and still count.
The whole agreement, on one page
No fine print hiding behind this. What you see here is what you sign.
Monthly fee
$0. No retainer, no management fee, no minimum lead count. Slow month = $0 owed to us.
Ad spend
Paid by you, directly to Google and Meta, on your own card at their price. We never mark it up or touch it.
What you pay us
A flat fee per qualified lead, agreed in writing before launch. The price per job type never changes mid-month.
Billing
Card on file. Charged weekly for qualified leads only, after the 48-hour review window closes.
Contract
Month-to-month. Pause or cancel any time with 7 days' notice. No cancellation fee.
Exclusivity
One roofing company per service area. Your leads are never sold or shared with another roofer.
Keeping your area
Keep ads funded and call new leads back within 30 minutes during business hours.
Weekly cap
You set the most leads you want per week. Hit the cap and ads pause automatically — no surprise bills.
If you leave
You keep the ad accounts, campaigns, landing pages, tracking numbers, call recordings and every lead.
What we commit to
Reporting
Full transparency
You see the same numbers we see: ad spend, leads, cost per lead and which leads are billed.
No upsells
Fixed pricing
No surcharges for roof age, "callable" areas or anything else. One price per job type.
Support
Real humans
A named account manager who answers by text or phone within one business day.
Ready to see if your area is open?
One roofer per area. Check yours and book a free 20-minute intro call.
Check my area