Ask ten roofing owners how their marketing is performing and you’ll get some version of the same answer: “I think it’s working, but I honestly couldn’t prove it.”

That’s not a knowledge problem. It’s a measurement problem — and it’s fixable in about ninety days. This is the framework we use to get there.

Start with the only question that matters

Every marketing metric exists to approximate one question: for each dollar I put in, how many dollars of profitable, completed work came out?

Impressions, clicks, even raw lead counts are all proxies — some useful, some actively misleading. The further a metric sits from revenue, the less weight it deserves in your decisions. Most roofing companies run their marketing on metrics three or four steps removed from money, which is why their gut and their reports so often disagree.

The four numbers that actually run the business

You don’t need forty KPIs. You need four, tracked consistently, by channel.

1. Cost per qualified opportunity

Not cost per lead — cost per qualified opportunity. The difference is everything.

A “lead” includes the solicitor, the homeowner two counties outside your service area, and the person looking for a $150 gutter repair. A qualified opportunity is a contact from a real prospect, in your territory, for work you actually do. In our client accounts, somewhere between 40% and 70% of raw leads survive that filter — which means unfiltered cost-per-lead numbers can be off by 2x or more.

To get this number you need two things: call tracking that attributes each call to a source, and someone actually scoring calls each week. Neither is expensive. Both are non-negotiable.

2. Booking rate on qualified opportunities

Of the real opportunities, how many turned into a scheduled estimate? This number measures your intake — speed to answer, quality of the phone conversation, and follow-up on missed calls.

It’s also where the cheapest ROI improvement in roofing usually hides. If you generate 40 qualified opportunities a month and book 60% of them, getting to 75% is worth six additional estimates per month — with zero extra ad spend. No campaign optimization can compete with that.

3. Close rate and average job value, by source

Leads from different sources close differently and are worth different amounts. Storm-driven insurance work behaves nothing like planned replacements; LSA calls behave differently from organic ones. If you track close rate and job value by source, you’ll often find that your “cheapest” lead source produces your least valuable jobs — and that a channel with a higher cost per lead is quietly your most profitable.

This requires your CRM to carry the lead source through to the closed job. That’s a workflow decision, not a technology problem: source data has to be attached when the lead arrives, not reconstructed from memory at the end of the quarter.

4. Revenue per channel, over a trailing twelve months

Roofing is seasonal, so monthly ROI snapshots lie. A trailing-twelve-month view smooths out the storm spikes and the February troughs and shows you what each channel actually contributes across a full cycle. It also protects you from the classic mistake: cutting a compounding channel like SEO during a slow month, then paying to rebuild the visibility eighteen months later.

The comparison trap: judging channels on the wrong timescale

A fair evaluation matches the judgment window to the channel’s mechanics:

ChannelFair evaluation windowWhat to watch early
Local Services Ads30–60 daysCost per qualified lead, dispute rate
Google Ads60–90 daysSearch-term quality, cost per opportunity
SEO6–12 monthsRankings trend, profile actions, organic calls
Website changes30–90 daysConversion rate on existing traffic

Judging SEO on a 60-day window guarantees disappointment; judging paid search on a two-week window guarantees churn. Set the windows in advance, in writing, and hold every channel — and every vendor — to its own honest timescale.

What to demand from whoever runs your marketing

If an agency (ours included) manages your marketing, their reporting should let you answer all of these without a follow-up email:

  • How many qualified opportunities did each channel produce this month?
  • What did each one cost?
  • How does that compare to last month — and to this month last year?
  • Which markets are strong, and which are slipping?
  • What specifically will change next month because of these numbers?

If the reports you receive lead with impressions, clicks, and “engagement,” you’re being shown activity, not outcomes. Activity is what the invoice pays for; outcomes are what it’s supposed to buy.

A ninety-day path to real measurement

You don’t have to rebuild everything at once:

  1. Weeks 1–2: Install call tracking with source-level numbers for every channel. Wire form submissions into the same system.
  2. Weeks 3–4: Start scoring calls weekly — qualified, out of area, solicitor, existing customer. Thirty minutes a week is enough.
  3. Month 2: Push lead source into your CRM and make it a required field on every new job.
  4. Month 3: Build the four-number report by channel, and schedule a standing monthly review to act on it.

After ninety days, marketing stops being a faith-based expense. Budget conversations get shorter, vendor conversations get more honest, and the money moves toward what’s demonstrably working — which is the entire point.