Answer rate and booking rate: the two numbers between your ads and your techs
ServiceTitan's booking rate leaves out every call nobody picked up, and CallRail can count a phone menu as an answer. How to measure both numbers from your call log, and what a point of each is worth per sold job.
TL;DR
- An HVAC call booking rate is the share of answered service requests that ended with a visit on the board. Answer rate, the step before it, is the share of calls from your ads that someone who can book a visit picked up live. Cost per sold job = cost per call ÷ (answer rate × booking rate × close rate). In the illustration below, 10 more points of answer rate cut cost per sold job by 11%, and 10 more points of booking rate cut it by 17%.
- ServiceTitan's dashboard booking rate divides booked jobs by "call leads", calls of at least 60 seconds or marked Is Lead. Unanswered calls are classified Abandoned, not Unbooked, so in our reading they never reach that rate: in the second illustration below the booking rate holds steady in a month the office books a quarter fewer visits.
- CallRail counts a call as answered when a phone system outside CallRail picks it up, or when a person or an automated system does and the caller leaves no voicemail. In our reading a phone menu qualifies, so CallRail's answered count can sit above your live answer rate.
- Of the HVAC KPIs between your ad spend and your sold jobs, these two are decided in the office, before a tech is sent. Measure both before paying for CSR training: in our reading, part of a low booking rate can be the ads buying callers who were never going to book.
What exactly are answer rate and call booking rate?
A call your ads buy passes three gates before it becomes money: somebody picks up, somebody books a visit, the tech sells the job. Each gate fails for different reasons, so each gets its own number.
Answer rate = calls from ads answered live by someone who can book ÷ calls from ads. Count callers, not rings, and take out spam. A phone menu, a voicemail box or an answering service that only takes a message is not an answer here, even when your phone system logs it as one.
Booking rate = answered calls that ended with a booked visit ÷ answered calls that were service requests. Leave out wrong numbers, vendors and calls about a job already on the board. Keep price shoppers, callers outside your service area and the homeowner who wanted a breaker tip: your ads paid for those calls.
Close rate = sold jobs ÷ booked visits, which is mostly down to the techs.
Cost per sold job = cost per call ÷ (answer rate × booking rate × close rate)
It is the formula from cost per lead is the wrong number, with the booked rate split into what happens before somebody picks up and what happens after.
What is one point of each worth?
These numbers are an illustration, not client data. Put your own in their place. A shop spends $12,000 a month on search and gets 200 calls from ads, so $60 a call. It answers 80% live, books 50% of those, and sells half of the booked visits. Every answered call is assumed to be a service request.
| Same $12,000, same 200 calls | Answered live | Booked visits | Sold jobs | Cost per sold job | Change |
|---|---|---|---|---|---|
| Today: 80% answered, 50% booked | 160 | 80 | 40 | $300 | — |
| Answer rate +10 points (90%) | 180 | 90 | 45 | $267 | −11% |
| Booking rate +10 points (60%) | 160 | 96 | 48 | $250 | −17% |
| Both | 180 | 108 | 54 | $222 | −26% |
| Evening calls roll to voicemail (60% answered) | 120 | 60 | 30 | $400 | +33% |
- A point is worth more when the rate is low. Going from 60% to 70% answered cuts cost per sold job by 14%. Going from 80% to 90% cuts it by 11%.
- Ten points of booking rate equals a call 17% cheaper. Reaching $250 per sold job from the ad side alone would take 240 calls for the same $12,000, at $50 each.
- A missed call costs the full price of the call. In the last row the shop pays for the same 200 calls and sells a quarter fewer jobs, with nothing changed in the ad account.
Why doesn't ServiceTitan's booking rate see missed calls?
Because it grades CSRs, and nobody can book a call that wasn't picked up. ServiceTitan's help page on dashboard call metrics defines the chart: "Inbound call booking rate is the percent of call leads that are booked into jobs." Then the denominator: "A call lead is an incoming call that lasts at least 60 seconds or is marked Is Lead."
Its page on call classifications sorts every incoming call:
- Not answered, or answered without the CSR clicking the incoming call bubble: Abandoned.
- Answered and over in less than 60 seconds: Excused.
- Answered and 60 seconds or longer: Booked or Unbooked, unless the CSR picks a call reason set up as not a lead.
The glossary says an abandoned call "does not count toward CSR conversion metrics", and the CSR metrics page says missed calls that went to voicemail are classified Abandoned too. The classification flow applies to basic phone integration only. In Phones Pro, advanced seats claim calls without the bubble click.
What follows is our reading, not ServiceTitan's:
- Missed calls don't move the rate. An illustration: 200 calls, 160 answered, 20 ended inside a minute, 140 call leads, 80 booked: 57%. Next month the evening shift is cut: 200 calls, 120 answered, 15 ended inside a minute, 105 call leads, 60 booked: 57% again. The CSR scorecard shows the same rate in a month the office booked a quarter fewer visits.
- A caller lost in the first minute isn't counted unless the CSR picks a call reason marked Is Lead. By default, someone who asks whether you cover their town and hangs up at 45 seconds is Excused.
- Abandoned mixes two things. A booked call where the CSR forgot the bubble sits with calls that rang out until someone reclassifies it. The classifications page says abandoned calls can't be linked to a customer or job, "which affects CSR conversion rates", and the CSR metrics page says a manager should regularly click each abandoned call to classify it.
- Call reasons come first. Without them, ServiceTitan says, any call longer than 60 seconds is classified as a lead, so a long invoice question from an existing customer counts against the CSR.
It is a fair number for comparing CSRs, not for judging what happened to the calls your ads paid for.
What do CallRail and Google Ads count as answered?
CallRail. Its call answer status page says a call "answered by a phone system outside of CallRail is considered answered." Its Unanswered calls report adds: "Any call answered by a person or an automated system in which the customer didn't leave a voicemail is also considered an answered call." A missed call goes 15 seconds unanswered without reaching voicemail, and a caller who hangs up inside 15 seconds is abandoned. The report counts voicemails and abandoned calls as missed, and splits them by hour of day and day of week.
Our reading: if a phone menu or an after-hours answering service picks up first, those calls sit in CallRail's answered count although nobody who could book a visit spoke to the caller.
Google Ads. With Google forwarding numbers, the call details show each call's start and end time and "whether the call was missed or received". Google keeps phone calls, every call to the forwarding number, apart from phone call conversions, the calls that met your conversion rule, so "your reporting will be expected to have more calls than call conversions". Google's page on measuring calls from ads says the default "Calls from ads" action goes into your "Conversions" column automatically. Our article on call-only ads looks at which calls reach that count.
Google's page "About AI-qualified call leads" says call recording is now on by default unless you turned it off before, that with it on "Only qualified calls will count as conversions", and that Call Details show tags such as "#ConsultationScheduled". That is Google's reading of a recording. A caller can discuss a time slot and never get one, and only your dispatch board knows which.
Both rates need two records joined on the caller's phone number: the call log for who picked up, the CRM for what got booked.
Is a low booking rate the CSR's fault?
Not always. In our reading, part of it is who the ads bought: a homeowner after a breaker tip, a price shopper, a caller an hour past your drive time. Each is an answered service request, and each lowers the booking rate of whoever picked up.
The Comfort Authority fixes air conditioning and plumbing in Tampa from one shop, and its service area page listed forty-seven cities. Calls were first wired through to the CRM, so each could be followed to a sold job. Then the radius was rebuilt on drive time. Fewer calls came in, and the case reports that the closer calls booked and closed better. The same window also covers a search-term cleanup, a separate plumbing budget and spend moved onto the hours someone answers the phone, so the figure below mixes answer and booking rates.
The Comfort Authority, Tampa Bay. Fewer calls from ads, and calls that became a booked visit: +7 points. Window: 90 days against the 90 before. Source: Call tracking.
Limit: Nothing here separates the effect of the radius change from the effect of the search term cleanup. They shipped three weeks apart in the same account and we did not hold one back to prove the other.
Every change on that account's timeline was to tracking or to the ad account. In our reading, the booking rate there moved without any work on the phones.
Is a missed call a staffing problem or an ads problem?
In the accounts we run, usually both: the ad account decides which hours it buys, and the office decides in which hours someone can book a visit.
Barbosa has done plumbing and air conditioning in Dallas since 1979. Its calls peaked from about half past five to nine in the evening, and its daily budget was mostly spent by mid-afternoon. Moving bids toward the evening helped less than it should have, because some evening calls rolled to an after-hours service or reached somebody who could take a message but not book a visit. The fix was agreeing with the office which hours a person books visits in, and buying those. Pricing a missed call from your call log shows how to decide which hours to cover and which to stop buying.
Barbosa Plumbing & Air Conditioning, Dallas. Calls that rang out: −26%. Window: 120 days against the 120 before. Source: Call tracking.
Limit: "Calls that rang out" is measured from the tracking line, so a caller who hung up and immediately rang the office direct is counted as a miss here and as a customer in the business. The real figure is better than ours.
Same account. Cost per booked call, evenings: −19%. Window: 120 days against the 120 before. Source: Call tracking.
Limit: the biggest single change was staffing coverage, which is the client's doing and not ours. We found it; they fixed it.
The evening booking rate rose too, with no change to the script. The case credits the budget arriving when callers were ready to book; the staffing change landed in the same window, and the case does not separate the two.
On Local Services Ads a missed call can also count against you. Google's page on ad rankings names responsiveness among the factors behind how likely your ad is to produce a lead, and says: "Missed calls may negatively affect your responsiveness." How missed calls are charged there has its own article.
What this doesn't cover
- A benchmark booking rate. We don't publish one; the FAQ below explains why.
- What to train CSRs on. This piece finds where calls are lost. Scripts are another subject.
- Forms, texts, online booking and Local Services message leads. Everything here counts phone calls.
Measure both numbers this week
- Export 90 days of calls from ads. In CallRail's Call Log, filter to your ad sources and use Edit Columns to add duration and tags; CallRail shows each call's answer status in the log. With Google forwarding numbers, the Call details report in Google Ads shows missed or received for each call.
- Clean the list. Remove spam, and count repeat calls from one number on one day as one caller.
- Take out the machine answers. If a phone menu, a voicemail step or an answering service picks up first, move those calls to unanswered. Answer rate = answered live ÷ callers.
- Split it by hour. Put CallRail's Unanswered calls report next to your spend by hour, which the 30-minute Google Ads audit checklist shows how to pull. Hours with spend and nobody to book a visit are the first fix.
- Mark every answered call booked, not booked, or not a service request. In ServiceTitan, set up call reasons, reclassify the Abandoned list and have CSRs click the call bubble. In CallRail, Keypad Scoring lets the CSR score and tag a call as soon as it ends. The Schedule status conversion signal, in Premium Conversation Intelligence, reads the transcript and can tag calls booked or not booked through an Automation Rule, but only from the day you turn it on. Like Google's tags, it is a reading of the conversation: check a sample against the dispatch board.
- Work out both rates per campaign and run the formula with your own cost per call. A point on the lower of the two is worth more.
- Before paying for CSR training, listen to 20 unbooked calls from ads. Count the callers your ads should never have bought: do-it-yourselfers, job seekers, addresses past your drive time. Those are fixed in the ad account, not on the phone.
FAQ
What is a good call booking rate for an HVAC company? We don't publish a benchmark, because tools divide by different things: ServiceTitan's dashboard leaves out every unanswered call and, unless marked Is Lead, calls under a minute, while a rate built from CallRail tags can include both. Track your own rate month to month on one definition, next to your answer rate.
How do you calculate call booking rate? Divide booked visits by answered calls that were service requests, over the same period. ServiceTitan divides booked jobs by call leads, calls of at least 60 seconds or marked Is Lead.
Does a missed call count against my CSR's booking rate in ServiceTitan? Not directly. Unanswered calls are classified Abandoned, and ServiceTitan's glossary says abandoned calls don't count toward CSR conversion metrics. Its call classifications page says abandoned calls, which also include answered calls where the CSR didn't click the call bubble, affect CSR conversion rates. In our reading, a call nobody picked up never reaches the booking rate either way, which is why answer rate needs its own number.
Does CallRail count a phone menu as an answered call? In our reading, yes. CallRail counts a call answered by a person or an automated system as answered when the caller left no voicemail, and a phone menu is an automated system.
Can Google Ads bid toward booked calls instead of all calls? Yes, if the outcome is recorded outside Google Ads and imported. Google's page on call conversion tracking says that by importing call conversions from another system you can "choose to track calls as conversions only when they include sales". Google says the import needs Google forwarding numbers and call details kept in another system, such as a CRM. Cost per lead is the wrong number covers sending outcomes back, and the sold jobs and CRM articles include the Jobber version.
Sources
All read in full on September 24, 2026. Every quotation above is from these pages.
- ServiceTitan Help Center, "Dashboard call metrics", https://help.servicetitan.com/docs/dashboard-call-metrics
- ServiceTitan Help Center, "Understand call classifications", https://help.servicetitan.com/docs/understand-call-classifications
- ServiceTitan Help Center, "Dashboard CSR metrics", https://help.servicetitan.com/docs/dashboard-csr-metrics
- ServiceTitan Help Center, "Find and manage abandoned and unbooked calls", https://help.servicetitan.com/docs/find-and-manage-abandoned-and-unbooked-calls
- ServiceTitan Help Center, "Glossary", https://help.servicetitan.com/docs/glossary-overview
- CallRail Help Center, "Call answer status", https://support.callrail.com/hc/en-us/articles/5712088951437-Call-answer-status
- CallRail Help Center, "Unanswered calls report", https://support.callrail.com/hc/en-us/articles/5712132142605-Unanswered-calls-report
- CallRail Help Center, "Call Log", https://support.callrail.com/hc/en-us/articles/5711301368717-Call-Log
- CallRail Help Center, "How to qualify leads in CallRail", https://support.callrail.com/hc/en-us/articles/5711776551437-How-to-qualify-leads-in-CallRail
- CallRail Help Center, "Conversion Signals", https://support.callrail.com/hc/en-us/articles/41587227644429-Conversion-Signals
- Google Ads Help, "Analyze call reporting data", https://support.google.com/google-ads/answer/7180997
- Google Ads Help, "Measure calls from ads", https://support.google.com/google-ads/answer/6095882
- Google Ads Help, "About AI-qualified call leads", https://support.google.com/google-ads/answer/16913326
- Google Ads Help, "About phone call conversion tracking", https://support.google.com/google-ads/answer/6100664
- Local Services Help, "About ad rankings", https://support.google.com/localservices/answer/7527305