Guide

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.

Marketing Systems for Trades 2026-11-08 Guide
Whiteboard table tracking enquiries by source through to booked jobs and cost per job

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.

NumberDefinitionWhy it matters
EnquiriesEvery inbound contact, any channelThe top of the funnel, nothing more
Qualified enquiriesIn area, right service, real personRemoves the noise before you judge a channel
Quotes issuedPriced work sent to a qualified enquiryShows whether enquiries are serious
Jobs wonQuote accepted and work bookedThe outcome
Revenue wonSum of accepted quote valuesBecause 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:

SourceSpendEnquiriesQualifiedJobs wonRevenueCost per job
Google Ads£60031196£4,100£100
Google organic£150 (SEO fee share)22188£6,300£19
Facebook ads£3002691£350£300
Directory£90862£900£45
Recommendation£0997£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.

M
Marketing Systems for Trades
Playbooks and provider analysis from people who build lead systems for trades. Edited by Tom Riley.