What it really costs to book 20–30 roofing appointments in 60 days
Short version: starting from a cold account, plan on $12,000 to $15,000 a month in ad spend across Google and Facebook — about $24,000 to $30,000 across the two months — plus 15–30% on top for whoever runs it. Less in a small market, more in a big one. Here's where that number comes from, without the jargon.
Three budgets, one goal
All three aim at the same 20–30 appointments. What changes is your market, your season, and how much early waste you can absorb.
Tight but workable
$9,000 per month
about $18,000 over 60 days
Smaller market, narrow targeting, leaning on Google Local Services Ads, with a fast landing page and instant follow-up.
What to actually plan for
$12,000 – $15,000 per month
about $24,000 – $30,000 over 60 days
A typical mid-sized market, with the cost of a brand-new ad account learning from scratch already priced in.
Big metro, or winter
$18,000 – $22,000 per month
about $36,000 – $45,000 over 60 days
Top-ten metro, heavy storm-chaser competition, or launching in the slow season. Leads cost more and there are fewer of them.
Dollars buy leads. Only some leads become appointments.
Roofing has the most expensive leads in home services — ahead of doors, windows and HVAC. And roughly three raw leads turn into one appointment worth putting on a truck route. So you have to buy eighty-odd leads to keep twenty-five appointments.
Step 1
$24k – $30k
in ad spend across two months
Step 2
~83
raw leads — people who call or fill out a form
Step 3
~30%
of those turn into a real booked appointment
Step 4
25
qualified appointments on the calendar
A qualified appointment means a homeowner in your service area, with a real roof problem and the money to fix it, who has agreed to a specific day and time. Not a form fill. Not a maybe.
Cheap leads are cheap for a reason
Put 55–65% of the budget on Google Search and Local Services Ads, because those people are already looking for a roofer today and 60 days is not long enough to wait for anything slower. The rest goes to Facebook for volume and storm response.
- Google Search$150 – $250 per lead
- Someone typing “roof repair near me.” Your most expensive lead and your best one — they already have the problem. LocaliQ's 2025 benchmark of 3,211 home-services campaigns put roofing at $228 per lead, the priciest category in the trade.
- Google Local Services Ads$50 – $150 per lead
- The badged listings above the search results. You pay per valid lead, the lead is exclusive to you, and roughly 44% of them book. Verification takes 2–4 weeks, so the paperwork starts on day one.
- Facebook and Instagram$40 – $80 per lead
- Cheaper because you're interrupting someone rather than answering them, so fewer of these leads are ready to buy. In the days right after a storm they drop to $10 – $22.
- Shared lead marketplaces$15 – $85 per lead
- Cheapest per lead and sold to three or four of your competitors at the same time. They close at 5 – 15%. Not the road to 20–30 appointments.
Why month one looks worse than month two
The first two to four weeks are tuition
Google and Facebook both run a learning phase on a new account. Expect 20–40% of the first month's spend to buy data instead of appointments. That isn't waste — it's the platform working out who your customer is.
A new account pays a beginner's rate
With no conversion history, every lead costs more. Accounts with six or more months of clean data see costs fall 20–30% from where they started. Nothing is broken in week two; it just isn't finished.
There is a floor you can't go under
Below roughly $2,000–$3,000 a month per platform, the account runs but produces almost nothing. Under $4,000 a month in total, 20–30 appointments in 60 days is not a realistic target.
Answering in five minutes is worth more than doubling the budget
MIT's lead response study tracked 15,000 leads and 100,000 call attempts. Responding inside five minutes makes a lead roughly 21 times more likely to qualify than waiting half an hour — and 78% of customers buy from whoever gets back to them first.
- Reply inside five minutes
- 21× more likely to qualify
- Buy from whoever answers first
- 78% of customers
- Contractors slower than five minutes
- 88%
- Most common contractor response time
- A full day
- Contractors answering inside a minute
- 3%
Hatch looked at 132,188 contractor campaigns to get those last three numbers. Fix this before you spend a dollar — an automatic text back, then a real call inside five minutes. It can roughly halve what every appointment costs you. Skip it and 30–40% of the ad budget goes out the window.
The 60 days, in order
- 1
Day 1
Start Local Services Ads verification — license, insurance and background checks take 2–4 weeks, so nothing else can start the clock. Build one fast landing page that works on a phone.
- 2
Week 1
Google Search first, on tight high-intent keywords with negative keywords in place. Then Facebook lead forms using real before-and-after photos of your own jobs.
- 3
Weeks 2–4
Leave it alone. Both platforms are still learning and every edit resets the clock. Feed only genuinely qualified leads back in as conversions.
- 4
Day 30 onward
Judge it on booked appointments and signed jobs, not clicks. Once those hold, scale spend 15–20% at a time so you don't reset the learning phase.
Stop watching cost per lead
Cost per lead moves for reasons that have nothing to do with whether you made money. Two numbers decide whether the spend worked.
- Cost per raw lead$40 – $250
- Swings wildly by channel and season. Interesting, but it doesn't tell you whether you made money.
- Cost per booked appointmentunder $400
- The number that matters. Still over $500 after week four means the landing page, the follow-up speed or the targeting is the problem — not the platform.
- Cost per signed jobunder $1,500
- Healthy at under 10% of an $8,000–$25,000 roof.
Read this before you budget
- The ranges are real, not hedging. Roofing leads run from about $69 to $674 inside the same dataset, depending on market, season and how well the account is built.
- Management and creative sit on top of the ad spend — usually 15–30% of it, or a flat monthly fee. Mixing the two together is the most common budgeting mistake in the trade.
- Most published figures come from marketing agencies with a reason to look good. The sturdiest are LocaliQ (3,211 campaigns), SearchLight Digital (closed-loop attribution across 15 contractors) and 99 Calls (105 advertisers).
- Sixty days is enough to book the appointments, but the first two weeks run noisy and over target. Don't judge a channel before the full 60 days are up.
- An active storm window changes the math — leads get cheaper and convert better, and the low end of the budget can carry the whole goal.
Frequently asked questions
- How much do roofing ads cost to book 20–30 appointments in 60 days?
- Plan on roughly $12,000–$15,000 a month in ad spend across Google and Facebook — about $24,000–$30,000 over two months — plus 15–30% on top for management and creative. A small market with tight targeting can do it near $9,000 a month; a top-ten metro or a winter launch runs $18,000–$22,000 a month.
- How many roofing leads does it take to book one appointment?
- About three. Roughly 30% of raw leads become a booked appointment, so 25 appointments takes around 83 leads. High-intent Google leads convert at 25–40%; cold Facebook lead forms convert at 8–15%.
- What is the fastest way to lower cost per roofing appointment?
- Answer faster. MIT's lead response study found that replying within five minutes makes a lead about 21 times more likely to qualify than waiting thirty, and 78% of customers buy from whoever responds first. Hatch's analysis of 132,188 campaigns found 88% of contractors take longer than five minutes.
Or don't buy the clicks at all
Every number on this page assumes you carry the learning phase, the landing page and the five-minute callback yourself. That's the part HomeDependable already does — we vet the homeowner, confirm the job is real, and hand you the appointment instead of the lead. Nothing is shared or resold. Here's the standard every job passes first.
Ready to fill your schedule with real roofing jobs?