Get Started

How I got a roofing client’s cost per lead from $200 to $35

In Houston, starting-at $5,999 roof ads cost $201.77 a lead in May. The Minyona Roof Report system cost $35.78 a lead in the same market that month.

How I got a roofing client’s cost per lead from $200 to $35

A homeowner in Houston fills out a form on a Wednesday night and asks what a new roof costs. Almost every roofing company in that market answers her one of two ways. They text her a number, or they refuse to give her a number at all and try to get straight onto her calendar.

I do not do either one. I send her a slide deck.

We call it the Minyona Roof Report system, and the deck has one job before it ever shows her a price, which is to sell the appointment.

Here is why I care about it enough to write this. A roofing company in Houston was running starting-at ads, the $5,999 roof, the number that gets a homeowner to raise her hand and then argue with your salesman later. On the south side of the city in May, those ads cost them $201.77 for a lead. We turned the Roof Report system on in the same market in the same month, and those leads came in at $35.78.

Same company. Same city. Same month. Both out of their own Meta account, on their own card, which is how we run every client.

Houston South, May 2026. Starting-at $5,999 ads cost $201.77 per lead. The Minyona Roof Report system cost $35.78 per lead. That is Meta spend divided by Meta leads, not booked appointments.
Houston South, May 2026. Starting-at $5,999 ads cost $201.77 per lead. The Minyona Roof Report system cost $35.78 per lead. That is Meta spend divided by Meta leads, not booked appointments.

I will come back to those numbers at the end, including what happened after May, because it did not stay at $35.78 and I am not going to write a post that pretends it did. First I want to explain what the homeowner actually gets, because the mechanism is the part you can use.

Why I do not text a homeowner a price

A price in a text is a price with nothing around it.

She asked what a new roof costs, somebody typed a number back, and now she is holding a number she cannot do anything with except compare it. She does not know what is in it. She does not know whether it includes tearing off the old roof, or how many layers are up there, or what the decking looks like underneath, or whether the number came from a measurement or from a guess. So she does the only thing the text left her room to do. She shops it.

That is how a roofing company ends up as a line item in a homeowner's shopping list. Three numbers in a notes app, and the lowest one wins, and the lowest one is usually the company that left the most out of the price.

The other version is just as bad. The company that refuses to give any number at all and only wants to get on the calendar. I understand why they do it, and I still think it loses. She has a real question and you would not answer it, so she keeps asking until somebody does. Whoever answers gets the appointment, and you get to hear about it from your call center a week later. That is the same problem I wrote about in why homeowners ghost contractors, just earlier in the process.

So there are two normal choices, and both of them are bad. The price with no selling around it, or the selling with no price in it. What I wanted was a third thing: sell the appointment first, then give her a real number she can live with. That is the whole idea behind the roofing lead generation system we install.

What the other roof report tools do to the homeowner

There are tools out there that will put a roof price on a homeowner's screen. I have looked at most of them. They get two things backwards.

The first is that they hand the homeowner the work. She has to find her own house on a satellite map, on her phone, and then trace the outline of her own roof with her thumb. Think about who you are asking to do that. A woman standing in her kitchen at nine at night who has never looked at her house from above and has no idea whether that gray rectangle is her roof or her neighbor's garage. Some people push through it. Most of them close the tab, and you paid for that click.

The second is worse. Whatever she manages to trace, the tool dumps three prices onto one page. Good, better, best, side by side, with nothing else on the page. No company. No face. No reason the middle number is the middle number. Nothing that explains why the cheap one is cheap.

There is no selling anywhere on that page, and a price with no selling around it does exactly what the text message does. She screenshots it and sends it to the next company. You just paid Meta to arm your competitor with your own number.

I built the opposite of that on purpose.

How the Roof Report actually works

She puts in four things. Name, email, phone, address. That is the whole form.

Nobody asks her to measure anything, trace anything, or count her own squares. My team pulls the address up, traces the roof from satellite, and does the measuring on our end. Then we send her the report.

