Case Studies / Roofing — Lead Quality
Roofing Exclusive Leads Cost Per Job Home Services

The Ad Spend Was High. The Leads Were Shared. Fixing Both Changed Everything.

A roofing contractor was spending $12,000 a month on ads and getting calls — but the economics weren't working. Leads were being sold to multiple contractors, quality was unpredictable, and the cost per job won had climbed to a point that made scaling the business feel impossible. Here's what changed when they switched to exclusive pre-qualified leads delivered on a monthly subscription.

−74%

Cost Per Job Won

30/mo

Guaranteed Exclusive Leads

60 days

Time to Full Results

Spending $12K a Month. Winning 3–4 Jobs. The Numbers Didn't Add Up.

This contractor runs a roofing business serving a mid-sized metro area. Each residential roof replacement is worth $8,000–$22,000, so the math for paid advertising can make sense — if the cost per acquired job stays within reason. When they came to us, that cost had drifted well above what was sustainable.

They were running Google Ads managed by a local agency. The spend was around $12,000 per month. Call volume was reasonable — maybe 25–35 calls per month across campaigns. But the conversion rate from call to job was poor. Of those 30-odd calls, they were winning 3 or 4 jobs on a good month.

Part of the problem was lead quality. A significant portion of the calls were homeowners who weren't serious buyers — people browsing quotes without intent to proceed, addresses outside the service area that had somehow slipped through geographic targeting, or leads that had already called four other contractors from the same lead aggregator. Shared leads in home services typically contact three to five providers simultaneously. Winning a job from a shared lead requires competing on price, speed, and availability — simultaneously — and even then you lose most of the time.

The other part of the problem was visibility. The business owner had no reliable way to predict how many calls they'd get in a given month. Some months were strong. Others were quiet for no obvious reason. Planning crew capacity, managing materials purchasing, and growing the business all depend on a reasonably predictable lead flow — and they didn't have that.

"We were spending more on ads than we were netting from the jobs those ads were supposed to be generating. Something had to change — either the cost had to come down or the close rate had to go way up, and neither was happening."

Why More Ad Spend Wasn't Going to Fix It

The instinct when lead volume is low is to increase spend. More budget, more impressions, more calls. But when we reviewed the data, the problem wasn't volume — it was the quality and exclusivity of the leads that were already coming in.

The Shared Lead Problem in Roofing

The majority of leads coming through the ad campaigns were not exclusive. When a homeowner submits a quote request through a lead aggregator — or even fills out a Google Ads landing page that feeds into a shared pool — that same contact is often sold to three, four, or five other roofing contractors in the area.

The result is a race to respond. The first contractor to call, quote, and follow up tends to win — and even "winning" in that environment often means discounting to beat the competition. Margins compress, the sales cycle is chaotic, and the close rate suffers because the homeowner is treating it as a commodity transaction.

This business was experiencing exactly that dynamic. Their close rate on inbound leads was around 12–15%, which is low for a well-run roofing operation. The primary cause was competition from other contractors who had received the same lead simultaneously.

What Pre-Qualification Actually Screens For

A pre-qualified lead isn't just a homeowner who expressed vague interest. In the roofing context, we screen for four things before a lead reaches the contractor: confirmed damage or replacement need (not just "thinking about it"), confirmed service area address, confirmed homeownership, and confirmed intent to proceed within 30 days.

Leads that don't clear all four criteria are discarded. What remains is a much smaller pool of contacts — but every one of them has a real job available, is geographically within range, and is ready to buy. The close rate on this type of lead is fundamentally different from what you get out of a broad ad campaign.

For this contractor, the shift meant trading 30 mediocre shared leads per month for 30 exclusive pre-qualified ones — at a lower total monthly cost than their ad spend. Volume held steady. Everything else improved.

Why Exclusivity Changes the Close Rate So Dramatically

