“We already record referral source at intake.”
Good — that is the file this starts from. What it adds is what each source went on to bill, plus the campaign and keyword underneath a source recorded simply as the website.
For WellSky Personal Care
Join the referral source to the hours actually billed — the join most agencies are currently doing by hand in a spreadsheet.
No API key Nothing to install in WellSky Personal Care No card required
The gap
The referral source is on the client record. The billed hours are in the visit data. Putting them side by side is somebody's quarterly afternoon with a spreadsheet.
What was sold, to whom, and for how much.
The click, the keyword, the call, and what each one cost.
The file
Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.
The contact on the client record. Families enquire from one number and are billed at another address, so the phone is usually the more reliable key.
Visit charges or invoiced revenue. Hours alone are not comparable across rate bands; money is.
Whichever your billing recognises, used consistently between uploads.
Separates private pay from Medicaid waiver, VA and managed care — a waiver assignment is not a marketing conversion.
Step by step
Written for somebody with WellSky Personal Care open in the next tab. Report names vary by edition, so each step says what to look for.
One row per client carrying the contact detail and the source as recorded at intake. This is the file that tells you what intake believed.
The money side: client, amount, date. This is the file that tells you what actually happened.
The two join on the client. That join is the thing agencies currently do by hand, and doing it by hand is why it happens quarterly rather than monthly.
Your ad platform export and your call tracking export. These are the sources the agency management system never sees at all.
Use the payer column to take waiver and VA volume out of the denominator, so the return is measured against the private-pay book the advertising competes for.
What comes back
Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Private-Pay Home Care page — not from a WellSky Personal Care account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 23 | $495,500 | |
| Professional referrals | 29 | $637,000 | |
| Referral aggregators | 13 | $283,000 | |
| Meta Ads | 5 | $118,000 | |
| Direct / Unknown | 38 | $826,500 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
A private-duty agency holds everything it needs. The lead record carries a referral source and a phone number. The visit data carries a charge rate and a date. What is missing is a report that puts them in the same row — revenue by referral source, over a period, per office.
The standard workaround is exactly what you would expect: export both, open them in a spreadsheet, match on the client, and build the table by hand. It works, it takes an afternoon, and consequently it happens once a quarter if at all, which is not often enough to steer a budget.
That join is the entire job here. Upload the two exports and the table builds itself, every month, with the ad and call data added on top — which is the part no agency management system holds under any circumstances.
A referral from a discharge planner or a case manager converts at a rate that would look like a typo next to a digital enquiry. Ten to twenty web enquiries per started client is normal for paid search; two or three is normal for a professional referral.
Judge both on lead volume and paid search looks productive. Judge both on billed revenue and the comparison becomes answerable. Either conclusion is useful: an agency that discovers its community liaison's time is worth more than its ad budget has learnt something it can act on immediately.
Upload the professional referral list as a source file and it is ranked on the same axis as Google. That is the comparison the business actually turns on.
A ten-hour-a-week companion client and a live-in client are one row each in a client list and an order of magnitude apart in revenue. Cost per client rates them identically.
Because the match is on the client and the revenue is the billed amount, the report ranks channels on what they actually produced. Every later week of care credits the channel that produced the original enquiry, so a channel that brings clients who stay is separated from one that brings clients who do not.
A large share of private-duty agencies are franchisees whose web presence lives on the franchisor's domain. They cannot install a tag, cannot edit the page, and often cannot see the form submissions directly.
They do own the phone number and they do own the client records. Because this method reconciles two exports rather than instrumenting a page, it works for a franchisee exactly as well as for an independent — which is unusual enough in this category to be worth saying plainly.
Home care agencies advertise for clients and for caregivers, often in the same account and sometimes on overlapping keywords. Recruitment spend is real and necessary and produces no billable revenue at all.
Blended into one number, the client-acquisition return is understated by whatever share went to hiring — and in a tight labour market that share can be half the budget. Group recruitment campaigns as their own source, or exclude them, and the client-side figure becomes meaningful.
A published industry benchmark puts blended cost per client acquisition well below what paid search alone typically costs in this segment. Separating the two funnels is usually the first step to understanding why.
Fair questions
Good — that is the file this starts from. What it adds is what each source went on to bill, plus the campaign and keyword underneath a source recorded simply as the website.
If you can already open a report showing billed revenue by referral source for a period, you have most of it. This adds the ad and call layer the agency management system never receives.
Use a payer column to take it out of the denominator. A waiver assignment is not a marketing conversion and should not dilute the return.
Two files: clients with their referral source and contact detail, and billed visits or invoices with amounts and dates.
Yes, if your billing export already carries the client's contact detail. Two files is simply the more common shape.
Yes. Every later week of billing credits the channel that produced the original enquiry.
Yes, with a payer column, so the return is measured against private-pay revenue.
Yes, with an office column, on Growth and above.
That is fine. Nothing is installed on a page — this reconciles exports and call records you already own.
Yes. A referral list is a source file and ranks against paid channels on billed revenue.
Not required, but families call rather than fill in forms, so a call export is usually the strongest second file.
No. A contact detail, an amount and a date is all the match reads.
Encrypted in transit and at rest, isolated per workspace, deletable in one click, DPA available.
Yes, by grouping recruitment campaigns as their own source or excluding them. Blended, they understate the client-acquisition return.
Yes, if the export covers enough history. Billed revenue accumulates against the client and credits the original source.
By trade
What the report looks like once the export is in, written for each one.
Other systems
Running more than one system, or comparing? The method is the same and the columns are not.
WellSky Personal Care and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.
Start today
Nothing to install in WellSky Personal Care, no API key, and no need to have been tracking anything until now. Last year works as well as this month.