All articles

Lead Generation

Are Angi Leads Worth It for Roofing? The $21M Tell

Angi bought a roofing company in 2021, lost $21.4M of EBITDA on it in one year, and sold it. What that tells roofers about the leads they are buying.

Om Patel 17 min read
Photo: Dominik Scythe / Unsplash

The short answer

Angi leads work for roofing repair calls and rarely for replacements. Repair leads run $25 to $60 and close at 25% to 35%, putting acquisition near $150 to $300. Shared replacement leads run $75 to $110, close at 8% to 15%, and cost $1,200 to $1,600 per booked job against $2,000 to $8,000 of gross profit.

The honest answer for a roofing company is that Angi is two products wearing one name, and only one of them is worth buying.

Repair leads work. Replacement leads usually do not. That split matters more in roofing than in any other trade, because the gap between an $800 repair and a $15,000 tear-off is the gap between a 30% close rate and an 8% one.

But the sharpest piece of evidence is not a contractor complaint or a close-rate benchmark. It is in Angi's own SEC filings, and almost nobody writing about this has read them.

Angi bought a roofing company. It did not go well.

The short answer

Buy Angi repair leads if you can answer a phone in under ten minutes. Do not build a replacement pipeline on shared leads. Configure the account to enforce that split on day one, because the default configuration does the opposite.

Everything below is the arithmetic behind that sentence.

Angi ran a roofing company and lost $21.4 million on it

This is the fact that reframes the entire question, and it is a matter of public record rather than opinion.

On July 1, 2021, Angi Inc. acquired Total Home Roofing, a residential roofing company, to build out what it then called Angi Services. For roughly two and a half years, Angi was in the roofing business.

Consider the position that company was in. It had the largest homeowner demand engine in North American home services. It paid nothing for its own leads. It could route the best requests to itself before any paying contractor ever saw them. If shared marketplace leads were a viable foundation for a roofing business, this was the single best test case anyone will ever run.

Here is what the filings show:

PeriodAngi Roofing segment
FY 2021Acquired July 1, adjusted EBITDA loss of roughly $7.5M
FY 2022$137.5M revenue, $21.4M adjusted EBITDA loss, a $13.9M / 185% widening
Oct 2022$26.0M goodwill impairment at the Roofing reporting unit
Q2 2023Revenue down 43% on lower demand and exiting markets
Q3 2023Operating loss narrowed to $2.2M after headcount and market cuts
Nov 1, 2023Sold to a non-public third party, reported as a discontinued operation

Then CEO Oisin Hanrahan described the problems as operational, spanning pricing, supply chain and labor, and called them self-inflicted. That is a fair description. Running roofing crews is hard, and it is a different business from running a marketplace.

But read the conclusion the other way, which is the way that matters to you. The constraint on a roofing business is not lead volume. Angi had infinite lead volume and still could not make the unit economics work. The constraint is what it costs to acquire, sell, produce and collect a job at a price the homeowner will accept.

Watch out

While Angi owned Total Home Roofing, roofing contractors were buying leads from a company that also sold roofs. Angi disclosed the roofing business in its filings, but the homeowner-facing brand did not make the relationship obvious. If you were spending on Angi leads between July 2021 and November 2023, you were funding a competitor's demand engine.

What Angi roofing leads actually cost in 2026

Angi prices roofing by job type, and this is where the two-products problem becomes visible in the invoice.

Lead typePrice per leadTypical close rateCost per booked job
Roof repair / leak$25 to $6025% to 35%$150 to $300
Storm or emergency repair$25 to $6025% to 35%$150 to $300
Full replacement$75 to $1108% to 15%$1,200 to $1,600

Around those per-lead numbers sit the fixed costs: an annual membership near $300, a lead credit deposit, and in most accounts a minimum monthly spend. Renewal increases of up to 10% are commonly reported. The published contractor-wide range runs $15 to $85 plus per lead, but roofing sits at the top of that band because the ticket is large and the bidding for those categories is heavy.

Now put those numbers against roofing gross margins. Residential replacement typically runs 30% to 35% gross, and a 2,000 square foot shingle job bills $8,000 to $15,000, producing $2,000 to $8,000 of gross profit per house. A $1,400 acquisition cost against $2,400 of gross profit on a $8,000 job is not a marketing expense. It is most of the job.

Residential repairs run 40% to 50% gross. An $800 repair produces $320 to $400 of gross profit against $150 to $300 of acquisition cost. Thin, but positive, and it comes with a customer record you can do something with.

