How do you prove marketing ROI to a practice owner?
Answer the question actually being asked, which is whether to keep spending, spend more or stop. Three numbers do that: total spend including your fee, revenue traceable to that spend, and cost per booked treatment set against average treatment value. Everything else belongs in an appendix. Attribute one service line properly for one quarter rather than attributing everything partially. Say before it is discovered that attributed revenue will not match the practice management system, because attribution windows expire, some channels are untracked and platforms double-count, so the figure is a floor rather than a total. Owners accept a floor and do not accept a total that turns out to be one. Bring the channels that failed with equal prominence, because a consistently positive report eventually reads as a sales document rather than as measurement. Give the owner independent access to the accounts rather than screenshots, since the person building the attribution is usually the person it will measure.
When a practice owner asks whether the marketing is working, they are not requesting a dashboard. They are asking one question, and it is usually some version of: should I keep spending this, spend more, or stop?
Almost every marketing report fails because it answers a different question at considerable length.
What owners actually respond to
Present a practice owner with impressions, click-through rate, engagement and cost per click, and you have described your own work. Present them with three numbers and you have answered theirs. The gap between a lead count and a patient count is the whole reason this conversation is difficult, and it is set out in 400 leads against 40 patients.
What went in. Total spend across everything, including your fee. Owners notice immediately when the fee is excluded, and it costs more credibility than it saves.
What came back. Revenue from patients who can be traced to that spend. Not enquiries. Revenue.
What it cost to acquire one. Cost per booked treatment, next to the average value of that treatment.
Everything else is supporting evidence. Cost per lead belongs in an appendix, because it is the number that most often looks excellent while the business does not.
Start with one service line
The instinct is to attribute everything before reporting anything, which takes months and produces nothing in the meantime.
A better sequence is to pick a single service line with clear pricing and reasonable volume, attribute that properly for one quarter, and present it complete. One line done honestly is more persuasive than five lines done partially, and it gives the owner something they can check against their own knowledge of the business.
It also fails cheaply. If the plumbing is wrong, you find out in one quarter on one service line rather than after a nine-month project.
The numbers will not match, and you should say so first
At some point the owner will compare your attributed revenue against what the practice management system says, and the two will differ. This is guaranteed, and how you handle it determines whether the whole report survives.
Say it before they find it.
The gap has understood causes. Attribution windows expire, and Google discards a click identifier after 90 days while patient journeys run 8 to 180 days. Some patients arrive through channels nobody is tracking. Phone calls are attributed only if call tracking carries the identifier through. Platform-reported conversions overlap between Google and Meta, both claiming the same booking.
The honest framing is that attributed revenue is a floor, not a total. It is what can be proven, and the real contribution is higher by an unknown margin. Owners accept a floor readily. What they do not accept is a total that turns out to be a floor.
Show the direction, not just the level
A single quarter is a snapshot and invites the response that the number seems high or low. Two comparable periods is an argument.
Two conditions matter. The windows must be the same length, and you must say so. And neither window should contain the migration, rebrand or price change that would explain the movement on its own. If one does, name it before presenting, because an owner who finds the confound themselves stops trusting the rest.
What to do when the answer is no
Sometimes the honest report says a channel is not working.
Bring it before it is asked for. A marketer who volunteers that paid social produced eleven enquiries and one treatment last quarter, and recommends moving the budget, is substantially more believable the next time they present a positive number. Every consistently positive report eventually gets read as a sales document.
There is also a specific case worth checking before declaring failure. If a channel reports well and produces nothing bankable, the problem may be measurement rather than performance, particularly where the phone is involved, since call tracking has to carry the click identifier or the phone half of the channel is invisible. Rule that out first, because switching off a channel that was working and was merely invisible is an expensive mistake to make quietly.
The meeting, not the document
The report is read in the room, and three questions come up almost every time.
“How do you know that patient came from Google?” The answer is a chain, not an assertion, and it lands better when described as one: the click carried an identifier, the identifier reached the record, the record shows the treatment and the value. Offer to walk one specific patient through end to end. Owners rarely take that up, and the offer itself does most of the work.
“My competitor says they get better numbers.” Usually true, and usually because they are quoting cost per lead against your cost per booked treatment. The two are not comparable and the gap between them is the entire subject. Say that plainly rather than defensively.
“So what should I do?” Have an answer ready with a number attached. Not “keep optimising”. Something closer to: move this amount from that channel to this one, and here is what I expect it to produce. Owners are making a capital allocation decision and will accept being wrong far more readily than being told it depends.
Month one, when there is nothing to report
The honest position early on is that you cannot yet prove anything, and saying so is stronger than manufacturing a metric.
What you can report in month one is the state of measurement itself. Whether auto-tagging was on. What proportion of enquiries arrive by phone. Whether the CRM holds the click identifier. How many enquiries arrived out of hours and how long they waited. Each is a finding, none requires attribution to be working yet, and collectively they tell the owner you have looked at the business rather than at a dashboard.
It also sets the baseline honestly. A practice told in month one that forty per cent of enquiries are currently unattributable will not be surprised in month six when attributed revenue is lower than total revenue.
The trap of proving your own value
There is an uncomfortable structural point in all of this, and it is worth naming.
The person building the attribution is usually the person whose performance it will measure. That is a conflict, and owners are right to notice it.
Two things reduce it. Give the owner independent access rather than a screenshot, so the Search Console property, the ad accounts and the CRM reports are theirs to open whenever they choose. And report the channels that failed with the same prominence as the ones that worked. A marketer who has never brought bad news has not been measuring, or has not been saying.
The report that works
One page, monthly, and boring by design:
- Spend, including fee
- Attributed revenue, described as a floor
- Cost per booked treatment against average treatment value
- The comparison period and its length
- One paragraph on what changed and what will change next
- An appendix nobody will read, containing everything else
If the owner can read it in ninety seconds and knows whether to spend more, you have proved marketing ROI. If they have to ask what any of it means, the reporting is about you rather than about the business.
That is also why we open a live Search Console property on calls rather than screenshot it. A number somebody can check is worth several a person has to accept, and the difference costs nothing to provide when the numbers are real.
Show us where the revenue stops.
Thirty minutes, your real numbers, an honest read on which layer is costing you most.