The short answer
A telehealth business does not lose margin in one dramatic place. It loses margin in small drops at every step of the patient funnel, from ad click to intake to paid visit to show-up to refill. A healthy telehealth model wants patient lifetime value at roughly 3 times acquisition cost or better, yet most operators cannot see their real ratio because the numbers that decide it are scattered. The leaks are invisible because each one lives in the gap between systems: ad platforms in one place, intake forms in another, billing in a third, the patient portal in a fourth. No single dashboard shows a no-show that was never rebooked, a patient who quietly stopped refilling, or the intake labour that makes your true acquisition cost far higher than your ad spend. Below we walk each stage, name the leak that hides there, and show how we surface it in your own data.
Stage one: the click-to-intake CAC you are not counting
The first leak is that your acquisition cost is almost certainly higher than you think. Most healthcare operators report only ad spend and systematically undercount their real acquisition cost by 30 to 50 percent, because true CAC also includes agency fees, martech tooling, and the clinical intake labour spent qualifying leads who never convert. When we reconcile total go-to-market cost against the patients who actually paid, the real CAC is often well above the number on the ad dashboard. That gap is not a rounding error. It is the difference between a funnel that clears the 3:1 bar and one that only looks like it does.
The reason the number stays hidden is structural. Your ad platform reports cost per lead, and a lead in telehealth is usually an email address or a started intake form, not a paying patient. Between that lead and the first paid visit sits a chain of clinical and operational work that never lands on the ad dashboard: a nurse or coordinator reviewing the intake, an asynchronous questionnaire that a clinician has to read, an eligibility or insurance check, a prescriber approving or declining. Every one of those steps costs money, and a large share of that cost is spent on people who never convert. Load it into CAC and the picture changes.
The way we make this concrete is to build one reconciled table where each row is a paid patient and each column is a fully loaded cost component. We start from the billing system, which is the only place a real payment is recorded, then join backward: spend from the ad platform allocated by campaign and date, agency and tooling costs amortised across the cohort, and an estimated intake-labour cost per qualified lead derived from coordinator and clinician hours. Cost per paid patient, not cost per lead, becomes the number you manage. That single reframe usually moves the reported CAC by a third or more, and it is the number every downstream decision about channel mix and pricing should be built on.
Stage two: the intake-to-paid-visit drop-off in the dark
Between the completed intake form and the first paid consultation, patients leak out: a form abandoned halfway, a payment step that stalls, a slot offered that never gets booked. Because intake tooling and billing usually sit in separate systems, no report tells you where in that handoff people are falling away. You see leads at the top and revenue at the bottom, and the middle is a black box.
The drop-off is often larger than operators expect. Across industries, healthcare forms have some of the weakest completion behaviour, with mobile healthcare forms completing at under 50 percent, so half of the people who start an intake on a phone never finish it. That is before the payment step, before scheduling, before the clinician review that can still reject a patient. Each of those transitions is its own small cliff.
We map the funnel stage by stage: form started, form completed, eligibility passed, slot offered, slot booked, payment captured, visit held. The mechanics are less glamorous than they sound. Most intake and scheduling tools emit some kind of event or at least a timestamped record, and billing has the payment event. We land those raw events in one place, define a shared patient key so a person can be followed across systems, and build a conversion table that shows the survival rate at each step for each weekly cohort. The moment that table exists, the black box turns into a ranked list of specific, fixable drop-off points, and you can see whether the leak is a broken payment redirect, a slow eligibility check, or simply too few appointment slots on offer.
Stage three: the paid-visit no-shows that never rebook
A no-show is a paid slot that produced no revenue, and the clinician time is gone whether the patient shows or not. General patient no-show rates average around 23 percent and range widely from 10 to 30 percent by specialty. Telehealth typically fares better. One primary-care study found a 7.5 percent telehealth no-show rate against 36.1 percent in-office. But "better than in-person" is not "solved", and behavioural-health telehealth in particular can run higher.
The real leak is rarely the no-show itself. It is the no-show that is never rebooked. When a missed visit does not trigger a re-engagement flow, that patient often exits the funnel entirely, and you have paid full CAC for zero revenue. The cost is doubled: the wasted slot and the lost lifetime value of a patient who is now gone.
Finding this leak means separating three things that most reporting lumps together: visits scheduled, visits attended, and visits rebooked after a miss. We join the scheduling record to the billing record so an attended visit is defined by a captured payment or a completed encounter note, not merely by a slot on the calendar. Then, for every no-show, we look forward a fixed window, thirty or sixty days, and ask whether that same patient ever appears again. The share who never return is the true no-show leak, and it is almost always higher than the raw no-show percentage, because the raw number counts the miss but ignores the silence that follows. Once the rebooking gap is visible, the intervention is obvious: a triggered re-engagement flow for every miss, with its recovery rate measured against the same table.
You can put a rupee figure on this leak.
Our AI Stack Audit x-rays your existing data and quantifies the gap in a fixed two-week engagement. No new tools to buy first.
See how the audit worksStage four: the first-visit-to-refill silent churn
This is the most expensive leak of all, because it destroys the LTV side of your unit economics. A patient completes one paid visit and then quietly stops. No refill, no follow-up, no cancellation. Nobody flags it, because churn in healthcare is silent: there is no "unsubscribe" event, just an absence. Yet acquiring a new patient costs roughly 5 to 7 times more than retaining one, so every retained patient you let slip is money you spend again at full price to replace.
The early signals of churn almost always exist in your data. A refill window that passes with no order. A login cadence in the portal that was weekly and is now monthly. A follow-up visit that was recommended and never booked. Each of these is a leading indicator, visible days or weeks before the patient is truly gone, and each is sitting in a system that nobody is watching for that purpose.
We turn those signals into a watched metric rather than a post-mortem. First we define what "active" means for your model, usually a combination of an on-time refill and a portal or visit interaction inside an expected interval that we set from your own historical data. Then we build a cohort retention view, so you can see what fraction of each month's new patients is still active at thirty, sixty and ninety days. Finally we surface the at-risk list: patients whose refill is overdue or whose engagement has dropped below their own baseline, ranked by expected lifetime value so retention effort goes where the money is. The formula for LTV is trivial. The hard part is defining churn honestly when there is no cancellation event, and that definition is what this stage produces.
Why these telehealth funnel leaks stay hidden
Notice the pattern: every leak sits in the gap between systems. Your ad platform, your intake tool, your billing system, and your patient portal are each individually fine. The leak is that they do not talk to one another, so no report can show cost per paid patient, stage-by-stage drop-off, unrebooked no-shows, or the early signals of churn. Each system was bought to do one job well, and each does it. The margin bleeds out in the seams between them, which is precisely where nobody owns the reporting.
That is why the fix is not another dashboard bolted onto one tool. It is a reconciliation layer that sits underneath all four systems, gives every patient a single identity across them, and models the funnel end to end. In India this kind of joining is getting a shared spine at the national level: the Ayushman Bharat Digital Mission has now crossed 90 crore ABHA accounts, with a consent-based framework designed to make health records interoperable across providers. That interoperability makes joining your own systems more feasible than it was even a year ago. But the mission gives you the identity layer, not the analytics. Connecting your funnel, and turning the joined data into leak figures you can act on, is still work you have to do.
How to find your own leak figure
The figures above are industry ranges, not promises. Your no-show rate could be lower, your CAC undercount larger, your churn faster or slower. The only way to know is to reconcile your own data across the funnel: spend against paid patients, intake against billing, visits against refills. That reconciliation is the first thing we build, and it is what turns "we think our unit economics are fine" into a specific rupee figure for every leak. In practice the reconciliation itself is often the deliverable clients keep using long after the audit, because once every patient has one identity and the funnel is modelled end to end, every future question about channel mix, pricing or retention can be answered from the same table.
Our AI Stack Audit does exactly this: we x-ray your intake, billing and portal data, quantify the leak at each funnel stage, and show you which one is costing you most. For how we work with telehealth and digital-health operators specifically, see our telehealth practice page.
Key takeaways
- Telehealth margin leaks are small and repeated across the funnel. They hide in the gaps between your ad, intake, billing and portal systems, where nobody owns the reporting.
- Your true CAC is likely 30 to 50 percent higher than ad spend once intake labour and tooling are counted, which quietly breaks the 3:1 LTV:CAC bar.
- No-shows only become a leak when they are never rebooked; silent churn is worse still, because retaining a patient costs a fraction of acquiring a new one.
- The early signals of churn, including skipped refills, falling portal logins and unbooked follow-ups, already live in your data. They are just not being watched.
- The durable fix is a reconciliation layer with one patient identity across all four systems, not another dashboard on a single tool.
Frequently asked questions
How much revenue am I losing to telehealth no-shows?
It depends on your specialty and rebooking flow. General no-show rates average around 23 percent, and telehealth often runs lower, but the real loss is the no-show that never gets rebooked, a paid CAC that returns zero revenue. Only reconciling your own visit and rebooking data over a fixed follow-up window gives you the true figure, which is usually higher than the raw miss rate.
Why is my true patient acquisition cost higher than my ad spend?
Because ad spend is only part of CAC. Agency fees, martech tooling, and the clinical intake labour spent on leads who never convert all belong in the number, and most operators undercount their real acquisition cost by 30 to 50 percent by leaving them out. The honest figure is cost per paid patient, reconciled from the billing system backward, not cost per lead from the ad platform.
What early signals predict telehealth patient churn?
Skipped refill windows, a declining login cadence in the patient portal, and unbooked follow-up visits are the common leading indicators. They usually exist in your data already; the problem is that no single system watches them, so churn stays silent until the patient is long gone. Defining an "active" patient from your own history is what turns those signals into a watched at-risk list.
How do I calculate patient LTV versus CAC properly?
Divide fully loaded lifetime value (revenue per patient across their whole relationship, net of cost to serve) by fully loaded CAC (ad spend plus fees, tooling and intake labour). Aim for roughly 3:1 or better. The hard part is not the formula. It is connecting the billing, intake and spend data needed to populate both sides honestly.