Marketing for established US home service businessesManagement from $1,500/month, plus ad spendWritten qualified-lead minimum before paymentMonth-to-month serviceYou own the delivered website codeFree strategy call and initial auditMarketing for established US home service businessesManagement from $1,500/month, plus ad spendWritten qualified-lead minimum before paymentMonth-to-month serviceYou own the delivered website codeFree strategy call and initial audit
SFWeb Tech.
Free roofing measurement template

Roofing lead ledger: track one journey across every touch.

Store one record for each unique business journey and a separate record for every call, form, chat, booking, or follow-up. Link duplicates, preserve attribution, and advance estimates, proposals, sold work, and collected revenue only once.

Reviewed by SF Web Tech · September 25, 2026 · Synthetic examples · No email gate

Five-tab XLSX workbook

Includes Overview, Opportunity ledger, Touch ledger, Field definitions, and controlled Lists. The default view contains synthetic records only.

Download the roofing lead ledger (.xlsx)

Operational template. It is not a benchmark, CRM, accounting system, or client result.

One journey, many touches

Keep interaction history without inflating opportunity volume.

Three attribution layers

Preserve observed, normalized, and customer-declared source evidence.

No personal data required

Use internal IDs and keep contact details in the systems that protect them.

The short answer

Calls and forms are activity. The journey is the opportunity.

A homeowner can find the roofer, submit a form, call the office, receive a booking message, and return through another search before the estimate. Those interactions matter, but they can describe one buyer. Count the journey once. Keep the touches so the team can understand how the buyer moved, where duplicates occurred, and what needs follow-up.

Two-ledger model

Give each number one meaning.

The workbook separates the commercial unit from the interaction history. That keeps touch volume useful without letting it become lead volume.

Difference between the opportunity ledger and touch ledger
LedgerOne row representsContainsCounting use
Opportunity ledgerOne unique business journeyQualification, territory, appointment, inspection or estimate, proposal, sold, paid, collected revenue, costs, and refunds.Lead-to-revenue stages
Touch ledgerOne interactionChannel, source, medium, campaign, referrer, landing page, declared source, duplicate link, and next stage.Interaction and attribution history
Commercial sequence

Advance the outcome on the journey record.

  1. 01

    Touch

  2. 02

    Inquiry

  3. 03

    Accepted opportunity

  4. 04

    Inspection or estimate

  5. 05

    Proposal

  6. 06

    Sold work

  7. 07

    Paid work

A roofing company can rename the stages to match its process, but the meaning must stay stable across sources and reporting periods. Proposal value, sold value, first payment, and collected service revenue answer different questions.

Deduplicate without erasing history

Link the repeat touch to the original.

business_key

Recognizes the same business or household without storing contact details.

journey_id

Connects qualification and commercial outcomes to one opportunity.

touch_id

Identifies each call, form, chat, booking, email, or follow-up.

duplicate_flag

Keeps the repeated interaction visible while excluding it from unique-touch counts.

duplicate_of_touch_id

Points a duplicate interaction to the original touch.

Preserve attribution layers

Keep the evidence when sources disagree.

  1. 1

    Observed referrer or provider source

    What the browser or source platform recorded, when it is available.

  2. 2

    Normalized source and medium

    The company's documented mapping used for consistent reporting.

  3. 3

    Declared discovery source

    What the customer says led them to the business.

A customer saying “ChatGPT” should not overwrite a captured search or referral field. Preserve both observations and record attribution confidence. A self-report does not prove an AI answer, a website referral, or a paid outcome by itself.

Commercial values

A quote is not collected revenue.

Keep the job values and acquisition costs separate. The workbook does not calculate profit or return because those measures require the company's own accounting scope.

Proposal value

The quoted amount.

Sold value

The accepted contract value.

First payment

The first payment received for the accepted work.

Collected service revenue

Cash actually collected for the job.

Media spend

The channel spend assigned to the reporting cohort.

Management fee

The marketing management cost for the same cohort.

Software cost

The tracking and marketing software cost in scope.

Refunds and credits

Amounts that reduce cost or collected revenue.

Use the workbook

Set the definitions before the reporting cycle.

  1. 01

    Write the service, territory, qualification, source, and accounting rules your team will use.

  2. 02

    Create one Opportunity ledger row for each unique business journey.

  3. 03

    Add every call, form, chat, booking, email, or follow-up to the Touch ledger.

  4. 04

    Link duplicate touches to the original interaction instead of deleting the audit trail.

  5. 05

    Update inspections, proposals, sold work, and payments from the system that owns each stage.

  6. 06

    Switch the Overview selector to input and review unresolved records before reporting.

Download the five-tab roofing lead ledger

The workbook opens on four synthetic journeys and six synthetic touches, including one duplicate. Replace them with input rows or keep them only as labeled training examples.

Download the roofing lead ledger (.xlsx)
Privacy boundary

Use internal IDs.

Do not enter names, phone numbers, email addresses, street addresses, transcripts, payment identifiers, or confidential claim details. Keep protected customer data in the systems designed to store it.

Method boundary

Use your company's rules.

The synthetic figures do not represent typical roofing conversion rates, job values, costs, or payment patterns. Document serviceability, qualification, source mapping, stage ownership, and accounting treatment before reporting. Formulas and validation are prepared for 200 data rows in each ledger; extending beyond that boundary requires a deliberate table, formula, and validation review.

Roofing lead ledger questions

Use one method across every channel.

These answers describe the workbook method. They do not establish a universal roofing benchmark or platform rule.

What is a roofing lead ledger?
It is a structured record that connects marketing interactions to one unique roofing opportunity and its later sales stages. This template uses one Opportunity ledger for the journey and one Touch ledger for calls, forms, chats, bookings, and follow-ups.
How do roofing companies avoid counting the same lead twice?
Give the business journey one stable journey ID, link every interaction to it, and mark duplicate interactions with the original touch ID. Keep the interactions for attribution and audit work, but count the opportunity once.
What is the difference between a call, an accepted opportunity, and a sold job?
A call is an interaction. An accepted opportunity meets the roofing company's documented service, territory, fit, timing, and decision rules. A sold job is a later commercial outcome recorded after the customer accepts the agreement.
How should ChatGPT, Google Search, Google Ads, and Local Services Ads attribution be stored?
Keep the observed referrer or provider source, the normalized source and medium, and the source stated by the customer in separate fields. They can disagree. Record the available evidence and confidence instead of overwriting one source with another.
Should proposal value count as roofing revenue?
No. Proposal value is a quote, sold value is the accepted contract value, and collected service revenue is cash actually collected. Keep those values separate, along with acquisition costs, refunds, and credits.
What customer data belongs in this spreadsheet?
Use stable internal IDs and operational status fields. Do not enter names, phone numbers, email addresses, street addresses, transcripts, payment identifiers, or confidential claim details.
Book a free call