By the numbers

The decision is not Angi versus no Angi. It is repair leads versus replacement leads inside the same account. Turning replacement categories off is usually worth more than any negotiation on price.

Why shared leads punish roofing harder than other trades

Every trade suffers from shared leads. Roofing suffers differently, for three reasons that are specific to how homeowners buy a roof.

The ticket invites shopping. Nobody gets four quotes on a $250 drain clear. Everybody gets three to five on a $12,000 roof. Sharing a lead with four competitors on a repair still leaves room to win on speed and availability. Sharing a replacement lead guarantees a price comparison, and the homeowner has weeks to run it.

The sale is not urgent. A failed furnace in January is an emergency. A roof that has been quietly at end of life for three years is not. The buyer can wait, and a buyer who can wait will keep collecting quotes until the lowest one appears.

High ticket attracts fraud. One r/Roofing contractor described repeatedly receiving replacement leads from overseas scammers who wanted to send a certified check and have part of the funds wired elsewhere, and reported those disputes being denied. That specific scam pattern targets large-ticket trades. You do not see it on gutter cleaning.

The practical effect is that the phrase "shared with three to eight contractors" undersells the replacement case. A homeowner on r/Roofing who submitted an Angi request and deliberately did not click the final button to be contacted described what followed: calls from roofers across the state for 48 hours. Another contractor in the thread summarised the mechanism plainly. "All they do is put a blast out to every contractor in a certain mile radius that pays for the service so it's basically a race to see who can call you fastest. It's a nightmare for all parties."

That is worth sitting with. It means some share of what you are buying is a homeowner who did not fully intend to request contact, is already annoyed by the time you dial, and is measuring you against however many roofers got there first.

If your Angi invoice and your booked-job list have never been reconciled against each other, you are guessing. We build the tracking that shows cost per collected job by source, then rebuild the mix around whatever is actually paying.

Get a lead plan

The thing roofing does not have: a second sale

This is where the standard "use Angi for repairs and grow them into replacements" advice needs a harder look, because the timeline is usually presented dishonestly.

The pipeline is real. A homeowner who trusted you with a leak will call you when the roof fails. The question is when.

Asphalt shingle roofs get replaced every 20 to 25 years, with the first real warning signs showing around year 15. That is the actual clock. A repair customer you win in 2026 is a replacement customer in the 2040s unless their roof was already near end of life or a storm intervenes. The commonly quoted "10% to 20% will need a replacement within three years" is only true of the subset whose roofs were already failing when you patched them.

Compare that to the trades this business model was designed around. HVAC sells maintenance agreements and gets a second transaction every year. Alarm companies book recurring monthly revenue on day one and amortize acquisition across a five-year account life. Roofing has one transaction and then a two-decade silence.

That has a direct consequence for lead buying. In HVAC or alarm you can rationally lose money on the first job to win the relationship. In roofing you cannot. The first job is usually the only job in that decade, so acquisition cost has to clear on that job alone.

Tip

The repair-to-replacement pipeline only exists if your records outlive your memory. The asset is not the repair invoice. It is the address, the roof age, the material, the deck condition and the photos, held somewhere you will still be able to search in 2034. That is a data problem, not a marketing problem, and it is the main reason a roofing CRM pays for itself on paid leads specifically.

Both sides of the marketplace are shrinking at once

Buying into a marketplace makes sense when the marketplace is growing. Angi's is not, and the 2026 numbers are unambiguous.

In Q2 2026, Angi reported revenue down 11% year over year to $248.0 million, driven by macroeconomic headwinds, shifts in homeowner demand and lower network channel revenue. Network channel revenue, the segment closest to the leads you buy, fell 34%. US service requests fell 6% and leads fell 13%. Angi did not reinstate formal guidance. The company completed its spin-off from IAC on April 1, 2025 and is now independent.

At the same time, Angi is deliberately reshaping its pro base toward larger contractors. Management noted pro capacity declines improving from negative 13% in Q1 to roughly flat in July, driven by a 13% increase in average pro capacity from retaining larger pros.

Read those two trends together, because they combine badly for a small roofer. Leads down 13%. Average capacity per remaining pro up 13%. Fewer requests distributed across a pro base weighted toward bigger operators with more trucks and more appetite. The shared count on a given replacement request does not improve in that environment.

The demand side is not helping either. IBISWorld's 2026 outlook has US roofing contractor revenue declining as housing starts slow and homeowners defer non-emergency work, and the Roofing Market Report projects that correction running through 2028. Higher rates keep homeowners in place, which sounds good for replacement demand until you account for the same homeowners deferring a roof for another season because the leak is still manageable.

