“WelcomeHome already reports marketing ROI.”
On the touches and sources it holds. What it does not hold is the rent the move-in went on to bill, which is in the billing system — joining those two is the job.
For WelcomeHome
Match move-ins and the rent they earn to the campaigns that produced the enquiry — and price that against the agency's fee.
No API key Nothing to install in WelcomeHome No card required
The gap
You know precisely what a referral agency charges per move-in, because they invoice you. Every other channel's cost per move-in is a guess.
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 enquiring family member, not the resident. This is the contact that appears on both the prospect record and the billing record.
From the billing system rather than the CRM, in most operators. The CRM hands off at deposit and the money lives downstream.
Used consistently. Move-in date is the usual choice for attribution.
Assisted living, memory care and independent living have different cycles and costs and should not be averaged.
Step by step
Written for somebody with WelcomeHome open in the next tab. Report names vary by edition, so each step says what to look for.
One row per enquiry carrying the enquiring family member's phone or email and the source as recorded.
In most operators this comes from the billing or property system rather than the CRM, because the CRM hands the prospect off at deposit. Two exports and a join is the normal shape here, not a failure.
The cycle runs a hundred days and more, and independent living routinely runs past three hundred. A short file matches almost nothing.
Paid search, paid social, and a call export — senior living enquiries arrive by phone more often than by form.
This is the comparison worth running: your own channels' cost per move-in against a fee you already know.
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 Senior Living page — not from a WelcomeHome account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 3 | $385,000 | |
| Referral agencies | 3 | $311,000 | |
| Meta Ads | 1 | $103,500 | |
| Community events | 1 | $74,000 | |
| Direct / Unknown | 5 | $606,500 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
A placement agency's fee is roughly a month's rent and it arrives as an invoice attached to a named resident. That makes it the one channel in the whole mix with an honest, countable cost per move-in.
Every other channel is measured in enquiries and tours. So the comparison an operator most wants to make — what a move-in from our own website costs against what the agency charges for one — cannot be made, and the aggregator keeps the volume by default.
Uploading the agency's placements as a source file puts both on the same axis. Sometimes the answer is that the agency is good value, and that is a finding worth having in writing rather than a suspicion.
Senior living CRMs are built around the sales process, and the sales process ends at the deposit. What the resident then pays every month, and how that changes with level of care, lives in the billing or property system.
That means the honest version of this report needs two exports and a join, and any vendor promising a single-click answer is either only using the CRM's own source field or quietly ignoring the revenue. Saying so up front is more useful than pretending otherwise.
The join is the responsible party's contact detail, which both records carry because both need somebody to contact.
Two channels can produce move-ins at the same cost while one produces residents who stay nine months and the other residents who stay two years. Cost per move-in rates them identically and is wrong by more than double.
Because the match is on the resident's household, every month billed credits the channel that produced the enquiry, and level-of-care increases credit it too. That is where much of the revenue growth in assisted living actually comes from, and no enquiry-based report can see any of it.
The person who filled in the form is an adult child, often in another state. The person on the billing record is their parent. A join on name finds nothing and the report reads as though the website produced no move-ins at all.
The match runs on the contact detail that appears in both files — the family member's phone or email, which the CRM keeps on the prospect and the community keeps as the responsible party. Weak links are flagged for a person to confirm rather than counted.
Senior living sales run through stages that behave very differently: a tour, a deposit, a move-in, and sometimes a deposit that is refunded when a family's circumstances change. Counting deposits as conversions flatters whichever channel is best at generating interest, which is frequently not the channel that produces residents.
A stage column keeps them apart, so a deposit is reported as a deposit and billed rent is reported as revenue. For an operator reporting occupancy progress to an owner, that separation is the difference between a number that has to be restated and one that does not.
It also makes deposit-to-move-in conversion visible per channel, which is usually where two apparently similar sources turn out not to be similar at all.
Fair questions
On the touches and sources it holds. What it does not hold is the rent the move-in went on to bill, which is in the billing system — joining those two is the job.
Which is why the match is on the household rather than a session. The gap costs nothing.
Yes, and that is the honest shape of this segment. Anything claiming one file is either ignoring the revenue or using only the CRM's source field.
Prospects with lead source and the enquirer's contact detail, plus move-ins or billed rent with amounts and dates.
Because senior living CRMs hand off at deposit and the revenue lives in the billing system. The join is the responsible party's contact detail.
Yes, and it credits the channel that produced the original enquiry.
Yes — upload the agency's placements as a source file and both are ranked on move-ins and revenue.
Yes, with a care-type column. Assisted living, memory care and independent living behave very differently.
Yes, with a community column, on Growth and above.
At least twelve months; more where independent living is a meaningful share.
No. A contact detail, an amount and a date.
Not required, but most enquiries arrive by phone, so it is the strongest second file.
Encrypted in transit and at rest, isolated per workspace, deletable in one click, DPA available.
Yes, with a stage column, so a refunded deposit is never counted as revenue.
Yes, and it is usually where two apparently similar sources turn out to differ.
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.
WelcomeHome 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 WelcomeHome, no API key, and no need to have been tracking anything until now. Last year works as well as this month.