Lead Source Attribution for Contractors Without a Data Team
Connect calls, forms, estimates, booked jobs, and collected revenue without turning your office into a reporting department.
By Solvana Equity editorial team · Updated
Home Services: the full revenue systems guideThese systems can be adapted for any industry — the structure stays the same, the details change.
The Problem
The ad agency reports 100 leads while the office reports 18 booked jobs. Neither can explain which sources produced those jobs or how many ‘leads’ were duplicate calls, wrong-area inquiries, or existing customers.
Why This Happens
Marketing and delivery tools use different record identifiers and definitions. A source tag that gets overwritten on every visit destroys the link between the original inquiry and the eventual job.
System Breakdown
1Choose a source dictionary
Start with paid search, organic search, referral, repeat customer, partner, and unknown. Preserve campaign details separately. Use actual form UTM values, call tracking where configured, and a short ‘How did you hear about us?’ question. Do not turn an unknown source into a guess.
2Carry one identifier through the job
Link inquiry ID to opportunity ID, quote ID, and job or invoice ID. Merge duplicate contacts while retaining separate opportunities when they represent different jobs. Keep original source immutable and record later touches in separate fields.
3Build the weekly five-metric view
For each source, show inquiries, two-way contacts, appointments kept, booked jobs, and average booked job value. Calculate contact rate as contacts/inquiries and close rate with a clearly stated denominator, such as booked jobs/kept appointments. Keep collected revenue in a separate column.
Sound familiar?
Get a quick diagnosis of your current setup — no pitch, just clarity.
4Reconcile before reallocating spend
Every week sample five booked jobs and trace each back to an inquiry. Monthly, divide channel spend by booked jobs to estimate acquisition cost, noting incomplete cohorts and overhead exclusions. Do not compare this week's spend to old jobs that happened to close this week.
The Fix
Start with one source dictionary and linked identifiers. Reconcile a small sample manually before automating reports; a clean small report is more useful than a detailed but untrustworthy dashboard.
Want this system reviewed for your business?
Submit your current setup and I'll identify what to fix first. No pitch — just a structured breakdown.
Request a Revenue Leak Audit