All Resources
Feature Spotlight 6 min read July 23, 2026

Abandoned Calls Are Now a Reportable Metric

When a customer calls and nobody answers, they don't leave a voicemail. They call the next mover. Here's how MoveRight now tracks every abandoned call — and how to find the ones that never connected.

A customer called your line at 4:47 PM. Nobody picked up. They waited 22 seconds, heard nothing, and hung up. They didn’t leave a voicemail. They tapped the next number in their Google search results — your competitor — and booked a $1,800 move thirty-four minutes later.

That call never showed up in a report. Until now.


What an Abandoned Call Actually Costs

The customer who hangs up without leaving a voicemail is the one you never knew existed. Most moving CRMs log the calls that connect. They don’t log the ones that don’t.

Industry data puts this in sharp relief: 78% of customers book with the first company that follows up substantively. If you never know the call happened, you can’t follow up. The lead evaporates before it ever enters your pipeline.

A single abandoned call on a $1,800 local move, at a 40% close rate on connected leads, represents an expected value of $720 in lost revenue per incident. A company that abandons 30 calls a month is leaving roughly $21,600 on the table — invisible revenue, because the calls were never counted.

MoveRight now counts them.


The Four New Columns in Your Call Report

As of the July 2026 release (!2171), every Call and Job report in MoveRight includes four new columns designed to surface abandoned calls and trace whether they were recovered. Here’s what each one tells you:

ColumnWhat It Tells You
callAbandonedDid this specific job have an abandoned call attached to it? Boolean. The first signal that something slipped through.
jobHadAbandonedCallDid the job experience an abandoned call at any point in its lifecycle — including earlier calls before the job was created? Broader than callAbandoned; catches pre-job drops.
jobOriginIsInboundCallWas this job originally created from an inbound call (vs. a web form or referral)? Tells you whether the lead’s first intent was a phone call, which matters for staffing and routing decisions.
jobAbandonedThenConnectedDid the customer abandon first, then later connect with your team? This is the “saved lead” — the one you almost lost but recovered.

If you only look at one column, make it the last one.


The “Saved Lead” — jobAbandonedThenConnected

This is the most important metric in the new reporting set.

A saved lead is a customer who called, hung up because nobody answered, and then — because your auto-text fired, or your AI voice agent picked up on the retry, or a sales agent called back inside the recovery window — actually connected with your team and booked.

Every saved lead is a job you would have lost under the old system. Every saved lead is a direct measurement of how much revenue your callback discipline is protecting.

Run the report filtered to jobAbandonedThenConnected = false and jobHadAbandonedCall = true. That filter returns the customers who called, hung up, and never came back. Those are the ones your competitor booked. The count of that filter is the size of the leak.

Run the same filter with jobAbandonedThenConnected = true. That’s your recovery rate. The ratio between the two is the single most honest number in your sales operation.


The Double-Text Bug We Fixed

Here’s the technical-honesty moment.

Dialpad fires hangup events on two targets simultaneously — the call center and the individual user. Until last month, MoveRight was processing both events. The result: when a customer abandoned a call, they received two abandoned-call text messages back to back. Duplicate comments also appeared on the job timeline.

It was a minor bug with a major look. A customer who just hung up in frustration does not need two text messages from the company that didn’t answer.

We shipped a Redis deduplication lock in !2171. Only the first hangup event is processed. The second is discarded. The customer gets one text, not two. The job timeline gets one comment, not two. The reporting columns reflect a single abandoned event, not a phantom double.

If you saw duplicate abandoned-call texts in May or June, that’s why. They’re gone.


How to Use This in Your Morning Standup

Pull the Call report for the previous day. Filter to jobHadAbandonedCall = true. Sort by call time.

Call back every job in that list where jobAbandonedThenConnected = false. Those customers called you yesterday, you missed them, and they have not heard from a human at your company yet. They are still warm. The competitor may have quoted them, but they haven’t necessarily booked — the average mover compares three to five vendors before signing.

A two-minute callback to a missed caller at 8:15 AM has a fundamentally different close rate than a cold lead. The customer remembers your number. They remember that nobody answered. The callback that opens with “I saw you called yesterday and I want to make this right” is one of the highest-converting calls in moving.

Run this standup every morning for thirty days. Track the count of jobHadAbandonedCall = true and watch it drop. The act of measuring the leak changes dispatcher behavior. The calls start getting picked up.


Call Direction, Cleaned Up

Alongside the abandoned-call work, we hardened callDirection derivation across Dialpad and Twilio. Inbound and outbound are now tagged correctly on every call event, including the edge cases that previously produced “unknown” entries. Your reporting is only as good as the direction tag, and “unknown” was hiding too many real inbound leads.


MoveRight is the moving company CRM that treats every phone call as a revenue event — answered, abandoned, or recovered — and surfaces the ones you missed before your competitor closes them.

Start tracking abandoned calls


References:

MR

MoveRight Team

MoveRight

dialpad callrail abandoned-call reporting call-handling

Ready to put this into practice?

Start a 5-day free trial and see how MoveRight handles this in your business.