A lead at $20 looks cheaper than a lead at $70. That is true on an advertising dashboard. It does not tell a plumbing company, roofing contractor, or local agency which campaign produces more booked work.
The gap starts after the lead arrives. Some inquiries are duplicates. Some are outside the service area. Others never answer the phone. A qualified caller may book an appointment, then cancel. The campaign with the lowest cost per lead can lose once those steps are counted.
To make a useful decision, a business needs to connect marketing spend to what happens next. The process does not require an expensive tracking platform. A weekly log and consistent definitions can reveal problems a lead report misses.
The example below is illustrative, not a claim about a real customer or campaign.
Two campaigns, two very different outcomes
Suppose a contractor runs two campaigns during the same month.
Campaign A spends $2,000 and generates 100 reported leads. Its cost per lead is $20. After staff remove duplicate inquiries, check service-area fit, and follow up, 10 of those inquiries become booked appointments.
Campaign B spends $2,100 and generates 30 reported leads. Its cost per lead is $70. Fifteen of those inquiries become booked appointments.
At first glance, Campaign A appears to be the winner. It produced more than three times as many leads at less than one-third of the cost per lead.
Now divide each campaign’s spend by its booked appointments.
- Campaign A: $2,000 / 10 bookings = $200 per booked appointment.
- Campaign B: $2,100 / 15 bookings = $140 per booked appointment.
Campaign B cost $100 more in total and delivered five additional bookings. Its booked-appointment cost was $60 lower.
This does not prove Campaign B is the more profitable campaign. The jobs may have different values, cancellations, or close rates. It does show why a business should not move its budget based on cost per lead alone.
Define the steps before measuring them
The first problem is often inconsistent language. One salesperson calls every form submission a lead. Another counts only answered calls. An agency may count phone calls that lasted longer than a certain number of seconds. Those are not interchangeable.
A practical scorecard starts with five definitions.
An inquiry
An inquiry is a unique contact attempt, such as a call or form submission. Keep the original source and date. A duplicate is a repeat contact from the same prospect about the same need, rather than another new opportunity.
A qualified inquiry
A qualified inquiry fits the service area and the type of work the business accepts. Qualification is not a prediction that someone will buy. It is a basic check that the company can serve the request.
A booked appointment
A booked appointment is a confirmed estimate, consultation, service visit, or other scheduled next step. It is not simply a callback promised by the office.
A completed appointment
A completed appointment is one that actually took place. This helps separate scheduling performance from cancellations and no-shows.
A won job
A won job is a customer commitment that meets the company’s chosen definition of a sale. A signed agreement or paid invoice is stronger evidence than an estimate sent.
Write these definitions down and apply them to every channel. Otherwise, a change in how staff classify calls can look like a change in marketing performance.
Build a weekly log the office will use
A useful manual log does not need dozens of fields. Start with the date, channel or campaign, contact identifier, service requested, location fit, qualification result, booking status, appointment completion, job status, and revenue when known.
The contact identifier can be a CRM record number. Avoid copying sensitive customer details into an agency report. A small team can maintain the log in a spreadsheet, while a larger business may use fields already available in its CRM.
Assign one person to review new inquiries each day. Ask the person who answers the phone to record whether a booking occurred. Reconcile the log with the appointment calendar at least once a week.
That last step matters. An advertising platform may count a form as a conversion while the calendar shows no appointment. Neither record is necessarily wrong. They describe different events.
Keep the original lead count and the verified booking count side by side. Do not overwrite one with the other to make the numbers agree.
Calculate more than one cost
Cost per lead is advertising spend divided by reported leads. It measures the cost of generating responses, not the cost of securing work.
Cost per qualified inquiry is spend divided by qualified unique inquiries. It helps reveal targeting problems, including leads from outside the service area.
Cost per booked appointment is spend divided by confirmed bookings. It captures both lead quality and the business’s ability to convert inquiries into scheduled work.
Cost per completed appointment uses visits that actually happened. This is useful when no-shows and cancellations are common.
Cost per won job is spend divided by won jobs. It brings marketing measurement closer to sales, although it still does not account for job costs or profit.
For each measure, report the numerator, denominator, and time period. A claim of ‘$140 per booking’ is incomplete without the $2,100 spend and 15 bookings behind it.
If a campaign has zero bookings, do not show a zero cost per booking. Mark the value as not calculable and show the spend and zero bookings. Zero would falsely suggest the campaign produced free appointments.
Separate tracking gaps from bad performance
Many local businesses have incomplete attribution. A customer may see an ad, visit the website, call later from a saved number, and book through an office employee. The CRM may record the call as direct or unknown.
Do not assign that booking to paid search just because paid search was running. Equally, do not assume the campaign failed because the source is missing.
Use three categories: known source, likely source, and unknown source. Only the known-source group belongs in a strict channel-level calculation. A likely source can be noted for investigation, but should not be quietly treated as verified.
A weekly report should show the percentage of bookings with unknown sources. If that share rises, investigate call handling, form tagging, CRM entry, and handoffs before making a major budget decision.
There is also a timing problem. A lead generated on Friday may become a booked appointment the following Tuesday. Compare cohorts over a reasonable follow-up window, and explain whether the report counts bookings by inquiry date or booking date. Mixing those methods creates misleading week-to-week changes.
Use the numbers to fix the right problem
A high cost per booked appointment can have several causes.
- If many inquiries fall outside the service area, review campaign targeting and location settings.
- If inquiries are qualified but rarely booked, listen to call handling and examine how quickly the business responds.
- If appointments are booked but frequently canceled, review confirmation and reminder practices.
- If completed estimates rarely become jobs, inspect pricing, follow-up, and sales conversations.
These are different problems. Increasing ad spend will not fix an office that misses calls. Rewriting ad copy will not solve an appointment calendar that is poorly maintained.
Small businesses should start with one change at a time. For example, review missed calls for a week, improve callback coverage, and compare the next period’s qualified-inquiry-to-booking rate. Record other changes, such as seasonality or promotions, before crediting the improvement to the new process.
What to put in the Monday report
An agency or business owner can keep the weekly review to one page: spend, reported inquiries, unique qualified inquiries, confirmed bookings, completed appointments, won jobs, and unknown-source bookings.
Show the counts and conversion rates, not just percentages. Moving from one booking to two is a 100% increase, but it is still a small sample. Flag campaigns with too little data for a confident decision.
Include one operational observation and one action owner. ‘Nine qualified calls did not book; office manager will review response times by Wednesday’ is more useful than ‘Lead quality needs improvement.’
The purpose of this report is not to make every channel look good. It is to help the business decide what to fix, what to test, and where to spend its next dollar.
A $20 lead is still a $20 lead. The mistake is treating that number as the final answer. Once the team connects inquiries to booked and completed work, it can make a better decision with the evidence it actually has.