Measuring marketing in jobs won, not leads
An agency report that says '47 leads this month' tells a trade business almost nothing. Were they in your area? Did they answer the phone? Did any become work? This guide sets out a measurement method built on the only number that pays the mortgage, jobs won, and shows how to attribute those jobs back to what you spent.
Why leads mislead
A lead is a contact. It might be a homeowner ready to book, a tyre-kicker, a competitor, a sales call, a job 40 miles outside your area, or a form filled in by a bot. Counting them together and dividing spend by the total produces a cost per lead that looks precise and means nothing.
Worse, cost per lead rewards the wrong behaviour. The cheapest way to cut it is to generate more junk. An agency paid on leads, or judged on leads, drifts towards volume. An agency judged on jobs cannot.
Some firms have adopted the language. Local Leads Accelerator leads with 'clicks don't pay the bills, jobs do' and reports on cost per booked job; Lead Wave says it measures Google Ads on booked jobs; Roofing SEO Services reports on booked jobs rather than traffic; Get Work's dashboard sets spend against job value. The method below is how to hold any provider, or yourself, to that standard.
The five numbers that matter
Everything else, clicks, impressions, rankings, followers, is diagnostic. Useful for working out why jobs went up or down, useless as a measure of whether marketing is working.
| Number | Definition | Why it matters |
|---|---|---|
| Enquiries | Every inbound contact, any channel | The top of the funnel, nothing more |
| Qualified enquiries | In area, right service, real person | Removes the noise before you judge a channel |
| Quotes issued | Priced work sent to a qualified enquiry | Shows whether enquiries are serious |
| Jobs won | Quote accepted and work booked | The outcome |
| Revenue won | Sum of accepted quote values | Because a £200 job and a £12,000 job are not the same 'lead' |
Step 1: Tag every enquiry with a source
You cannot attribute jobs to spend unless each enquiry carries a source. The sources for a typical trade business are: Google organic (website or map listing), Google Ads, Facebook or Instagram, a directory such as Checkatrade, recommendation, repeat customer, van or signage, and other.
For digital sources, tracking does the tagging: a separate phone number on the ads landing page, a hidden field on the web form, a tracked number on the Google Business Profile. For the rest, you ask. 'How did you hear about us?' takes four seconds on the first call and should be a mandatory field in your CRM, as described in our one-van CRM guide.
Accept imperfection. Customers say 'Google' when they mean an ad and 'a friend' when the friend sent them a link to your site. The errors roughly cancel and a tagged-but-fuzzy dataset beats an untagged one every time.
Step 2: Carry the tag through to the job
The source tag is set when the enquiry arrives. It must travel with the record through quoted, won and done. If your quote tool and your CRM are separate and the tag gets lost between them, the whole exercise fails at the final step.
This is the strongest practical argument for a single system in which enquiry, quote and job are one record with a changing status, rather than three tools stitched together. The architecture is described in the anatomy of a trades lead system.
Step 3: Build the monthly table
At the end of each month, produce one table with a row per source. Columns: spend, enquiries, qualified, quotes, jobs won, revenue won, cost per job, revenue per pound spent.
A worked example, invented for illustration, for a heating engineer in a single month:
| Source | Spend | Enquiries | Qualified | Jobs won | Revenue | Cost per job |
|---|---|---|---|---|---|---|
| Google Ads | £600 | 31 | 19 | 6 | £4,100 | £100 |
| Google organic | £150 (SEO fee share) | 22 | 18 | 8 | £6,300 | £19 |
| Facebook ads | £300 | 26 | 9 | 1 | £350 | £300 |
| Directory | £90 | 8 | 6 | 2 | £900 | £45 |
| Recommendation | £0 | 9 | 9 | 7 | £5,800 | £0 |
Step 4: Read it properly
In the worked example, Facebook produced the most enquiries per pound and the fewest jobs. On a cost-per-lead report it would look fine, at around £12 a lead. On a cost-per-job report it is the channel to cut or rethink, at £300 a job for £350 of revenue.
Google organic looks cheap because the SEO fee is spread over a long-lived asset. That is the honest picture: an owned website keeps producing after the month's spend, where an ad stops when the budget does, a point argued in campaigns are rented, systems are owned.
Recommendation is the best channel and cost nothing, which is why review automation, the engine that turns finished jobs into the next enquiries, deserves a line in the table too even though its 'spend' is a software fee.
One month is noisy. Three months is a trend. Do not kill a channel on one bad month, especially in a trade with seasonality; do kill it after a quarter of the same pattern.
Step 5: Add the lag
A roofing quote issued in October may be accepted in January. If you count jobs in the month they were won, October's ad spend looks wasteful and January's looks brilliant. Attribute each job to the month its enquiry arrived, not the month it closed. Your table for October will keep changing for a quarter, and that is correct.
For emergency trades the lag is hours and you can ignore this. For extensions, conservatories and solar, it is the difference between a sensible decision and a panicked one.
Holding an agency to it
Ask any agency, before signing, what number they will report on. If the answer is leads or clicks, ask whether they will accept your jobs-won table as the measure instead, and whether their system can carry a source tag through to the job. A provider whose platform shows spend against job value, as Get Work's does, has at least built for the right answer.
Then run your own table regardless. The agency's dashboard reports their part of the chain. Your table reports the outcome. The providers in our ranking of marketing systems for trades are assessed partly on whether their systems make this kind of end-to-end measurement possible.
The one-line version
Divide what you spent on each source by the jobs it produced, counted at the month the enquiry arrived, and look at the result over three months. Everything else about marketing measurement is detail.
Frequently asked questions
What counts as a qualified enquiry?
A real person, in your service area, asking for a service you offer. Everything else is noise and should be excluded before judging a channel.
How do I know the source of a phone call?
Use different tracked numbers for ads and your Google listing, and ask every caller how they found you. Record the answer in the CRM as a required field.
Should I measure revenue or job count?
Both. Job count shows whether a channel produces work; revenue shows whether it produces the right work. A channel that wins ten £150 call-outs is not the same as one that wins two £8,000 refits.
How long before I can judge a channel?
Three months of the table, with jobs attributed to the month their enquiry arrived. One month is too noisy, especially for project trades with a long decision lag.