In this guide.
- 01First, measure your delay
- 02Choosing the window
- 03False sources
- 04When it goes sideways
What you will have at the end.
A measured booking delay for each service category, a lookback window chosen from it rather than from a default, and a clean source report with the false sources removed.
Before you start
What you need open
Attribution is the argument about who gets the credit. It matters because the credit decides where next month's budget goes, and because the default settings were designed for people buying shoes, not for someone deciding whether to finally deal with their knee.
First, measure your delay
Find the real gap between first contact and booking
Almost every attribution mistake in a clinic comes from assuming this gap is short. For a dental cleaning it might be two days. For an elective procedure someone has been avoiding for years it can be four months, and the campaign that started it was switched off long before the booking arrived.
Do not guess it. Measure it, per service category, because they differ enormously.
Pull the last hundred new patients per category with their first-contact date and their first-appointment date.Subtract. Build the distribution, not the average.Read the median and the ninetieth percentile. The median tells you the typical patient. The ninetieth tells you how long your window has to be to catch most of them.In practice
Use the median, never the mean. One patient who booked eleven months after first contact will drag an average into nonsense.
| Category shape | Typical median | What it means for your window |
|---|---|---|
| Urgent or acute | 0 to 2 days | Short windows are fine, last click is close to the truth |
| Routine and recall | 3 to 14 days | A 30 day window covers almost everyone |
| Considered or elective | 3 weeks to 4 months | Short windows will systematically undercredit the channel that started it |
| High cost, insurance dependent | 1 to 6 months | Attribution will be partly guesswork; say so rather than pretending |
Choosing the window
Set the lookback from your ninetieth percentile, rounded up
The rule is simple. Whatever your ninetieth percentile delay is, round up to the next available window setting and use that.
Set it in each ad platform and in your analytics, and write down the date you changed it. Changing the window changes every historical comparison, so the date is the only way to explain a step in your own charts later.
Set it once, per category if the platform allows, and leave it for at least a quarter.Do not compare a month on a thirty day window against a month on a ninety day window. That comparison is meaningless and it will be made by somebody.Understand what each model does before you argue about it
Attribution models are not right and wrong, they are different questions. Know which question each one answers and the arguments get shorter.
Last click: who was the last touch before booking. Answers where do I close. Undercredits everything early.First click: who introduced them. Answers where do I find people. Undercredits everything late.Linear: everyone shares. Answers nothing precisely but is hard to game.Data driven: the platform decides, using its own model you cannot inspect. Answers the platform's question, and tends to flatter the platform.Read two models side by side, always
Never look at one model alone. Put last click and first click next to each other for the same period, and the shape of the difference tells you more than either number does.
A channel large on first click and small on last click is finding patients. Cutting it will quietly hurt everything else in two months.A channel large on last click and small on first click is closing. It is real, but it is not where growth comes from.A channel large on both is genuinely carrying the clinic.A channel small on both, with meaningful spend, is the one to question.In practice
Be careful with the platform's own data driven model. It has an interest in the answer, and when only one conversion action is defined it will attribute almost everything to itself. Cross-check it against last click before moving money.
False sources
Find the source taking credit for everyone else
Open your source report and look for anything that is not a place a patient could plausibly have discovered you. Your own payment provider. Your booking tool. Your own domain. A generic direct bucket that is implausibly large.
Each of these is a technical artifact where somebody left your site, came back, and the return was recorded as a new arrival from that service.
A payment provider appearing as a traffic source means people leave to pay and return. Every one of those bookings has had its real source erased.Your own domain in the source list means a hop between two parts of your own site is being counted as an arrival.A booking tool on another address does the same thing.Fix them with the exclusion list
Every analytics property has a referral exclusion list. Adding a domain to it tells the system that a return from there is a continuation of the same visit, not a new one.
Add your payment provider, your booking tool, your own domain and any subdomain you use.Do this before you spend a month analyzing a source report, not after.Note the date. Your source report will visibly change shape and somebody will ask.In practice
One clinic we know had a third of its online revenue attributed to Organic Shopping, which turned out to be entirely its payment provider. Nothing was wrong with the marketing and everything was wrong with the report.
Tag every link you control
Anything you can put a tag on should have one. Untagged links fall into the direct bucket and become invisible.
Every ad, every email, every link in a social profile, every QR code on a printed card.One naming convention, written down, used by everyone. Source in lowercase, medium from a fixed short list, campaign named after the campaign.Inconsistent casing creates two rows for the same thing, and the report then understates both.Accept what you cannot attribute, in writing
A share of your patients will never be attributable. Somebody saw a post, told a friend, the friend searched your name six weeks later. There is no honest way to assign that.
The professional move is to state the unattributable share and hold it steady, rather than distributing it silently across the channels you can measure.
Report it as its own line, named plainly.Watch whether it grows. A growing unattributable share usually means something broke in your measurement, not that word of mouth improved.One direct question at intake, how did you hear about us, with a fixed list of answers, gives you a sanity check that no analytics can.
When it goes sideways
| Symptom | Probable cause | Fix |
|---|---|---|
| Direct traffic is a third of everything | Untagged links, plus return visits from tools you did not exclude | Add the exclusions, tag everything you control, and see what remains. |
| A channel looks dead on last click and you nearly cut it | It is an introducing channel, and your window is too short to see it | Read first click alongside last click before cutting anything. |
| Your payment provider is your top source | Return traffic after payment, starting a new session | Referral exclusion list. This is a five minute fix for a problem that distorts everything. |
| Total conversions across platforms exceed real bookings | Each platform claims the same booking. This is normal and it is not fraud | Never add platform numbers together. Reconcile each against your practice software separately. |
| Attribution changed sharply on one date | A window or model setting was changed, by you or by a platform default update | Check the change history and annotate the chart. Then compare only within one setting. |
| Two campaigns show the same source in different casing | No naming convention | Write it down, fix the live links, and accept the split history rather than trying to merge it. |
| The platform's model credits itself with nearly everything | One conversion action defined, and a model with an interest in the answer | Cross-check against last click and against your practice software before moving budget. |
Before attribution drives a decision
Questions we get.
- Which model should we actually use?
- Last click as the operational default because it is stable and understandable, with first click read beside it every month. Consistency matters more than which one you picked.
- Our delay is four months. Is attribution even useful?
- Less useful, and still worth doing with a long window and honest labeling. For very long cycles, the intake question is often the better instrument.
- Should we use the platform's data driven model?
- You can, as one of the two views. Not as the only one, and not as the basis for moving budget between platforms, because each platform is scoring its own work.
- How much unattributable is normal?
- It varies too much to give a number honestly. What matters is that yours is stable. A jump means something broke.
- Can we ask patients how they found us and use that instead?
- Use it alongside. People genuinely misremember, and they under-report advertising. It is a good sanity check and a poor sole source.
This guide is general information for clinic owners. It is not clinical advice, and it does not replace the guidance of your professional body or your own advisers.


