Admissions, not calls
Rank channels by admissions completed and their value rather than by calls received.
Marketing attribution for addiction treatment centers
Match completed admissions and their value to the calls and campaigns that produced them — in a market where the cost per call is among the highest anywhere.
$728,000 56% of $1,300,000 paid
The blind spot
Treatment keywords are among the most expensive in advertising and most calls never become an admission. Judging channels on call volume here is an expensive way to be wrong.
What you get
Rank channels by admissions completed and their value rather than by calls received.
Exact matches only, with weaker links held back for a person to accept or reject — which is what makes the collected revenue figure survive being questioned.
A call in one month that admits the next still traces to the campaign behind it.
A worked example
Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.
| Channel | Sales | Revenue | Share | % |
|---|---|---|---|---|
| Google Ads | 29 | $533,000 | 41% | |
| Meta Ads | 8 | $143,000 | 11% | |
| Email marketing | 3 | $52,000 | 4% | |
| Direct / Unknown | 31 | $572,000 | 44% |
Cost per call in this category can run into the hundreds. At that price the difference between a channel producing calls and a channel producing admissions is the difference between a viable program and an unaffordable one.
Ranking on completed admissions rather than call volume regularly reorders the channels entirely — and the cheapest calls are frequently from the audience least likely to admit.
A large share of admissions come from clinicians, previous patients, and families who found the program some other way. That belongs in Direct / Unknown rather than credited to whichever campaign was running.
Its size matters. If half of admissions arrive that way, the marketing question is different from what a paid-channel report alone would suggest.
Two clients admit on the same Tuesday from two different campaigns. One completes detox and leaves after six days. One steps down through residential and a partial program and is in treatment for seven weeks. On any report counting admissions those are one each. In the accounts they differ by a factor of six, and in the census they differ by whether the building was full in March. A provider funding its marketing on admissions is funding it on the smallest and least informative fact about each client.
Length of stay is not random across sources either. Callers who arrive through a campaign promising immediate placement behave differently from those who found the program through a clinician, a family member who researched for two weeks, or an alumnus. The variation is large, it is stable enough to plan around, and it does not appear anywhere in an advertising account, which closes its books on the day the call connected and never revisits the record. Providers who have measured it describe the spread between their best and worst sources as being wider than the spread between their levels of care, which is not a small claim.
Exporting billed days or episode totals with a client contact detail on each row puts the revenue beside the source. Every row for one client matches that client, so a seven-week stay billed in several rows credits all of its revenue to the inquiry that produced it; each row still counts as a sale in the report, so episode totals keep the sale count meaningful. That moves the argument from lead quality, which nobody can settle, to collected revenue, which nobody can dispute. Keep clinical detail, including level of care, out of the file.
This segment has a matching problem most do not. The call comes from a mother, a spouse or an employer, and the client whose name eventually appears on the billing record is somebody else entirely. A join on phone numbers alone will miss that connection, and a system willing to guess at it would be inventing a link between two people on the strength of a shared surname or an overlapping date, which is not evidence of anything. So the single most valuable field in the whole exercise is one that is usually typed into a free-text note and never exported at all.
The design decision here is to refuse the guess. Only exact email and phone matches count automatically toward the revenue figures. The one weaker link the engine produces — the same national number under a different country code — is held for review, and a caller and a client with different contact details are simply not linked at all. That produces a lower headline match rate than a tool willing to be optimistic, and it produces a number an operator can put in front of a board without qualifying it, which is the trade this product makes everywhere and makes most visibly here.
Intake is where this gets solved, not in the software. Where the admissions team records the client's own phone or email on the inquiry row, alongside or instead of the caller's, the lead file carries a detail the billing record also has, and the join succeeds cleanly. Many providers already collect this; it sits in a call note rather than in a column, and moving it into a column is a smaller change than it sounds and the single largest improvement available to the match rate in this segment. The admissions team is already asking the question; the change is where the answer is stored.
Between the inquiry and the admission there is a verification step that decides whether the client can be accepted at all, and it filters unevenly by source. Campaigns written around cost and coverage attract callers whose coverage is the deciding question, and a proportion of them will not verify at a level that supports the program. The call happened, the admissions team spent forty minutes on it, and nothing followed. Counted as a call, it looks identical to the one that admitted for seven weeks.
At the prices this category pays for a click, that filter is the difference between a viable acquisition cost and an indefensible one. A source producing calls that verify at half the rate of another is effectively twice as expensive per admission, and no dashboard inside an advertising platform contains the data to notice. Providers generally feel it as a complaint about lead quality long before anybody produces a figure for it. What they have instead is an impression formed by whoever happened to take the difficult calls that week, which is not a basis for moving six figures of annual spend.
The figure comes from uploading both files. Calls and inquiries on one side, admitted and billed clients on the other, and the ratio per source falls out without any modeling. What a provider can do with it is not to switch the weaker channel off but to change what it says and where it qualifies, because the volume was real and the filtering was simply happening after the expensive part instead of before it. It is also worth running over a period that has already closed, since the inquiry logs and the billing records both exist and neither of them needed anything installed at the time.
Why it matters
"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.
Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.
Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.
Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.
Honest answers
The match needs a contact detail, an amount and a date. No diagnosis, no clinical record, no treatment detail — and none of it should be in the export.
Keep it. Its export is one of the two files; it tells you the call came from a channel, and this tells you the call became an admission.
Which is why calls are the wrong measure. Unadmitted calls appear as unmatched leads and cost nothing against your allowance.
Pricing
The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Enterprise usually fits residential and outpatient treatment providers — ten seats for the team and the highest monthly record allowance, since a year of closed deals is a lot of rows.
One business closing at volume
$499/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Completed admissions: a contact email or phone, the admission value, and the date. Nothing clinical.
Not with a column: the program somebody is in is health information, and it stays out of a file sent to a vendor that signs no business associate agreements. The channel ranking shows each channel's sale count beside its revenue, so a difference in value per patient still shows.
A contact detail, an amount and a date. Nothing clinical, and nothing about the program. Data is isolated per workspace and deletable in one click, and we act as a data processor with a DPA available.
No.
No. If you use them, that export is one of the two files.
As long as it turns out to be. There is no window to fall outside of: however much time passes between the call and the admission, it matches if the patient is in both files.
Yes. Most residential and outpatient treatment providers begin with last year, because it is the cheapest way to find out whether the exercise tells them anything.
Admission rows analyzed in a calendar month. Call rows do not count.
Either works for the money: every row carrying the client's contact detail credits the original inquiry, so the full amount lands on it. Each row counts as one sale, though, so one row per episode keeps the sale count meaningful and uses fewer records.
Record the client's own phone or email on the inquiry row at intake. Without a detail that appears in both files there is no link at all — nothing is flagged and nothing is guessed — and the revenue stays in Direct / Unknown, which is deliberate: we will not guess at a relationship.
Not with a column: a level of care is health information, and it stays out of a file sent to a vendor that signs no business associate agreements. The channel ranking shows each channel's sale count beside its revenue, so a difference in value per patient still shows.
A readmission credits the inquiry that first produced that client, because the join is on the person and nothing expires. There is no setting to count it as a new acquisition, and each billed row is still its own sale in the report.
Yes, when both files are uploaded. The ratio per source is where benefits verification and unqualified inquiries become visible, and it usually explains a lead-quality complaint that has been running for months.
Export what was actually billed and collected. Crediting a channel with a planned stay that did not happen would overstate it against the sources producing clients who complete, which is the comparison that matters.
CloseRev does not sign HIPAA Business Associate Agreements and is not built for protected health information or substance use treatment records. Upload only non-clinical billing data — a phone number or email, the amount and the date — never diagnoses, levels of care, assessments or notes. If your clients' phone numbers and emails count as PHI under your obligations, talk to your compliance lead before using CloseRev.
Nearby
Match billed sessions and completed courses of care to the inquiries and campaigns that produced the patient.
See how it worksMatch your billing export to your call and ad data, and see which channels produced procedures that were paid for rather than inquiries that were not.
See how it worksMatch completed, billed episodes to the inquiries and campaigns that produced them — by site.
See how it worksFrom the blog
Multi-site healthcare groups usually conclude that attribution is off limits because the data is clinical. It is not, because attribution does not need clinical data. What it needs is a phone number, an amount and a date, and there is a way to handle even those properly.
Read the articleCall tracking answers one question well: which campaign produced the ring. It has no view of what happened after the call ended, which is where the money is decided. This is what the gap costs, and how to close it without replacing the call tracker you already have.
Read the articleThe attribution window is the most consequential setting in marketing measurement and the least defended. It is usually inherited from a platform default, occasionally changed until the numbers look better, and almost never written down. Here is how to choose one honestly, why a longer window for one channel can be legitimate, and the single rule that separates a measurement from a rationalization.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.