Every practice manager I talk to has the same folder somewhere: a list of patients who were due for a cleaning or a follow-up six months ago and just... never came back. Four hundred names. Nobody's got the front-desk hours to work all of them, so it sits.
The instinct is to have someone start dialing. Sometimes that's right. Often it's the most expensive way to fill a chair, and the honest answer depends on one number most people never measure — your text reply rate. Below the threshold, calling wins. Above it, texting is cheaper per booked appointment by a wide margin. Let me show you the actual math.
Full disclosure: I work for Ready, and we sell both an SMS product and a power dialer. That's exactly why I want to lay the numbers out plainly instead of telling you one channel beats the other. The truth is they cross over, and where they cross depends on your list.
The two campaigns we're comparing
Same list: 400 overdue recall patients. Same goal: get them back in a chair. We'll cost out each channel end to end — carrier/minute cost plus staff time, because staff time is where dialing quietly eats your margin.
Assumptions I'll hold constant (adjust to your own numbers, but these are middle-of-the-road for a dental or primary-care practice):
- Average booked recall visit is worth ~$180 in collected revenue. We're not optimizing that here — just noting the prize is the same for both channels.
- Front desk fully-loaded cost: ~$25/hour. Wages plus payroll tax plus the fact that they're not doing something else while they dial.
- A dialed call that reaches a live patient takes ~4 minutes; a voicemail or no-answer burns ~1 minute of agent time even with automation.
The dialer campaign, costed out
On Ready's power dialer, you're billed per agent per month plus per-minute in 6-second increments. Let's use the Pro plan at $29/agent/mo and $0.05/min — a fair fit for a practice with one or two people working a recall list.
Dialing 400 patients, real-world connect rates for a cold-ish recall list run maybe 25–35% reach a live human. I'll use 30%.
- 400 dials → 120 live conversations, 280 no-answers/voicemails.
- Live conversations: 120 × 4 min = 480 minutes.
- No-answers: 280 × 1 min = 280 minutes.
- Total: 760 minutes.
Minute cost: 760 × $0.05 = $38.00 Staff time: 760 min ÷ 60 = 12.67 hours × $25 = $316.75 Agent seat (prorated for the campaign): call it $29 flat. Total dialer cost: ~$383.75
Now the bookings. Of 120 live conversations, a warm recall list books at maybe 40% — these are existing patients, not strangers. That's 48 booked appointments.
Cost per booked appointment (dialer): $383.75 ÷ 48 = $8.00.
Not bad at all. This is the number people quote when they say "just call them." And on a genuinely responsive list, calling is legitimately good — the live human closes better than any text ever will. If your team has the hours, don't let me talk you out of it.
The SMS campaign, costed out
Now the text. A recall message with a name and a two-way reply prompt runs about 150 GSM-7 characters — one segment. On Ready's Standard tier that's $0.02 + $0.0045 carrier = $0.0245 per segment.
- 400 sends × 1 segment = $9.80 outbound.
- Reply handling: two-way, so a portion reply and someone has to book them. Say 35% reply (140 replies), each taking ~2 minutes of front-desk time to book or answer. That's 280 minutes = 4.67 hrs × $25 = $116.75.
- Plus a handful of reply segments back — call it another $3 in outbound.
Total SMS cost: ~$129.55
Bookings: of 400 texted, if 35% reply and roughly half of repliers book, that's 70 booked appointments.
Cost per booked appointment (SMS): $129.55 ÷ 70 = $1.85.
At a 35% reply rate, texting books more chairs for a quarter of the cost per booking. The staff-time line is the whole story — dialing 400 people is 12+ hours of labor; texting 400 people is a blast plus a few hours of replies.
Side by side
| Power Dialer (Pro) | SMS (Standard) | |
|---|---|---|
| Reach cost | $38.00 minutes | $12.80 segments |
| Staff time | 12.67 hrs / $316.75 | 4.67 hrs / $116.75 |
| Seat/flat | $29 | — |
| Total | ~$383.75 | ~$129.55 |
| Booked appointments | 48 | 70 |
| Cost per booked | $8.00 | $1.85 |
Where it flips: the no-reply rate
That $1.85 assumes 35% of patients reply to a text. That's a healthy number for an opted-in patient list with a good relationship. But recall lists are, by definition, people who've drifted. If your list is stale, reply rates crater — and cheap texting stops booking chairs.
Watch what happens as the reply rate falls (holding "half of repliers book"):
| Text reply rate | Bookings from 400 | SMS cost/booked |
|---|---|---|
| 35% | 70 | ~$1.85 |
| 20% | 40 | ~$2.20 |
| 12% | 24 | ~$3.10 |
| 8% | 16 | ~$4.40 |
| 5% | 10 | ~$6.90 |
At around a 5% reply rate, SMS cost-per-booked ($6.90) starts closing on the dialer's $8.00 — and once you factor that a live call closes better per contact reached than a text does, the dialer pulls ahead on very unresponsive lists. If your recall list is so cold that fewer than 1 in 20 will text back, a human voice is worth the labor.
The crossover isn't a fixed number for everyone. It moves with your staff cost and your connect rate. But the shape holds: texting wins on responsive lists by a landslide, dialing wins on dead ones.
Don't pick one — sequence them
The best-performing recall campaigns I've seen don't choose. They text first, then dial only the non-repliers. You capture the cheap bookings with SMS, then spend expensive dialer minutes exclusively on the people who ignored the text — the exact segment where a call earns its cost.
Run the numbers on the sequenced version and the blended cost-per-booked lands below either channel alone, because your dialer is no longer burning 12 hours on people who'd have happily replied to a text. We wrote up the ordering logic in detail here: the text-then-dial order that books more chairs.
Because Ready runs both SMS and the power dialer on one platform with transparent per-segment and per-minute pricing, you're not stitching two vendors together to do this — the non-repliers flow straight into a dial queue.
Before you send a single recall text
Two compliance notes that materially change whether this math even applies:
- Recall and marketing are different consent categories. A treatment-related recall ("you're due for a cleaning") isn't the same as a promotional blast, and mixing them is a common accidental foul. Worth reading the consent line most clinics cross before you build the list.
- Quiet hours and timezones. A single 6 PM batch to a multi-timezone list can send to people at 3 PM in one state and after hours in another. Ready holds sends outside permitted local hours automatically, but you should understand the timezone trap before you schedule.
On the no-show side, once you do book these patients, a two-way reminder flow keeps them from silently vanishing — the no-show reminder math is its own line item worth protecting.
The practical takeaway
- On a responsive recall list (reply rate ~20%+), texting books chairs at roughly $2 each vs ~$8 for dialing — the difference is almost entirely staff time.
- The dialer catches up around a 5% reply rate, and a live human closes better per contact, so cold/dead lists genuinely favor calling.
- The real answer is usually text first, dial the silence — cheap bookings up front, expensive minutes only where they pay.
If you want to run these numbers against your own list size, wage, and connect rate, spin up a Ready account, load 400 patients, and send the text batch — you get 2,500 free credits to start, no card required. Sign up here and let your own reply rate tell you which side of the crossover you're on.