Two formulas, same spend
spend on a channel in a period ÷ leads from that channel in the same periodthe same spend ÷ leads from that channel that became booked jobsBoth divide the same money. Only the number you divide by changes, and that is where channels come apart: a channel with cheap leads that rarely book can cost more per booked job than one with expensive leads that usually do.
Revvy's Breakdowns screen sets the two side by side for each lead source, next to the leads, the bookings and the booking rate.
Why a lead is not a job
Ad platforms count what they charge for or what they can see. Local Services Ads charges per lead: "You're charged for each valid lead you receive through your Local Services ad." Google's list of valid leads includes this one: "You missed a phone call during your business hours and the customer stays on the line for more than 20 seconds." A missed call can be a charged lead and never become a job.[1]
Google Ads call tracking counts something else again. Its help page says:
This kind of conversion tracking tracks a call as a conversion when it lasts longer than a minimum length you set.
So a call that runs past a length you chose is a conversion. Whether the caller booked is not part of that count.
Neither figure is wrong. Each answers the platform's own question: what you were charged for, or how long the call lasted. Which leads turned into work on your schedule is in your records, and so is your cost per booked job.
What you need from your records
- Spend by channel and period: the amount, the first and last day it covers, and the source it paid for.
- Leads with a source, the date each came in, and a booked status or booked date. Include the leads that never booked; a file of booked work alone shows every channel booking 100%.
- Matching names. The source on a spend row has to be the one on the leads it paid for, or that spend has no leads to divide by.
Spend on a channel that none of your lead sources covers has nothing to go under. Leave it out of this sum rather than filing it under a source it did not buy leads for; otherwise that source looks more expensive than it is.
The Records Checklist lists these fields with the rest of a trades business's exports, and gives you a gap list for the ones you cannot produce yet.
Work it out by channel
For each paid channel, over the same dates, add up the spend, count the leads, count the ones that booked, and divide. Then hold the results to three rules.
Leave the newest leads out
A lead from last Tuesday may not have been called back yet. Count it as unbooked and every channel looks more expensive than it is. Revvy's channel check counts only leads at least 14 days old at the end of the period, booked or not, and sets them against the spend over the same days, so both sides of the sum cover leads that have had time to book. Fourteen days is Revvy's default, a judgement and not an industry figure.
A channel that booked nothing ranks last
Spend divided by zero bookings has no answer, and it is tempting to drop the channel from the table. Keep it, at the bottom. A channel that took money and booked nothing is your weakest channel, not a missing one. Revvy ranks every paid channel with no booked job below all the others, and its Breakdowns table marks it "Paid, no bookings".
Spend with no leads: check the names first
If a channel has spend on file and not one lead carries its name, look at the spelling before you judge it. "Google Ads" on the spend sheet and "Google PPC" on the leads will never meet. Revvy leaves that spend out of the ranking and names it as it was recorded, because a mismatch in names is not a finding about a channel. Its Breakdowns screen lists it as spend with no leads and says: "Either the leads are filed under another name, or the money produced none."
Small numbers
A channel with a handful of leads can swing from cheap to expensive on one booking. Revvy will not state a booking rate on fewer than 20 leads, and its channel check needs at least 20 leads and two paid channels before it compares any. On your own sheet, hold each channel to the same 20-lead floor: under 20, write the figure down, but do not rank the channel on it yet.
One paid channel on its own has nothing to be measured against, and Revvy says so rather than ranking it against an imagined benchmark. This post gives no typical cost per lead or cost per booked job for the same reason. We have none that we could check, and your own channels are the fairer comparison anyway.
What Revvy shows
The Breakdowns screen lists each lead source with its leads, bookings, booking rate, spend in the period, cost per lead and cost per booked job. Beside it, an attribution gaps panel counts leads with no source recorded, names spend with no leads, and says that jobs with no originating lead cannot be measured.
That last line is a real limit. In Revvy's import formats a call carries no source and a job carries no link to the lead behind it, so Revvy ties a source to leads and bookings only, not to completed jobs or their revenue.
Revvy's channel check, "Spend concentrated in the weaker channels", prices moving part of the weakest paid channel's budget to the best one. It values the moved money at a cost between the two channels' own rates, because a cheap channel costs more as more is pushed into it, and it stops at whichever limit it reaches first: a third of the weak channel's budget, or half again what the best channel already spends. Both are Revvy's defaults, and the working names the one it hit. That is a model, not a measurement, and the working says so. Both rates are the business's own; the two limits are Revvy's judgement, not industry figures.
DemoContoso Plumbing & Drain
In the demo, one of Contoso's paid channels costs several times what another does. Open Contoso's Breakdowns screen in the demo to see cost per lead and cost per booked job side by side, on demo data.
If you buy leads on Local Services Ads, its move into Google Ads is a good reason to keep this history yourself: Local Services Ads are moving: keep your lead data explains why. The other worksheets are on the Resources page.
Questions people ask
How is cost per lead calculated?
Divide what a channel cost over a period by the leads it brought in over the same period. Use the same dates for both, and count every lead, booked or not. Cost per booked job divides the same spend by the leads that became booked jobs.
How do I lower my cost per booked job?
Nobody can promise a lower figure, and Revvy holds no industry figure to aim at. Work it out by channel on your own records first, so you know which channel is weakest and why.
A channel whose leads rarely book points you at what happens after a lead arrives: how calls are answered and how fast leads are called back. Measure your booking rate without the 14-day trap covers that part. A channel whose leads book well but cost a lot points you at the channel itself.
Can I see it by channel from the ad platform?
Only part of it. An ad platform counts what it charges for or what it can see, such as charged leads or calls longer than a length you set. Google Ads describes one way to bring sales back in: "If you use another system to track when calls lead to sales or other conversions, you might want to create an import calls conversion action instead."[2] Revvy reads no ad platform. It works from the spend and leads files you give it, with the booked status from your own records.
Which channel would you cut first?
We cannot say from here, and nobody can without your numbers. Revvy's channel check prices moving part of the weakest paid channel's budget to the best one, using your own channels' costs per booked job, and stops at whichever of its two limits it reaches first: a third of the weak channel's budget, or half again what the best channel spends. It needs spend on file and at least two paid channels to do that.
Sources
- Google, Local Services Help. How leads work (opens in a new tab). No date shown on the page; read October 8, 2026.Platform documentation that may change while Local Services Ads move into Google Ads. The second sentence is listed on the page as a scenario that generates a valid lead; lead credits and exceptions are described on the same page.
- Google Ads Help. Set up Tracking calls to a phone number on a website (opens in a new tab). No date shown on the page.A call conversion is a call over a set length, not a booked job.