NEWSignal for CallRadius and ClickRadius: self-serve local intelligence from $29 a month. Explore both
MeasurementOctober 26, 20265 min read

From lead to booked job to revenue: closing the loop

Leads are a cost. Jobs are revenue. The link between them is the number most owners never measure. How matching works, why the unmatched gap should stay visible, and how to record job values without new software.

The RadiusLocal teamRadiusLocal.ai · Scottsdale, Arizona
CallRadius Signal
Illustration created for this article.
In short
  • Advertising reports stop at the lead. Your business runs on booked jobs and the revenue they bring.
  • Matched revenue counts only jobs you can tie to a specific lead. Unmatched outcomes are a gap, not a zero.
  • In our public demo, a fictional roofer has 34 booked jobs and 29 revenue matches, leaving five unresolved.
  • Show the gap next to the return figure, so nobody makes a budget decision on an incomplete number.
  • Recording job values can be as simple as one extra column in a spreadsheet.

The report stops at the lead

An ad platform knows what you spent and how many people contacted you. It doesn't know which of those people hired you, or what the job was worth. That part lives in your calendar, your invoices and your head.

So most owners judge advertising on cost per lead. It's a reasonable start, but it measures the cost of a phone ringing, not the value of the work that follows. Two categories with the same cost per lead can be very different businesses: one fills the schedule with small repairs, the other brings in replacements worth many times more.

Closing the loop means following each lead three steps further: did it become a distinct customer, did it become a booked job, and what was that job worth?

Three stages, three numbers

Here's how the chain looks in the CallRadius Signal public demo. The business, Summit Roofing & Construction, is fictional and every figure is synthetic, but the arithmetic is consistent.

StageDemo figureWhat it tells you
Spend$4,836 over 30 daysWhat advertising cost.
Distinct people78, from 124 reported conversionsHow many real prospects that bought. $62 each.
Booked jobs34, or 43.6% of distinct leadsHow many became work. About $142 of spend per booked job.
Revenue matches29 of the 34 booked jobsHow many have a known value attached.
Matched revenue$37.4KThe value you can actually trace back to leads.

Matched revenue divided by spend works out to the demo's observed return: 7.7 times. The word "observed" is doing real work. It's the return you can see from matched jobs, not an estimate of everything the ads produced.

The first step, from conversions to people, has its own article: Google says $39. The real number is $62. This one is about the last two.

Matched and unmatched outcomes

A booked job is matched when you can tie it to a specific lead and a specific value: this caller, on this date, became this $8,000 job. It's unmatched when you know it was booked but the value isn't recorded yet. The invoice hasn't gone out, the job was rescheduled, or nobody entered the figure.

In the demo, five of the 34 booked jobs are unmatched. That's the gap that matters. Those five could each turn out to be a large job, a small one, or a booking that never became paid work. Until they're resolved, nobody knows.

The tempting shortcut is to estimate them: "average job is about $1,300, times five, add it in." Don't. An estimate quietly mixed into a measured total can't be separated out later, and the person reading the report can't tell how much of the number is real.

Why the gap belongs on the page

A return figure with its gap shown is more useful than a bigger number with the gap hidden.

HELM, the expert layer in Signal, is built to treat this gap as part of the answer. In the demo, its executive read says it found five booked outcomes not yet matched to revenue and will show that gap before answering any question that depends on return. The demo's category view does the same at a smaller scale: Roof Replacement takes 35% of spend and 57% of matched revenue, and HELM notes that two unresolved outcomes "can change the magnitude, not the current direction." The demo's sample report ends with the same instruction: resolve five unmatched outcomes before changing budget.

That's the right order for three reasons:

  • Budget decisions depend on return. Cutting a category because its revenue looks thin is a mistake if its biggest jobs are the ones not yet entered.
  • The gap tells you how much to trust the number. Five unmatched out of 34 is different from twenty unmatched out of 34.
  • It's fixable. Unlike many gaps in marketing data, this one usually closes with a few minutes of record-keeping.

Agencies face the same choice in client reports, and we'd make the same call there. See Client reports that get read.

Simple ways to record job values

You don't need a CRM to start. You need a habit and one place to keep it.

  1. Give every lead a row. Start from your lead export: date, contact, category. One row per distinct person.
  2. Add three columns. Booked (yes or no), job value, and date paid.
  3. Fill it at one fixed moment. When an invoice is sent or paid, whoever sends it updates the row. Tying it to invoicing makes it hard to forget.
  4. Use the invoiced amount. Record what the customer actually paid or was billed, not the quote. Quotes change.
  5. Mark lost bookings clearly. A booked job that cancelled should say "cancelled," not be left blank. Blank means unknown.
  6. Review the blanks weekly. Count the booked jobs with no value. That count is your gap, and it should shrink.
Repeat customers and big jobsDecide in advance how you'll handle a customer whose first job leads to a second one months later, or a small inspection that turns into a full replacement. Either choice can be fine. Write the rule down and use it every month, so the figures stay comparable.

How CallRadius Signal handles it

CallRadius Signal reports the data Google gives it together with figures you enter yourself, for example what a job was worth. Where a figure is an estimate or an allocation rather than a direct measurement, Signal says so on screen. Those two points come straight from section 8 of the Signal subscription agreement.

In practice that means your job values are your figures. Signal links outcomes to the people and leads they came from, keeps unmatched outcomes visible instead of filling them in, and HELM says when outcomes are unresolved before answering anything that depends on them. It doesn't guarantee leads, bookings or revenue. It reports what happened.

The detail of each screen is in Category economics explained, and you can see the matched-revenue view in the CallRadius Signal live demo.

Start this month

Pick last month's leads, add the three columns, and fill in what you know. Count the blanks. Then divide matched revenue by ad spend and write both numbers down: the return, and how many jobs it doesn't include yet. That pair, repeated monthly with the same rules, will tell you more about your advertising than any cost-per-lead chart. If you'd like it done for you, see CallRadius Signal, with enrollment opening soon.

Questions about anything in this article? Talk to a person. We answer every message.

Start free

See where you stand in two minutes.

Run the free Google LSA Score or the AI visibility scan. No sign-up, no obligation.