Billed episodes, not inquiries
Rank channels by the episodes actually completed and billed.
Marketing attribution for Hospital Networks
Match completed, billed episodes to the inquiries and campaigns that produced them — by site.
$1,715,000 49% of $3,500,000 paid
The blind spot
Service-line marketing is measured on appointment requests, which are cheap, plentiful and mostly unrelated to the high-value episodes that fund the system.
What you get
Rank channels by the episodes actually completed and billed.
A channel that works in one city may do nothing in another. A site column shows each one on its own.
A contact detail, an amount and a date. No clinical information, ever.
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 | 214 | $1,015,000 | 29% | |
| Meta Ads | 118 | $420,000 | 12% | |
| Email marketing | 79 | $280,000 | 8% | |
| Direct / Unknown | 402 | $1,785,000 | 51% |
In a health system the majority of episodes arrive by physician referral, insurance network, or proximity — not by advertising. Any tool reporting a high attributed share for a hospital is redistributing that volume, and the resulting numbers cannot support a budget decision.
A large Direct / Unknown bucket is the correct answer here, and seeing its true size is what makes the attributed portion meaningful. The question worth answering is not what share advertising produced, but which sites it moved and by how much.
System-wide attribution averages away everything that matters. Orthopedics, cardiology, maternity and imaging have entirely different economics, different audiences and different competition, and a channel that works for one may do nothing for another.
A site column mapped as Location turns one uninformative number into a comparison the marketing team can act on. A service-line column would be the other obvious cut, but which department treated somebody is health information, and it does not belong in a file sent to a vendor that signs no business associate agreements.
A health system's revenue divides into episodes that would have arrived regardless and episodes that can be influenced. Emergency presentations, transfers and referred admissions are not a marketing outcome in any useful sense of the word. Elective procedures, screening, diagnostics and the service lines patients choose for themselves are, and they are frequently where the contribution margin sits. Reporting one attributed share across the whole book buries the only part of it a campaign could ever have changed. Averaged together, the influenced volume is small enough to vanish into the rest, and the report reads as though marketing did nothing worth funding.
Separating them happens before the export rather than inside it. Filter the billing extract to elective episodes, so the file that leaves the hospital never names an episode type or admission route, and the report stops trying to answer an unanswerable question — what share of all hospital revenue advertising produced — and answers a narrower one instead: within elective volume, which channels produced booked and completed episodes, and at what value each. The episode type is already recorded for billing, so the filter needs nobody to add a field to a clinical system, and the file that results carries a contact detail, an amount and a date and nothing else.
The attributed share inside that slice looks nothing like the system-wide figure, and it is the figure somebody can act on without qualifying it. It also survives a finance review, because nobody is being asked to accept that a paid search campaign caused an emergency admission. Narrowing the denominator is not a way of flattering the numbers; it is how the numbers become about a decision somebody is actually making. The system-wide number is still worth printing, because it shows how much of the book was never in play. It should simply not be the number anybody plans against.
Very little hospital demand converts on a website. A campaign produces a call or a request, the access center receives it, and between that moment and a completed episode the patient has to be scheduled, verified, cleared and then actually attend. Every one of those steps loses volume, and the losses are not distributed evenly across the channels that produced the inquiries in the first place. A campaign aimed at a service line with a six-week wait and one aimed at a clinic with capacity next Tuesday look identical at the point of inquiry and nothing alike at the point of billing.
This is why inquiry counts mislead so badly in a health system. A channel producing large numbers of requests that cannot be scheduled inside an acceptable window is producing frustration rather than revenue, and it will still look like the best performer on any report built from form submissions. One producing fewer requests that become billed episodes is doing the job. Only a match against the billing record separates them. The same logic covers non-attendance, which concentrates in some referral patterns far more than others and is invisible in any count taken before the appointment.
The access center's own records are the second file. Whatever logs inquiries and where they came from — a call platform, a scheduling queue extract, a campaign's form submissions — is a list of people with contact details, and that is the entire requirement. Anything you cannot source stays in Direct / Unknown, which for a hospital is correctly the largest block on the page and should stay that way. Several sources are combined into the one lead file, each row tagged with its source, and they do not have to be de-duplicated against each other first: a contact that appears twice is credited to its earliest row.
The match needs three things from the revenue file: a contact detail, an amount and a date. Nothing else is read at any point. Diagnoses, procedure codes, clinical notes, payer detail and anything resembling a record of care play no part in the calculation and should not leave the systems holding them. Restraint in the export is not a limitation to be worked around here; it is the correct way to run this, and it shortens every internal approval that follows.
A site name is the one addition worth making, because it turns one uninformative network figure into a comparison somebody can act on. It is an administrative category rather than a clinical fact and says nothing about an individual's care, and it is already present in the finance extracts most systems produce for internal reporting every month. A service-line or department label is a different matter: which department treated somebody is health information, so it stays out of the file. If the site is genuinely unavailable the report still runs without it. It simply has less to say, and it says the same thing about every site at once.
Everything uploaded sits in its own workspace, encrypted in transit and at rest, and can be deleted outright rather than marked as deleted. A retention window can be set so that imports purge on a schedule without anyone having to remember to do it. We act as a processor and a DPA is available, and the smaller the file you send, the shorter that conversation is with whoever has to approve it. Access is by role, so the people who upload a file and the people who read the report do not have to be the same set of people.
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 procedure code, no clinical note, and those should never be in the export. Data is encrypted, isolated per workspace and deletable in one click.
A contact detail, an amount and a date per closed case. No clinical fields. Data is encrypted in transit and at rest, isolated per workspace and deletable in one click, and we act as a data processor with a DPA available.
Then Direct / Unknown will be large, which is the honest answer. A vendor reporting otherwise for a hospital is redistributing that volume across your paid channels.
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 health systems and multi-site provider groups — 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, billed episodes: a patient contact email or phone, the billed amount, and the date. Nothing clinical.
No. Which department treated a patient is health information, and CloseRev signs no business associate agreements, so a service-line column does not belong in the export. A site column mapped as Location is the breakdown to use.
Yes, with a site column mapped as Location, which gives one report with a per-site breakdown. Fully isolated data per site would mean a separate workspace for each, which the Enterprise plan does not include.
Yes, and you should. CloseRev does not sign HIPAA Business Associate Agreements and is not built for protected health information, so the export should carry only a phone number or email, the amount and the date, plus a service line if you want the report split by department. Never diagnoses, procedures, clinical notes or anything from the record. If your patients' phone numbers and emails count as PHI under your obligations, talk to your compliance lead before using CloseRev.
No. A contact detail, an amount and a date is enough.
Because we do not redistribute what we cannot trace. A hospital's referral and network volume is real and is shown as unattributed rather than credited to advertising.
Yes. Upload a finished period and the report is built from it — the method never depended on instrumentation being in place at the time.
Episode rows analyzed in a calendar month. Inquiry and call rows do not count.
Yes, by filtering before the export: send only elective episodes, so the file never carries the episode type or admission route itself. Do not add either as a column; the filter is the most useful single change to the export.
Whatever recorded the inquiry and its origin: the access center's call platform, scheduling requests, or an advertising platform's lead export. Any list of people with a contact detail works, and several can be uploaded together.
A site column mapped as Location produces one report with a per-site breakdown inside Enterprise's single workspace. Genuine isolation per site means a workspace each, which is the Agency plan: ten workspaces sharing one monthly record allowance, each reported separately with no combined view. Networks with independent governance at each site may prefer the second.
Yes. A patient returning for further care credits the channel that produced them first rather than counting as a fresh acquisition. For service lines with staged or follow-up treatment this changes the ranking considerably.
The upload and column mapping take minutes, and the mapping is remembered, so later periods are a file drop. Most of the elapsed time in practice is getting the billing extract approved internally rather than anything technical.
There is no revenue row to match against, so the report shows nothing and says so. Screening and community programs are better judged on the downstream episodes they generate, and those do appear in the billing file.
Nearby
Match 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 started clients and the hours they bill over months to the campaigns, referrals and discharge planners that produced them.
See how it worksMatch move-ins and the rent they earn over a resident's whole stay to the campaigns that produced the inquiry.
See how it worksWhere your sales already are
Match collected revenue to the campaigns and calls that produced the patient, across the months a claim takes to settle.
What to exportExport your call records, match them against closed sales, and find out which sources produced calls that became invoices.
What to exportExport collections from NextGen, bring referral and campaign sources with them, and rank every source on what was collected.
What to exportExport collections from eClinicalWorks, upload the sources behind first visits, and rank channels on the patients who stay.
What to exportFrom the blog
A multi-location business that reports one national attribution number is hiding its most important finding. The same campaign performs differently in every market, and the aggregate is an average of things that should never have been averaged.
Read the articleFranchisees pay into a national marketing fund and receive a report about impressions. Attribution turns that relationship from a matter of faith into a matter of record — which is exactly why some franchisors are in no hurry to build it.
Read the articleMulti-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 articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.