When a homeowner calls one contractor — because they were only given one name — the conversation is fundamentally different. There's no race, no parallel pricing exercise, no pressure to discount on the spot. The contractor has space to build rapport, assess the job properly, and present a quote that reflects the actual value of the work.

This business went from a 13% average close rate on inbound leads to over 40% within the first two months. That improvement alone — holding everything else equal — means the same 30 leads per month produces three times as many won jobs.

30 Exclusive Pre-Qualified Leads Per Month. No Ad Account. No Agency.

The contractor cancelled their Google Ads account and moved to a flat monthly subscription with Leads.cx. The transition took two weeks — time spent onboarding their service area, job type preferences (insurance claims vs. cash sales vs. new construction), and average job value so we could calibrate lead targeting.

1

Service Area and Job Profile Setup

We mapped their service area by zip code — not just a radius — and captured which job types they preferred to prioritise. This contractor had stronger close rates on insurance claim work than cash sales, so we weighted the targeting accordingly.

Job profile setup is a one-time process that takes about two weeks of back-and-forth. Once it's dialled in, it stays unless the business changes its preferences or expands its service area.

2

Pre-Qualification Before Delivery

Every lead goes through our four-point qualification before it reaches the contractor: confirmed damage or need, confirmed service area, confirmed homeownership, confirmed 30-day intent. Leads that don't pass are discarded — the contractor never sees them and is never charged for them.

For this business, roughly 40% of raw leads were discarded at the qualification stage. What reached them was a smaller but significantly higher-intent group.

3

Exclusive Delivery — One Contractor Per Lead

Each lead is delivered to a single contractor in the service area. The homeowner's contact details, damage description, and property address are sent directly — no portal, no login, no competing bids being solicited in parallel.

The contractor receives the lead by SMS and email within minutes of qualification. Response time matters in roofing — a homeowner with recent storm damage is motivated and will move quickly if someone engages them promptly.

74% Lower Cost Per Job. 3× the Close Rate. Same Lead Volume.

−74%

Cost Per Acquired Job

Monthly subscription cost divided by jobs won — down 74% compared to the previous ad spend model over the same period.

41%

Lead-to-Job Close Rate

Up from 13% on shared leads. With no competing quotes being run in parallel, the sales process had room to work.

12+

Jobs Won Per Month

Up from 3–4. The same 30 leads per month produced three times as many jobs when each one was exclusive.

What This Meant for the Business

  • Ad management overhead eliminated — no agency fees, no campaign monitoring, no keyword strategy to maintain. The business owner got back the time and mental bandwidth that ad account management was consuming.
  • Predictable monthly pipeline — 30 qualified leads per month, every month, regardless of seasonality, algorithm changes, or competitor bid increases. Crew scheduling became significantly easier.
  • Margins improved across the board — without the pressure of competing against three other contractors on every quote, the business stopped discounting. Average job value increased by around 11% in the first quarter.
  • Growth became plannable — with a known monthly lead input and a known close rate, the owner could model revenue forward and make hiring and equipment decisions with confidence.

Does This Sound Familiar?

The situation this contractor was in — high spend, inconsistent quality, losing jobs to competitors on the same lead — is the norm in paid roofing lead generation, not the exception. Some indicators that your current model has the same problem:

You're getting calls but closing fewer than 20% of inbound leads on jobs that should be straightforward wins

Your monthly ad spend is within a factor of two or three of your average job value — the margin for error is razor thin

Homeowners you quote mention they're "getting a few other quotes" — a clear sign the lead was shared

Lead volume fluctuates significantly month to month, making crew scheduling and forward planning unreliable

You or your sales team spends significant time on calls that go nowhere — leads that were never serious buyers

You have an agency managing ads but don't have clear visibility into what each won job is actually costing you in marketing spend

Common Questions

Are You Paying for Leads That Go to Your Competitors Too?

If your close rate on inbound leads is under 25%, there's a good chance the problem is exclusivity, not your sales process. Let's look at the numbers.