Unit Economics

What a qualified roofing appointmentactually costs your shop.

Cost per appointment numbers get thrown around without context. This guide walks through the four unit costs every roofing owner should know (CPL, CPA, CPI, CPS), how they connect through ROI, CAC, and LTV, and how to use them to decide where to spend the next marketing dollar.

Executive summary

The short version for busy owners.

Four unit costs decide a roofing shop's economics: cost per lead (CPL), cost per appointment (CPA), cost per inspection (CPI), and cost per sale (CPS). Each one tells a different story.

If you only count the price a vendor charges, you are missing 40 to 60% of your true cost. Add appointment-setting labor, confirmation cost, and no-show losses to get the real number.

The right scoreboard is cost per sale measured against gross profit per job and lifetime value (CAC against LTV), not the cheapest unit at the top of the funnel.

A $400 qualified appointment that closes at 35% beats a $150 shared lead that closes at 8%. The cheaper unit is the more expensive customer.

Key takeaways

What to remember when this page closes.

  • CPL is an input. CPS is the outcome. Optimize for CPS and a healthy CAC-to-LTV ratio.
  • True CPA includes vendor fee, setter labor, CRM and SMS cost, and the dollar value of no-shows.
  • Fair market for a qualified, phone-verified roofing appointment in 2026 is roughly $200 to $450.
  • Aim for CAC at or below 20% of average gross profit per job, with LTV at least 3x CAC.
  • Compare vendors on a 60-day side-by-side, scored on cost per sale, not cost per appointment.
  • Beware vendors that quote per appointment without defining what counts as a qualified appointment.

Section 1

The four unit costs every roofing owner should know

CPL, CPA, CPI, and CPS measure four different points in your funnel. Confuse them and you will buy the wrong thing.

  • Cost per Lead (CPL): the all-in cost to generate a name and a phone number. Ad spend, lead vendor fees, and the labor to capture the lead.
  • Cost per Appointment (CPA): the all-in cost to put a confirmed appointment on a rep's calendar. CPL plus appointment-setting labor, confirmation costs, and no-show losses.
  • Cost per Inspection (CPI): the all-in cost to complete an on-site roof inspection. CPA plus the dispatch cost and the rolled cost of inspections that the homeowner missed or partially attended.
  • Cost per Sale (CPS): the all-in cost to close one signed contract. CPI plus the proposal and follow-up labor required to convert an inspection into a contract.

Each metric depends on the one before it. The mistake most owners make is optimizing the wrong one. A cheaper CPL with worse conversion produces a more expensive CPS. The math is unforgiving.

Section 2

How to calculate your true cost per appointment

Add four numbers and divide by appointments booked in the same period.

  • Lead and ad spend.
  • Appointment-setting labor (in-house staff or vendor fees).
  • Confirmation cost (CRM, SMS, voice calls).
  • No-show losses (rep time, fuel, opportunity cost on the slot).

The fourth number is the one most shops skip. A no-show is not free. It is a paid lead, a paid setter touch, a paid CRM workflow, and a billed rep hour with no revenue attached. If your no-show rate is 25%, every four appointments you book carry the cost of a fifth that never happened.

Section 3

Fair market rates in 2026

Typical residential roofing unit costs across U.S. markets
SourceCPLCPARealistic close rateImplied CPS
Raw web lead (you book)$25 to $80$120 to $2505 to 12%$1,000 to $2,800
Shared aggregator lead$60 to $150$180 to $3204 to 9%$1,400 to $3,500
Canvassed door knockn/a$150 to $28010 to 18%$900 to $2,200
Self-booked appointmentn/a$120 to $30015 to 25%$500 to $1,500
Qualified, phone-verified appointmentn/a$200 to $45025 to 40%$500 to $1,400

Section 4

CPL vs CPA vs CPI vs CPS, side by side

How the four unit costs stack at typical conversion rates
MetricWhat it measuresWhat hides inside itWhy it matters
CPLCost to generate a contactBad numbers, junk leads, duplicatesUseful to compare lead sources, but not a decision metric on its own.
CPACost to book a confirmed appointmentSetter labor, no-show losses, confirmation toolingBetter signal than CPL because it requires real homeowner engagement.
CPICost to complete an inspectionDrive time, partial shows, dispatch overheadThe first metric that reflects field reality.
CPSCost to close one signed contractSales labor, follow-up, proposal costThe only unit cost that ties directly to revenue and margin.

Section 5

ROI, CAC, and LTV in one view