A shrinking marketplace inside a contracting trade is the worst possible time to sign a 12-month lead commitment.

The contract is where roofers get hurt specifically

Angi lead agreements are typically 12 months, auto-renewing, with reported early termination penalties of 30% to 35% of the remaining value and 60 days notice required to stop a renewal.

For most trades that is annoying. For roofing it is structurally wrong, because roofing demand is the least flat demand curve in home services.

Your volume is driven by season and by storms. A hail event can produce more qualified work in three weeks than the previous five months combined, and then nothing for two quarters. A flat monthly lead commitment against that curve means you are either paying for leads during a stretch when your crews are already booked solid and cannot work them, or you are paying full freight through a dead quarter to avoid a four-figure termination fee.

This is why so many of the angriest contractor accounts are about cancellation rather than lead quality. From r/Roofing: "Once they have your bank or credit card it is impossible to get out without cancelling all your cards and opening new accounts." Those are firsthand accounts rather than measured data, and experiences clearly vary, but the volume and consistency of them across years is itself a signal about how the exit works in practice.

If you sign, sign for the season you can actually absorb, get the minimum spend and the pause terms in writing, and calendar the 60-day notice date the day you sign.

The channel comparison at roofing prices

ChannelCost per booked jobLead ownershipTerm
Angi replacement (shared)$1,200 to $1,600Shared 3 to 8 plus12 months
Angi repair (shared)$150 to $300Shared, but less contested12 months
Google Local Services Ads$233 service, $300 to $600 replacementYoursNone
Organic search and GBP$300 to $500Yours, compoundingNone
Referrals and past customers$50 to $100YoursNone

The LSA line is the one that decides most accounts. Benchmark data across 888 contractors and $6.72 million of tracked spend puts roofing LSA at $50 to $130 per lead with a 43.9% book rate and a 7.84x closed ROAS. The lead is not shared five ways, the Google Guaranteed badge does real work on a high-ticket purchase, and there is no annual term to escape.

That does not make LSA free of problems. Bidding in saturated roofing markets gets ugly, and one r/Roofing contractor reported hearing of markets where roofers were paying up to $1,200 per LSA lead. Treat that as an outlier anecdote rather than a benchmark, but do not assume LSA is automatically cheap either. Cap your bid and watch cost per booked job, not cost per lead.

For a fuller channel-by-channel breakdown at current prices, see our roofing lead cost guide, and to size the volume you actually need, how many roofing leads per month.

If you are going to test it, test it like this

A 30-day controlled test tells you more than another year of arguing about lead quality. Here is the configuration that makes the test honest.

  1. Turn off full replacement categories. Or cap them at $200 to $300 a month. This single setting is the difference between the $250 version of Angi and the $1,400 version.
  2. Turn on repair categories only: roof leak repair, storm damage repair, flashing repair, emergency roofing.
  3. Set a tight radius. Fifteen to twenty miles. Repair economics die on windshield time.
  4. Assign one named owner for lead response, with notifications on a phone that is not on a roof. Target ten minutes, not two hours.
  5. Tag every lead with its source in your CRM on arrival, and keep the tag through to collection. If you cannot answer "what did an Angi job cost me to acquire" from a report, the test produced no data.
  6. Track cost per collected job, not cost per lead. Net spend after approved credits, divided by jobs where the money actually landed.
  7. Dispute weekly, not monthly. Credit windows are short and the burden of proof is on you.
  8. Compare against the same 30 days of LSA and referrals using identical definitions.
  9. Get in writing before you sign: what triggers a charge, how many contractors receive a request, which ZIP codes and categories are enabled, how credits work, whether spend can be paused, and the exact minimum term.

If cost per collected job on repairs comes in under roughly $350, keep it. If replacement leads are still in the mix at the end of the month, the test failed for a configuration reason, not a platform reason.

When Angi genuinely is worth it for a roofer

It is worth being fair here, because the blanket "Angi is a scam" position is not accurate and it will cost a new company work.

You are brand new with no review history. Nobody is finding you organically and you have nothing to convert traffic with. Paying for access to demand is a rational bridge. One r/Roofing operator reported knowing a roofer averaging roughly $5,000 of Angi spend against $100,000 of revenue, so profitable accounts do exist.

You are in a rural or low-competition market. The whole shared-lead problem is a density problem. Where three roofers cover a county rather than three hundred covering a metro, a shared lead is close to an exclusive one.

