A qualified inbound call, in full.
Four conditions. All four have to hold. Nothing here is weighted, scored or estimated, and there is no model in the path.
| Condition | The rule |
|---|---|
| Direction | Inbound. An outbound call the practice placed is never a lead. |
| Answered state | The carrier reports completed or answered. |
| Duration | Sixty seconds or longer. |
| Not a burst | Not part of an automated dialer pattern. Defined below. |
A completed call is not an answered call.
This is the single largest source of inflated lead counts in this industry, and it is not anybody being dishonest. A phone system marks a call completed when the call ended normally. A call that rang out to voicemail ended normally.
So a platform counting on status alone counts voicemail as a lead. That is why the duration floor exists and why we state it rather than describe it.

Sixty counts it. A hundred and twenty sends it.
Sixty seconds is the reporting floor: below it, a call is not a lead on any screen in the product. One hundred and twenty is the stricter bar a call has to clear before it is sent back to the ad platform as a conversion.
A bidding signal trains an algorithm with real money behind it, so the bar to teach it is higher than the bar to report it. Nothing is gained by being generous with a machine that will spend against whatever you tell it.
The reporting floor
The call is a qualified lead on every screen in RootLogic. Below it, on none.
The ad platform floor
The call is also uploaded to Google and Meta as an offline conversion.
Models in the path
No score, no weighting, no estimate. Four comparisons against a stored number.
Two different verdicts, kept apart.
An exclusion removes a call from the count. A flag does not. We keep the two separate because a detector that is confident enough to annotate is rarely confident enough to delete.
- Dialer burst — excluded
- Ten or more calls from one number inside thirty minutes. That is a machine, not ten patients, and none of them count.
- Repeat caller — deduplicated
- The same patient calling back inside seven days is the same lead, counted once. Anchored on qualifying calls only, so a missed call does not start the clock.
- Rotating caller ID — flagged, never excluded
- Five or more calls inside eight hours from different numbers sharing a pattern. This is what a spoofed robocall campaign looks like, and it is the one signature a per-caller threshold cannot see. It is surfaced and counted, because a rule that quietly deletes traffic is a rule nobody can audit.
The verdict rides on the call, where you can check it.
The rule is not a footnote under a total. Every call in the log carries its own answer and, when it did not count, the reason it did not.

Scored on what happened, never on how long it took.
When the AI receptionist takes the call, duration stops being evidence. A sixteen-second call that booked an appointment is worth more than a four-minute call that went nowhere.
So an AI-answered call is qualified on its outcome — booked, or a request to reach a person — and only a booking is sent to the ad platform. Different rule, stated separately, rather than the duration rule stretched to cover a case it was never written for.
One table. One view. Every screen reads the answer.
The thresholds above are rows in a configuration table, and the verdict is a column in a database view. Every surface in RootLogic reads that column. Not one of them restates the comparison in its own code.
- The fleet default is what this page publishes.
- A practice can hold its own thresholds without a deploy.
- A changed threshold moves every report that has ever used it, consistently.
- The reason a call did not count is recorded alongside the call.
Two consequences, and they are the reason this page can exist. Changing a threshold for your practice is one edit, applied everywhere at once, with no software release. And no two screens can ever disagree about the same call, because there is only one place the question is answered.
The limits, stated.
- Not a promise about volume
- This defines what counts. It says nothing about how many you will get.
- Not a quality judgment
- A ninety-second call from somebody who will never book still counts. We are measuring whether a conversation happened, not whether it went well.
- Not applied retroactively by default
- Changing a threshold changes reporting from that point. Restating history is possible and it is a deliberate request, never a side effect.