- Lead Generation
- Meta Ads
- AI Appointment Setters
Cost Per Booked Appointment: Why It Beats Cost Per Lead
Josh Pocock
7 min read
Ad platforms report cost per lead (CPL) because it is the last thing they can see. For a service business that sells through appointments, inspections or consults, the number that tells you whether ads are working sits further down: what you pay for each appointment on the calendar, and for each one that shows up.
Cost per booked appointment is your total marketing spend for a period divided by the number of appointments booked from that spend. It measures what you pay for a real sales conversation, so it reflects both lead quality and how well you follow up.
Below are the definitions, the formulas, a worked example across two channels and the levers that move the number.
Four metrics, defined
These metrics build on each other. Each one moves one step closer to revenue.
| Metric | Formula | What it tells you |
|---|---|---|
| Cost per lead (CPL) | Spend divided by leads | How cheaply the ad gets a form fill or call |
| Cost per booked appointment | Spend divided by appointments booked | What a scheduled sales conversation costs |
| Cost per show | Spend divided by appointments attended | What a conversation that happened costs |
| Cost per acquisition (CPA) | Spend divided by new customers | What a paying customer costs |
Two supporting rates connect them:
- Booking rate = appointments booked divided by leads.
- Show rate = appointments attended divided by appointments booked.
So cost per booked appointment equals CPL divided by booking rate. If your CPL is $30 and you book 25% of leads, each booked appointment costs $120. That one formula explains why a cheap lead can be expensive: halve your booking rate and your cost per booked appointment doubles, even with no change in ad performance.
What counts as "spend"
Decide this once and keep it consistent. The simplest version uses ad spend only. A fuller version adds agency fees, software, lead follow-up costs and any setter or receptionist time. Use the fuller version when you compare marketing channels against each other or against hiring. Our breakdown of AI appointment setter costs explains the pricing models you may need to add in.
A worked example across two channels
The numbers below are hypothetical. They show how the metrics can disagree with each other.
Say a home services company spends $4,000 a month on Meta ads and $4,000 a month on Google Ads.
| Meta ads | Google Ads | |
|---|---|---|
| Spend | $4,000 | $4,000 |
| Leads | 160 | 80 |
| CPL | $25 | $50 |
| Booking rate | 25% | 40% |
| Appointments booked | 40 | 32 |
| Cost per booked appointment | $100 | $125 |
| Show rate | 70% | 81% |
| Appointments attended | 28 | 26 |
| Cost per show | about $143 | about $154 |
| New customers | 9 | 10 |
| CPA | about $444 | $400 |
Look at how the answer changes as you move down the table:
- On CPL, Meta looks twice as efficient.
- On cost per booked appointment, Meta still wins, but by 20% instead of 50%.
- On cost per show, the gap narrows to about $11.
- On CPA, Google wins.
Search leads often arrive with a problem they want solved now, so they book and show at higher rates. Social leads often need more follow-up. Neither channel is "better" in this example. Each one needs a different follow-up process, and the CPL view alone would have pushed this company to move budget the wrong way.
Same example, faster follow-up
Now say the company starts texting and calling every opted-in Meta lead within a minute and adds appointment reminders. Hypothetically, the Meta booking rate rises from 25% to 35% and the show rate from 70% to 75%.
| Meta ads | Before | After |
|---|---|---|
| Leads | 160 | 160 |
| Appointments booked | 40 | 56 |
| Cost per booked appointment | $100 | about $71 |
| Appointments attended | 28 | 42 |
| Cost per show | about $143 | about $95 |
Ad spend and CPL did not change at all. Every improvement came from what happened after the lead arrived.
How to track cost per booked appointment in your CRM
You need four pieces of data tied to each lead. Most CRMs can hold them with a few custom fields and pipeline stages.
1. Lead source on every record
Tag each lead with the channel and campaign it came from. Use UTM parameters on landing page links and pass them into hidden form fields. For Meta instant forms and Google call extensions, use the native integrations so the source is set automatically, never typed by hand.
2. A booked stage with a timestamp
Create a pipeline stage for "Appointment booked" and record the date it was booked. Count bookings by the month the lead came in, not by the appointment date, so spend and results line up.
3. An outcome for every appointment
After each appointment date, set one status: showed, no-show, canceled or rescheduled. This is where most tracking breaks down. If nobody updates outcomes, you cannot calculate cost per show. Assign the job to one person, or let your booking system update it automatically.
4. Spend by source for the same period
Pull spend from each ad platform for the same dates and match it to the source tags. A simple monthly sheet works:
| Source | Spend | Leads | Booked | Showed | Customers |
|---|---|---|---|---|---|
| Meta, campaign A | |||||
| Google, search |
Then divide. Review it monthly, and wait until each channel has enough bookings to be meaningful before you move budget.
What moves cost per booked appointment
Once the tracking is in place, these are the levers to pull, roughly in order of how fast they show up.
Speed to first contact
The longer a lead waits, the less likely they are to book. The 2011 Harvard Business Review analysis "The Short Life of Online Sales Leads" found firms that contacted a lead within an hour were nearly seven times as likely to qualify it as firms that waited even an hour longer. Aim to reach opted-in leads within a minute, at all hours. Our done-for-you AI appointment setters respond in under 2 seconds and book straight into your calendar.
Scripts
A script that asks one question at a time and offers two specific times books more people than "When works for you?" Read transcripts weekly and fix the message where conversations stall.
Reminders
No-shows raise cost per show directly. A confirmation right after booking, a reminder the day before and a short one shortly before the appointment are the basics. We cover more tactics in how to reduce appointment no-shows.
The offer
A clear, low-friction first step (a free inspection, a short consult, a same-week opening) books more people than a vague "contact us." Match the offer to the channel: search leads may want to book a visit now, while social leads may need a lighter first step.
FAQ
What is a good cost per booked appointment?
It depends on what a customer is worth to you. Work backward: take your average customer value, decide what share you can spend to win one, then divide by your show and close rates.
How is cost per appointment different from cost per lead?
Cost per lead counts every form fill or call. Cost per booked appointment counts only leads who scheduled, so it includes how well your team or agent follows up.
Should I count canceled appointments as booked?
Count them as booked, then track the outcome separately. That keeps your booking rate honest and shows cancellations as their own problem to fix.
How often should I review cost per booked appointment?
Monthly works for most businesses. Wait until each channel has enough bookings that a few appointments either way won't swing the number.
Lower the cost of every appointment
If your ads bring leads but the calendar stays thin, we can run the campaigns and the instant follow-up that turns them into appointments. Book a Stride Scaling Call.
Done for you
Want this running in your business?
We build and run AI that answers, follows up and books calls, all reporting into one CRM. Most clients are live in 2 to 3 weeks.