Three numbers turn unit costs into a business view.

  • ROI: revenue from closed contracts divided by total marketing spend in the same period. Most roofing shops should target 5x to 10x on retail and 8x to 15x on insurance.
  • CAC (Customer Acquisition Cost): total marketing and sales spend divided by new customers acquired. Healthy roofing CAC sits at or below 20% of average gross profit per job.
  • LTV (Lifetime Value): average gross profit per customer over the relationship, including repairs, repeat work, and referrals. Healthy roofing LTV is at least 3x CAC.

A shop with a $1,200 CPS, a $4,800 average gross profit per job, and a 1.4x repeat-and-referral multiplier is running at roughly 6:1 LTV-to-CAC. That is a business worth scaling. A shop with a $1,200 CPS and a $2,500 gross profit per job is running at roughly 2:1, and every new dollar of spend makes the problem bigger.

ROI and CAC-to-LTV at common conversion levels
ScenarioCPSAvg gross profit / jobLTV multiplierLTV : CAC
Cheap leads, low close rate$2,200$3,5001.2x1.9 : 1
Mid-market mix$1,500$4,5001.3x3.9 : 1
Qualified appointments, disciplined sales$1,100$5,2001.5x7.1 : 1

Section 6

Why a higher unit price often wins

A $400 qualified appointment that closes at 35% costs $1,143 per signed contract. A $150 shared lead that closes at 8% costs $1,875 per signed contract. The cheaper unit is the more expensive customer once you do the division.

Cheap units also carry hidden taxes. Lower close rates put pressure on reps, who burn out faster. More no-shows raise truck and fuel cost per sale. More follow-up attempts crowd the CRM and slow response on the next lead. The line item on the invoice is the smallest cost in the system.

Three perspectives

How three honest reviewers would frame this.

Optimistic

Once owners track CPS and LTV-to-CAC weekly, the right vendor becomes obvious. Most shops stop chasing cheap leads inside 60 days.

Balanced

Cost per appointment is a starting point, not a decision. Pair it with close rate, average ticket, and gross margin before changing vendors.

Critical

Every vendor benchmark, including ours, is self-serving to some extent. Run a 60-day side-by-side with two sources before trusting any of these numbers.

Decision framework

A practical way to choose.

Find the row that matches your situation. Use it as a starting point, not a verdict. A short strategy call will sharpen the answer for your specific market.

If this describes youRecommended pathWhy
You spend under $5,000 a month on leadsTrack CPS and CAC in a spreadsheet for 60 days before changing anything.Volume too low to draw conclusions without a real sample.
You spend $5,000 to $20,000 a monthTest a qualified-appointment source against your current spend, 50/50, for one quarter.Enough sample to compare close rates and CPS honestly.
You spend over $20,000 a monthHire a dedicated revenue operations lead to manage CPS and LTV-to-CAC weekly.Spend is large enough that a 10% improvement pays the salary.
CAC is above 25% of average gross profit per jobTighten qualification before spending more. Cheap volume is not the answer.Adding spend on a broken funnel raises CAC faster than it raises revenue.

Questions answered

What contractors ask before they start.

What is a fair price for a qualified roofing appointment?
Most U.S. markets fall between $200 and $450, depending on geography, season, and qualification standard.
How is cost per appointment different from cost per lead?
A lead is a name and a number. An appointment is a confirmed time on a rep's calendar with a qualified homeowner. The work to bridge the two is real cost.
Why are some vendors so much cheaper?
Cheaper usually means looser definitions. A $99 appointment that shows up half the time costs more than a $400 appointment that shows up 90% of the time.
How do I compare two vendors fairly?
Run them for 60 days side-by-side. Compare cost per sale and LTV-to-CAC, not cost per appointment.
What is a healthy CAC for a roofing shop?
CAC at or below 20% of average gross profit per job is healthy. Above 30% means you are buying revenue, not building a business.
Should I in-source appointment setting?
Only if you can build a team that hits the same qualification standard a specialist vendor does. Most shops underestimate the training and tooling required.
Does cost per appointment vary by season?
Yes. Storm season tightens supply and raises cost. Build a seasonal budget instead of a flat monthly one.

Book your strategy call

See if your market is still open.

We work with one roofing company per Metro Area. In 30 minutes we will review your service area, pricing, and capacity, then tell you straight whether we are a fit. No pressure, no commitment on the call.

Book Your Strategy Call Or call (561) 782-3675

Clear contracts. No pressure. Limited territories.