That is the trade I care about. The homeowner does the easy part, which is telling us where she lives, and we do the part that requires knowing what you are looking at. Four fields is also the shortest form we can get away with, and that matters, because every extra question is one more place where people quit. A homeowner who quits halfway still cost you the click.

What is on the first slide

A welcome video about the contractor's company.

Not the price. Not the measurements. The first thing she sees is the company she raised her hand for, on camera, saying who they are and how they work. Because the next ninety seconds of that report are going to talk about money, and she should know whose report she is reading before that starts.

This is also the part that only works if the whole thing is branded to one company, which is why we run exclusive leads and nothing else. A welcome video makes no sense in a report that is going out to four roofers at once.

Why the report kills two prices before it gives its own

By the time a homeowner asks about a roof, there are already two numbers in her head. The report deals with both of them before it shows her anything.

The first is the chuck-in-the-truck price. Some guy with a magnet on his door quoting 40 squares for $7,999. The report explains, in plain language, what has to be missing from a number that low. Not by calling him a crook, because that makes her defensive of him. By walking through what is not in the price. The tear-off. The permit. The insurance. A crew that will still exist in three years when something leaks.

The second is the predatory price. The company that sits at her table for four hours, hands her a number that is roughly double what the job is worth, staples a discount to it that expires tonight, and puts a financing paper in front of her while she is tired. She has either lived through that or heard about it from her sister. The report names it, so that when she does get that pitch from somebody else, she recognizes it while it is happening.

Once both of those are off the table, the number we give her lands in the middle of something instead of floating by itself. That is what selling before the price actually buys you.

What the range does that a single number cannot

Then the report shows her the range for a roof like hers.

A range, not one number, and I am direct about why. We measured her roof from satellite. That gets the area right. It does not tell me what the decking looks like under the shingles, how many layers are up there, or what the last guy did around the chimney. A single number would be a number I would have to walk back on her porch, and walking back a price is how you lose a job you already had.

A range is a number she can plan around and one I can stand behind. She knows what neighborhood she is in. She knows whether she is having this conversation or not.

Then three more things, in this order. An upgrade included at no extra charge, so the range is attached to something better than the bare version. Financing, if the range is more than she was expecting, right there instead of two weeks later. And a button to book the appointment.

That order matters. She reads who the company is, she learns why the cheap bid is cheap and the high bid is high, she sees a real range, she sees it can be paid for, and then she is asked to book. Every slide before the button is doing a job the button needs done.

Here is the whole report in the order she sees it.

The slideWhat that slide is doing
The slideWelcome videoWhat that slide is doingShe finds out whose report she is reading before anything talks about money
The slideThe cheap bidWhat that slide is doingWalks through what has to be missing from 40 squares at $7,999, without calling anybody a crook
The slideThe predatory bidWhat that slide is doingNames the four-hour kitchen-table pitch with the discount that expires tonight, so she recognizes it if she gets it
The slideThe rangeWhat that slide is doingA measured range for a roof like hers, instead of one number we would have to walk back on her porch
The slideThe upgradeWhat that slide is doingSomething better than the bare version, included at no extra charge, attached to that range
The slideFinancingWhat that slide is doingRight there if the range is more than she was expecting, not two weeks later
The slideBook nowWhat that slide is doingThe button, asked for only after every reason to say yes has already been given

If you install roofs and you want to see this thing running, book a call and I will walk you through the actual report rather than describing it.

How many of them book, and what those appointments do

Typically 15 to 20 percent of the homeowners who get a Roof Report book an appointment. That is typical across the accounts we run it on, and it is not a guarantee.

The first time a roofer hears that, he compares it to the booking rate on a normal lead and shrugs. The number that matters is the next one. Those appointments typically close around 80 percent. Also typical, also not a guarantee.

The reason is not complicated. She already knows roughly what it costs, and she booked anyway. Every homeowner who was never going to spend that kind of money removed herself before your rep got in the truck. Nobody is sitting on her couch at eight at night finding out for the first time what a roof costs. Nobody is stalling because she has to go tell her husband a number he has not heard.

