Conversion tracking for roofing companies, from inspection to signed job
A roofing lead is worth nothing until an inspection happens and a contract gets signed, and that sequence takes weeks with a high drop-off at every stage. Measuring form submissions optimizes toward the cheapest lead rather than the most likely job, which is why so many roofing accounts look efficient and produce no work. The build attributes the call or form, follows it into the job management system, and sends the signed job back so bidding learns what a real customer looks like.
Free30 minutesNo obligation
Getting and tracking leads for roofers
Where a roofer's leads come from, and what to do with them before the contract
A roofing company's leads arrive as urgent repair calls and as replacement forms filled in at night, from Local Services Ads, Search ads, the Business Profile, marketplaces and, after storms, a flood of everything at once. Count an enquiry when it books an inspection at an address you serve, and record the source on the CRM contact so the signed contract can be traced back.
Roofing has two buyers in the same search results. The homeowner with a leak wants someone today and calls the first credible listing, which is often a Local Services Ad. The homeowner planning a replacement reads reviews, compares materials and financing, and fills in forms on three or four sites over a few weeks. A single cost-per-lead figure across both hides that one channel books repair visits and another books contracts.
Storms make it worse. Lead volume jumps for a couple of weeks, much of it from the edge of the service area or from homeowners whose claim is not approved yet, and every channel looks brilliant until the month after. Keep storm weeks flagged on the contact in JobNimbus, AccuLynx or ServiceTitan, keep the original source on the contact through inspection and estimate, and judge each channel on contracts signed over a full sales cycle.
Where the leads come from
| Channel | Role | Note |
|---|---|---|
| Local Services Ads | Leak and storm repair calls, paid per lead | Set job types and service area before storm season; no click ID, so match by phone and time. |
| Google Search ads | Replacement, materials and financing searches | Forms and calls carry a click ID, so signed contracts can be imported with their value. |
| Business Profile | Reviews and photos every roofing buyer checks | Service-area profile with the address hidden; avoid big edits to name or address in storm season. |
| Meta | Replacement and financing offers in quiet months | Measured against signed contracts in the CRM, never against inspection requests alone. |
| Nextdoor | Neighborhood referrals after jobs on the same street | Track as its own source; it often shows up as 'a neighbor recommended you'. |
| Marketplaces and lead sellers | Shared replacement and storm leads | Only worth keeping where the CRM shows signed contracts at a cost you accept. |
Which calls count
- Count it when
- Count the enquiry when the homeowner books, or tries to book, an inspection for a roof at an address inside your service area.
- Minimum duration
- A starting threshold of around a minute and a half, because a real enquiry includes an address, the problem and a time; adjust from recordings.
- After hours
- Replacement forms arrive at night and need a morning callback. Overnight phone coverage matters mainly in storm weeks, when an answering service that books inspections pays for itself only if crews can follow through.
Where each lead should land
- Local Services Ads call
- CRM contact with lead source Google LSA and the caller's number, kept through to the signed job.
- Search ad form or call
- CRM contact with the click ID, so the signed contract and its value can be imported to Google Ads.
- Business Profile call
- CRM contact with lead source Google Business Profile.
- Storm-week enquiry
- CRM contact tagged with the storm, so its contracts are reported apart from normal demand.
Roofing · what breaks
What roofing companies usually run into
- 01
Cheap leads that never become jobs
Because bidding was shown submissions.
- 02
Storm-season spikes distorting everything
Volume without a quality signal.
- 03
Calls arriving with no source
The dominant channel, unattributed.
Roofing · the fix
What changes — Roofing
Booked inspections measured
Not raw enquiries.
Signed jobs fed back to bidding
With contract value.
Calls attributed to campaigns
Down to keyword where data allows.
Roofing · architecture
The conversion map for roofing companies
Four stages with a very wide value distribution at the end — a repair and a full replacement are the same lead and very different jobs.
- 1
Enquiry (call or form)
Call tracking plus browser-side form events.
- 2
Inspection booked
Server-side from the job management system.
- 3
Inspection attended
The reliable mid-funnel target.
- 4
Contract signed
Server-side with real contract value, uploaded as an offline conversion.
- 5
Job type
Repair versus replacement. The value difference is large enough to bid on.
Roofing · diagnose
Where roofing companies tracking usually breaks
- 01
Hard-coded numbers everywhere
Roofing sites carry the phone number in headers, footers and images. Insertion can't reach most of them.
- 02
Flat conversion values
A $600 repair and a $28,000 replacement counted the same teaches bidding nothing.
- 03
Storm spikes treated as performance
Volume from a weather event isn't campaign quality, and mixing them corrupts the learning.
- 04
No link from lead to job
So the signed contract never reaches the platform that produced it.
Roofing · prove
How the work is proven — Roofing
Source of truth
your job management system's record of signed contracts
- Number insertion confirmed on every template.
- A live test call attributed to the correct campaign.
- Click ID present on a live job record.
- Signed jobs reconciled against the job system for a closed month.
Roofing · free audit
What we check in the free audit
- Hard-coded numbers everywhere
- Flat conversion values
- Storm spikes treated as performance
- No link from lead to job
Checked against
your job management system's record of signed contracts
Free30 minutesNo obligation
Roofing · when not to buy
What lands in your monthly report — Roofing
- Enquiries, inspections booked and attended, and jobs signed for the month, by channel.
- Cost per signed job and average contract value by channel.
- Calls versus forms, separated.
- Storm-driven volume flagged separately so it doesn't distort the baseline.
Roofing · what we deliver
The flow we build — Roofing
Call tracking with number insertion
Across every template, including vehicle-wrap-style footers.
Click ID written to the job record
At the enquiry, not at the sale.
Job management system as the source of truth
Inspections booked and jobs signed.
Contract value uploaded as the conversion value
So bidding optimizes toward big jobs.
Written guarantee
95%+ tracking accuracy
Measured against your job management system's record of signed contracts. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Roofing questions, answered
Yes, where you can get it. The value spread between a repair and a replacement is wide enough that flat-value bidding leaves real money on the table.
It's the normal case in roofing. Number insertion attributes the call and the job system supplies the outcome.
Flag it. Volume from a weather event is not campaign performance, and letting it into the baseline makes every subsequent month look like a decline.
Inside the 90-day window, yes. Most roofing cycles fit comfortably. Where one doesn't, inspection attended is the fallback target.
More on Roofing
- Google Ads · RoofingGoogle Ads conversion tracking for roofing companies
- Meta · RoofingMeta Ads conversion tracking for roofing companies
- TikTok · RoofingTikTok Ads conversion tracking for roofing companies
RELATED GUIDES
Funnels, reconciliation and tools for roofing companies
- Appliance repairConversion tracking for appliance repair, measured in completed repairs
- Pool cleaningConversion tracking for pool cleaning, measured in signed route customers
- Meta · Quote → closed jobHow to track quote request to closed job for Meta Ads
- Meta · Phone call → saleHow to track phone call to sale for Meta Ads
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
- RoofingGoogle Ads for roofers: the build order
- RoofersLocal Services Ads for roofers: storm spikes, bad inspections and cost per signed job
- Simpro → Google AdsConnecting Simpro to Google Ads
Free · 30 min
Bid on signed jobs, not cheap leads
Free30 minutesNo obligation
