Who This Checklist Is For (And When to Pull It Out)
Home care agency marketing ROI tracking falls apart at one specific handoff: the moment an inquiry stops being a phone call and becomes a person on service. Most agencies can tell you how many calls came in last month. Far fewer can tell you which of those calls turned into a start of care, what the average hours-per-week looked like for that referral source, and whether the channel that produced them made money or quietly burned $4,000.
Use this checklist if you own or run marketing for a non-medical home care, home health, or private duty agency doing somewhere between $1M and $30M in annual revenue, and you’re spending real money on Google Ads, SEO, Care.com-style directories, or a referral development rep. It works best as a quarterly audit. Run it before you renew an agency contract, before you cut a channel that “isn’t working,” or before you add budget to one that looks like it is.
Home care agency marketing ROI tracking means connecting every inquiry back to its original source and following it all the way to start of care and revenue, not stopping at the call. A complete system captures source on the first touch, tracks the inquiry through assessment and start of care, records billable hours and length of stay, and reports cost per start of care by channel rather than cost per lead.
Fair warning: you will probably score lower than you expect on the first pass. That’s normal. Most agencies we talk to are tracking three or four of these twenty items and calling it attribution.
Section 1: Capture the Source Before Anything Else
If the source isn’t captured at first contact, nothing downstream can be fixed. You can’t back into attribution with a spreadsheet three months later. This section is the foundation, and it’s where most agencies lose the thread.
- [ ] Every phone number on every marketing asset is a tracked number. Why it matters: the phone is still where home care inquiries happen, especially with adult children calling on a parent’s behalf. Without call tracking, your Google Ads spend and your church bulletin ad produce the same undifferentiated ring. How to verify: call each number yourself from a cell phone and confirm it shows up in your call tracking dashboard with the right source label. Do this for your website, your GMB listing, your directory profiles, and your print pieces.
- [ ] Dynamic number insertion is running on your website. Why it matters: a single tracked number on your site tells you the web sent a call. Dynamic insertion tells you the call came from paid search versus organic versus a directory referral. How to verify: open your site in an incognito window from a Google search result, note the number, then open it from a direct URL entry. If the numbers are identical, DNI isn’t configured.
- [ ] Every paid link uses UTM parameters with a consistent naming convention. Why it matters: inconsistent UTMs (“facebook” vs “Facebook” vs “fb”) split one channel into three rows in your reporting and make the numbers useless. How to verify: pull a 90-day report of all traffic sources in GA4 and look for duplicates that differ only by capitalization or spelling.
- [ ] Your intake form has a required “how did you hear about us” field with a fixed dropdown. Why it matters: free-text answers produce 40 variations of “internet.” A dropdown with 8-12 real options gives you data you can group. How to verify: submit a test form and try to skip the field. If you can, it isn’t required.
- [ ] Intake staff ask and record source on every inbound call, even when caller ID or tracking already captured it. Why it matters: the self-reported answer often differs from the technical attribution, and the gap is informative. Someone who found you through a hospital discharge planner and then Googled your name is a referral win, not a search win. How to verify: pull 20 recent intake records at random and check that the source field is populated on all 20.
Section 2: Track the Inquiry Through the Funnel, Not Just the Front Door
Here’s where home care differs from almost every other healthcare vertical. The gap between inquiry and revenue is long, non-linear, and full of stalls. A family calls in March, says “we’re just gathering information,” and starts service in August after a fall. If your tracking closes the loop at 30 days, that August start of care shows up as attributable to nothing.
- [ ] Every inquiry becomes a record in a CRM or your agency management software, with a status field. Why it matters: inquiries that live on a notepad or in someone’s inbox can’t be counted, followed up on, or attributed. How to verify: count your inquiries in the system for last month and compare to your call tracking volume. If the CRM number is meaningfully lower, calls are falling out before they get logged.
- [ ] You track at least four distinct stages: inquiry, assessment scheduled, assessment completed, start of care. Why it matters: knowing that a channel produces 30 inquiries is useless if 28 of them never agree to an assessment. Stage tracking tells you whether a channel has a lead quality problem or your intake team has a conversion problem. How to verify: run a report showing counts at each stage for last quarter. If you can’t produce one in under ten minutes, the stages aren’t structured.
- [ ] Source data persists from inquiry through start of care without being overwritten. Why it matters: some systems overwrite the source field when a record is updated or re-entered, which silently reassigns credit. How to verify: pick a client who started service last month and confirm their record still shows the original inquiry source, not “referral” or “existing client.”
- [ ] Inquiries stay open for at least 180 days before you mark them dead. Why it matters: the long-consideration pattern is real in home care. Closing records at 30 or 60 days means slow-converting channels (SEO, community education, hospital relationships) look worse than fast-converting ones (paid search with an urgent-need query). How to verify: check your CRM’s auto-close rules and your team’s manual habits.
- [ ] Lost inquiries get a reason code. Why it matters: “went with a competitor,” “cost,” “family decided to provide care themselves,” and “no caregiver availability in that zip” are four different problems. Only one of them is a marketing problem. How to verify: pull last quarter’s lost inquiries and check what percentage have a populated reason.
Section 3: Measure the Right Numbers, Not the Convenient Ones
Cost per lead is the metric agencies report because it’s easy. It’s also the metric most likely to get you to make a bad decision. A directory that produces $30 leads and a referral development program that produces $600 leads can be equally profitable, or wildly different, and cost per lead tells you nothing either way.
The number that matters is cost per start of care, adjusted for the value of that start of care.
| Metric | What It Tells You | Why It Misleads on Its Own |
|---|---|---|
| Cost per lead | Channel efficiency at generating contact | Ignores lead quality entirely. A channel can halve your CPL and double your waste. |
| Inquiry-to-SOC rate | Whether a channel sends qualified families | Can be dragged down by intake performance, not the channel |
| Cost per start of care | What you actually paid to add a client | Treats a 10-hour/week client the same as a 60-hour/week one |
| Average weekly hours by source | The revenue weight behind each start of care | Varies with case mix and payer type, needs volume to stabilize |
| Average length of stay by source | Total lifetime value of a client from that channel | Requires 12+ months of history before it means anything |
| Revenue per marketing dollar by channel | The real answer | Takes the longest to build and needs all the above |
- [ ] You calculate cost per start of care by channel, monthly. Why it matters: this is the single number that tells you where to put the next dollar. How to verify: divide total channel spend by starts of care attributed to that channel for the same period. If you can’t attribute starts of care to a channel, go back to Section 1.
- [ ] You record average weekly authorized hours for each new client and can group it by source. Why it matters: a channel producing 20-hour cases at $320 cost per SOC is far better than one producing 8-hour cases at $200. Hours are where the revenue lives. How to verify: pull last quarter’s starts of care with their initial care plan hours and their source, in one report.
- [ ] You track average length of stay by source once you have 12 months of data. Why it matters: a client who stays 14 months is worth several times one who stays 6 weeks, and sources differ on this more than most owners expect. Post-hospitalization inquiries often convert fast and end fast. Long-term planning inquiries take longer to close and stay longer. How to verify: pull discharged clients from the last year, group by original source, compute the median.
- [ ] Your spend numbers include agency fees, not just ad spend. Why it matters: an agency reporting a $210 cost per SOC on $6,000 of ad spend while charging you $3,000/month is actually delivering a $315 cost per SOC. How to verify: ask your marketing partner for blended numbers including their fee. If they resist, that tells you something.
- [ ] Caregiver recruiting spend is tracked separately from client acquisition spend. Why it matters: these get co-mingled constantly in home care, and it makes client acquisition look twice as expensive as it is. How to verify: look at last month’s total marketing spend and see whether Indeed, ZipRecruiter, and caregiver-targeted social ads are in the same bucket as client-side Google Ads.
Section 4: Handle the Attribution Problems Specific to Home Care
I’ll say something most marketing agencies won’t: in home care, your best referral sources are frequently invisible to digital attribution, and that’s fine as long as you know it. A discharge planner at the local hospital sends a family your way. The family Googles your agency name, clicks a branded paid search ad you’re running defensively, and calls the tracked number. Google Ads takes credit. The discharge planner gets nothing.
If you optimize on that data without correcting for it, you’ll pour budget into branded search and cut the community relationships that are actually filling your census.
- [ ] You separate branded search from non-branded search in your reporting. Why it matters: branded search mostly harvests demand other channels created. Blending it into your paid search ROI makes paid search look like a miracle. How to verify: check whether your Google Ads reporting splits campaigns by brand and non-brand, or whether it’s one lump.
- [ ] Professional referral sources are tracked by individual name, not just “referral.” Why it matters: you need to know that three of your 40 referral partners produce 60% of your referral volume, so your community liaison spends time where it counts. How to verify: pull your referral-sourced starts of care from last quarter and see if you can name the referring person on each.
- [ ] Your intake team asks a second question: “Did anyone recommend us?” Why it matters: the first answer is usually the last touch (“I found you online”). The second question surfaces the actual origin. How to verify: listen to five recorded intake calls and count how many include it.
- [ ] You reconcile self-reported source against technical attribution quarterly. Why it matters: when 40% of families say “a friend recommended you” but your analytics credits organic search, you’ve found a word-of-mouth engine you weren’t measuring. How to verify: build a simple two-column comparison of last quarter’s self-reported sources and your platform-reported conversions.
- [ ] You track inquiries you had to turn away for staffing or geography. Why it matters: if you declined 18 inquiries last quarter because you had no caregiver in that county, your marketing is working and your recruiting isn’t. Cutting ad spend would be exactly the wrong move. How to verify: check whether your CRM has a “declined, no capacity” status and whether anyone uses it.
- [ ] Medicaid, VA, long-term care insurance, and private pay inquiries are tagged by payer at intake. Why it matters: the margin difference between payer types is large enough that a channel producing mostly one payer type needs to be evaluated on its own terms. How to verify: run last quarter’s starts of care grouped by payer and source together.
Score Your Setup
Count your checked boxes out of 20.
16-20: You’re in the top tier. Your reporting is good enough to make budget decisions with confidence. Spend your energy on optimization now: shift dollars toward your lowest cost per start of care channels, and test whether the high-hours sources can be scaled.
11-15: Solid foundation, real blind spots. You know what’s working directionally but you’re likely over-crediting branded search or paid channels and under-crediting community relationships. Fix Section 4 first. It’s the cheapest fix and it changes the most decisions.
6-10: You’re making budget decisions on partial data. Most agencies live here. The risk is that you cut a channel that’s producing your longest-staying clients because it looks expensive per lead. Start with Section 1, specifically call tracking with dynamic number insertion and a required source field at intake. Those two changes alone will change what you think you know within 60 days.
0-5: Start over on measurement before you spend another dollar on ads. Adding budget to an untracked channel is guessing with extra steps. Get source capture working, get every inquiry into a CRM, and give it one quarter of clean data before you make any channel decisions.
What to Fix in the Next 30 Days
Don’t try to install all 20 items at once. It stalls, and the half-built version is worse than nothing because people stop trusting the reports.
Week one: get tracked phone numbers on every asset and a required source dropdown on the intake form. Week two: add the four funnel stages to your CRM and train intake on the “did anyone recommend us” question. Week three: pull your last 12 months of starts of care and manually attribute as many as you can, even if it’s ugly, so you have a baseline. Week four: calculate cost per start of care for your top three channels, including agency fees.
Then leave it alone for a quarter. Attribution data needs volume before it means anything, and a typical agency’s monthly start-of-care count is small enough that one good month can look like a trend when it’s noise.
One more thing worth saying, since this is a marketing article about medical-adjacent services: if your agency advertises specific care outcomes or client results in any of these channels, check your state’s rules on healthcare advertising claims and run the copy past your own compliance counsel. Tracking ROI on an ad you can’t legally run is a bad use of a quarter.
Want a second set of eyes on it? Book a free patient acquisition audit and we’ll map your current inquiry-to-start-of-care tracking, show you where source data is dropping out, and tell you which channel is quietly costing you the most per client. No obligation, no pitch deck.