Compare that to the normal version, where a rep drives out, spends forty minutes building up to the reveal, watches her face fall, and then spends the rest of the appointment negotiating against a number she invented in her head from a Facebook ad she saw in 2019.

Why the visit turns into order taking

When she already knows the price, the appointment is mostly order taking.

Your rep is not defending a number. He is confirming what we measured, looking at the things satellite cannot see, and then talking about colors. Which shingle. Which color. When can the crew start. That is a completely different conversation than the one most roofing salespeople have, and it is shorter, which means the same rep runs more of them in a week.

That is also why this works on the customers you actually want. People with money are more discerning, not less. They know a 40-square roof is not $7,999. When a company sends them a real range up front, that reads as competence, and when a company dodges the question, that reads as somebody setting up a pitch. The homeowners with the budget to do the job right are the ones who respond best to being told the truth early, which is the same pattern I described in how to get roofing leads.

What it did to the cost per lead in Houston

Now the numbers, and I want to be exact about what they are before I give them to you. Every figure here is Meta ad spend divided by Meta leads out of that company's own ad account. It is not what they pay us, and it is not a cost per booked appointment, which is a different and larger number.

May 2026, Houston, one company, two offers running at the same time.

The starting-at $5,999 ads on the south side spent $17,352.19 and produced 86 leads. That is $201.77 a lead. Across both sides of the city, that style of campaign spent $44,682.82 for 274 leads, which is $163.08 a lead.

The Roof Report system on the south side spent $3,363.27 and produced 94 leads. That is $35.78 a lead. On the north side it was $3,286.41 for 125 leads, or $26.29. Both sides together, $6,649.68 for 219 leads, which is $30.36.

Read those two paragraphs again and notice that the Roof Report side produced more leads on a fifth of the money.

That is the drop in the headline, and it happened the month the system went on. Here is the part most people would leave out.

Month, Houston north and south togetherStarting-at $5,999 adsMinyona Roof Report system
Month, Houston north and south togetherMay 2026Starting-at $5,999 ads$163.08Minyona Roof Report system$30.36
Month, Houston north and south togetherJune 2026Starting-at $5,999 ads$129.68Minyona Roof Report system$35.79
Month, Houston north and south togetherJuly 2026Starting-at $5,999 ads$172.23Minyona Roof Report system$47.36
Month, Houston north and south togetherAugust 2026Starting-at $5,999 ads$280.79Minyona Roof Report system$58.48
Houston north and south together. The Minyona Roof Report system was $30.36 in May, $35.79 in June, $47.36 in July, and $58.48 in August. Starting-at $5,999 ads were $163.08, then $129.68, then $172.23, then $280.79. August is not still $35.
Houston north and south together. The Minyona Roof Report system was $30.36 in May, $35.79 in June, $47.36 in July, and $58.48 in August. Starting-at $5,999 ads were $163.08, then $129.68, then $172.23, then $280.79. August is not still $35.

August is not still $35. Anybody who tells you a cost per lead holds still for four months is either new at this or lying to you. Leads got more expensive over the summer on both offers in that account.

What I will stand on is the gap between the two columns. In May the Roof Report leads cost about a fifth of what the starting-at leads cost. In June and July they were closer to a third. In August they were back to about a fifth. The number on the bottom line moved every single month, and in four months of real spend it was never close to the number on the top line.

That is what I think a contractor should actually take from this. Not $35, which is a May number in one city. The spread between an offer a homeowner wants to open and an offer she has learned to ignore.

Why filling the pipeline is the actual point

Something contractors miss when they only look at what a lead costs: filling the pipeline is the point. Not filling this week's calendar. The pipeline.

Some of these homeowners buy now. Some of them buy a year from now, when the stain finally shows up on the ceiling or the insurance letter arrives. Both of those are real jobs. At $58 a lead, which is where that Houston account sat in August, you are stuffing your CRM with future business at the same time you are closing deals in the present month. That is two things happening for one price, and only one of them shows up on this month's report.