You want repair and emergency volume specifically. Fast, small, urgent jobs that keep a crew busy between replacements and produce customer records you can market to for a decade.

You have a genuinely dead quarter and idle crews. Marginal work at thin margin still beats paying people to wait, as long as you know it is a gap-filler and not a strategy.

The verdict

Angi leads are worth it for roofing repair work and are not worth it for roofing replacement work, and the gap between those two conclusions is wider in your trade than in any other.

The company that had free unlimited access to this exact lead flow, and the balance sheet to absorb any acquisition cost it wanted, bought a roofing business in 2021, lost $21.4 million of EBITDA on it in a single year, wrote off $26 million of goodwill, and sold it 28 months later. That is not proof that the leads are worthless. It is proof that lead volume was never the thing standing between a roofing company and profit.

What stands between you and profit is the cost to convert and produce a job, and the ability to still own the customer relationship when that roof finally fails. Buy the leads that clear on the first job. Build the channels you own for everything else. And keep the records, because in roofing the second sale is twenty years out and it belongs to whoever can still find the address.

Most roofers we talk to cannot tell us what an Angi job costs them to acquire, because the invoice and the job list live in different places. We fix the attribution first, then rebuild the channel mix around what the numbers actually say. No annual term.

Get a lead plan

Frequently asked questions

Are Angi leads worth it for roofing contractors?
For repair and emergency leak calls, often yes. Those close at 25% to 35% and land near $150 to $300 per acquired customer on an $800 job carrying 40% to 50% gross margin. For full replacements, usually no. Shared replacement leads close at 8% to 15% and push real acquisition cost to $1,200 to $1,600, which eats most of the gross profit on a mid-size shingle job.
How much do Angi roofing leads cost in 2026?
Roughly $25 to $60 for a repair lead and $75 to $110 for a replacement lead, with the overall contractor range reported between $15 and $85 plus in most markets. On top of that sits an annual membership near $300, a lead deposit, and in many accounts a minimum monthly spend. Renewal increases of up to 10% are common.
Did Angi own a roofing company?
Yes. Angi Inc. acquired Total Home Roofing on July 1, 2021 and ran it as its Roofing segment. The segment did $137.5 million of revenue in 2022 with a $21.4 million adjusted EBITDA loss, took a $26.0 million goodwill impairment in the October 2022 assessment, and was sold on November 1, 2023 and reported as a discontinued operation.
How many contractors does Angi send the same roofing lead to?
Commonly three to eight, and contractors report seeing far more than that on replacement requests in dense markets. A homeowner on r/Roofing who submitted a request without clicking the final confirm button reported calls from roofers across the state for 48 hours straight. Treat the shared count as the ceiling on your odds before anything you control matters.
Does Angi require a contract, and what does it cost to cancel?
Angi lead agreements are typically 12 months with automatic renewal. Reported early termination penalties run 30% to 35% of the remaining contract value, with 60 days notice required to stop a renewal. For a seasonal trade like roofing this is the sharpest edge of the deal, because the commitment is flat and roofing demand is not.
Are Angi roofing leads better than Google Local Services Ads?
LSA generally wins on cost per booked job for roofing. Benchmark data across 888 contractors and $6.72 million of tracked spend puts roofing LSA at $50 to $130 per lead with a 43.9% book rate and roughly $233 per paying customer on service work, $300 to $600 on replacements. The lead is also yours rather than shared, and there is no annual term.
Does the repair-to-replacement pipeline actually work in roofing?
It works, but slower than the pitch implies. Asphalt shingle roofs get replaced every 20 to 25 years, so a repair customer you win in 2026 is usually a replacement customer in the 2030s, not in year two. The pipeline only exists if you have a system that still holds that homeowner record, roof age, and photos years later. Most roofers do not.
When does Angi genuinely make sense for a roofing company?
Three cases. A brand-new company with no review history that needs first jobs. A rural or low-competition market where the shared pool is small. And repair or emergency coverage where you can answer within minutes. One r/Roofing operator reported roughly $5,000 of Angi spend against $100,000 of revenue, so profitable accounts exist. They are configured deliberately, not by default.
Done-for-you lead generation: a dedicated conversion page, a qualifying form that arrives with the answers attached, and lead-to-sale tracking, fed by targeted outreach and Meta ad campaigns we build and run.
Get a lead plan

Free tools

Find out what your site is costing you.

Enter your address and we check the real page. Scores are free and the itemised report lands in your inbox. No account, and we change nothing on your site.