It grows, too. Month two is better than month one because month two has month one's leftovers sitting in it, and month twelve has eleven months of homeowners in it who have all heard of you.

That only works if somebody keeps touching the list, and this is where most companies lose it. The lead comes in, gets called three times in a week, nobody answers, and then it dies in a CRM nobody ever opens again. Our call center agents work all of the leads, forever, as long as the company is our client. There is no point where a lead ages out and stops getting called. The homeowner who said not right now in September gets called again in March, and in March she is a different person with a different roof. The mechanics of that are in the follow-up system.

Speed matters on top of all of it. The report gets her interested and the callback has to happen while she is still holding her phone, which is the whole argument in speed to lead. The report does not replace calling her. It makes the call easy, because she already knows what the roof costs and she is expecting to hear from you.

Frequently asked questions

Why not just text the homeowner a price?

A price in a text has nothing around it. She has no idea what is in the number, so the only thing she can do with it is compare it to the next number she gets. That turns your quote into a line item in a shopping list and hands the job to whoever is cheapest that week.

What is actually in the Roof Report?

A welcome video about the contractor's company, a plain explanation of why the cheapest bid in town is cheap and why the highest one is high, the measured range for a roof like hers, an upgrade included at no extra charge, financing if the range is more than she was expecting, and a button to book the appointment.

Is a roofing lead still $35 in Houston?

No, and I am not going to pretend otherwise. May was $35.78 on the south side and $30.36 across both sides of the city. By August the Roof Report leads were $58.48 while the starting-at ads in the same account had climbed to $280.79. Summer got more expensive for both offers, and the gap in dollars between them got wider.

How many Roof Report leads book an appointment?

Typically 15 to 20 percent of them book. That is typical across the accounts we run it on, and it is not a guarantee.

Does giving a range before the visit hurt the sale?

It does the opposite. Those appointments typically close around 80 percent, because the homeowner already knows roughly what the roof costs and booked anyway. That is typical, not a guarantee.

If you install roofs and you want this

Bring your own numbers to the call. What you are paying per lead right now, what your average job is worth, how many appointments your reps can actually run in a week, and what your close rate is on the leads you have today.

I will show you the Roof Report running, tell you which offer I would put in front of your market and why, and go through your own numbers with you instead of mine. If I do not think we are a fit, I will tell you that too. Book a discovery call and bring the real ones.

Frequently asked questions

Why not just text the homeowner a price?

A price in a text has nothing around it. She has no idea what is in the number, so the only thing she can do with it is compare it to the next number she gets. That turns your quote into a line item in a shopping list and hands the job to whoever is cheapest that week.

What is actually in the Roof Report?

A welcome video about the contractor's company, a plain explanation of why the cheapest bid in town is cheap and why the highest one is high, the measured range for a roof like hers, an upgrade included at no extra charge, financing if the range is more than she was expecting, and a button to book the appointment.

Is a roofing lead still $35 in Houston?

No, and I am not going to pretend otherwise. May was $35.78 on the south side and $30.36 across both sides of the city. By August the Roof Report leads were $58.48 while the starting-at ads in the same account had climbed to $280.79. Summer got more expensive for both offers, and the gap in dollars between them got wider.

How many Roof Report leads book an appointment?

Typically 15 to 20 percent of them book. That is typical across the accounts we run it on, and it is not a guarantee.

Does giving a range before the visit hurt the sale?

It does the opposite. Those appointments typically close around 80 percent, because the homeowner already knows roughly what the roof costs and booked anyway. That is typical, not a guarantee.

Related Articles

Lead Generation

Your Break-Even Cost Per Lead: The One Number to Set Before You Spend a Dollar

Lead Generation

Window Contractor Cost Per Lead: What's Normal and When You're Overpaying

Lead Generation

How Much Should a Fence Contractor Pay Per Lead? (Job Size Math by Material)