Offline conversion tracking for clinics without sending patient data: booked, showed, paid
Short answer
The platform learns that a click led to a person who showed up and paid, and nothing about why. Send each stage within 7 days for Meta, and keep cancelled and no-show unsent.
The whole point of offline conversions for a clinic is to tell the ad platform what happened after the form. And the whole worry about health advertising is not telling the ad platform too much. Those two things sound like they fight each other. They don't, if you're careful about what you send.
Let me show you how they fit together, because I think this is the most useful idea in the whole topic.
Start with what makes an offline conversion valuable. It's the outcome: this click led to a person who booked, who turned up, who paid. That's a fact about behaviour, not about health. The ad platform doesn't need to know why the person came to learn that they came.
Now what a clean version looks like. Your CRM records the stages: the appointment was booked, the person showed up, the treatment was won, the invoice was paid. You send those stages back to the ad platform, and only these things go with them: the original ad click, a hashed email and phone, and the value where it's relevant.
What does not go: the treatment, the condition, the person's name, notes, or anything a clinician wrote down.
The ad platform learns "this click led to a person who showed up and paid". It learns nothing about why. That's a very different signal from a form fill, and a much more useful one. The campaign starts finding people who turn up and pay, not people who fill in forms.
A rule that keeps you safe: your CRM stays the place patient records live. Only the minimum needed to send a clean signal crosses over. If you're ever unsure whether a field should go, ask whether the ad platform needs it to match or to count. If it needs neither, leave it out.
A made-up example of how it plays out. 200 form fills. 100 booked. 70 showed. 40 paid. The ads used to see 200. Now they see 100, 70 and 40, each as a separate neutral event, matched to the click. You can optimise on "showed", watch "paid" as the profit check, and keep "booked" as the volume backstop. And in none of those events is there a treatment, a condition or a name.
Two practical points. Send each stage when it happens, because Meta rejects events sent more than 7 days after they happened. And mark cancelled and no-show in your CRM as their own statuses, but don't send them, because you don't want the campaign chasing people who don't come.
Here's an example mapping of CRM statuses to events, so you can adapt it to your clinic. It's a made-up mapping, and the structure is what matters.
CRM status "New enquiry" maps to a lead event.
CRM status "Consultation booked" maps to a booked event.
CRM status "Attended" maps to a showed event.
CRM status "Treatment accepted" maps to a won event, with the value.
CRM status "Invoice paid" maps to a paid event, with the value.
CRM statuses "Cancelled", "No-show" and "Lost" map to nothing that is sent. They're recorded in the CRM for your own use.
The rule for adding a status: does the ad platform learn something useful from it? If yes, map it. If it only matters for your operations, leave it out. A short list of well-chosen events beats a long list of every step.
Do you send later stages back today, or only the form fill?
For reference, this is the case DataCops health mode was built for: a neutral L_1 for a lead and S_1 for a booking, with hashed email and phone and the ad click, and a log of each event.
DataCops in short
For this question: DataCops sends booked, showed and paid with the click and hashed identity inside Meta's window, and Health mode keeps cancellation reasons and notes out of the event.
DataCops is a tool that keeps condition details out of what your ad platforms see: Health mode cuts page links to the domain, uses neutral event names and leaves out anything that describes a condition, while a bot verdict on every visit and a delivery log show what left and what was real.
How DataCops does it
- Health mode. Page links are cut to the domain, event names are neutral, and anything that describes a condition is left out before an event leaves.
- A log of exactly what left. A delivery log row per conversion, sent, held, skipped or failed, with the reason, which is the record you want when explaining yourself to a reviewer.
- Real people only. Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default.
- One script, one DNS record. Collection runs on your own domain, and conversions go server-side to Meta, Google Ads, TikTok and LinkedIn, counted once against the pixel.
- The booking after the form. HighLevel natively, any CRM by webhook, sent as neutral events so a booked consultation still teaches the ads who converts.
Best for: clinics, telehealth and wellness brands, and agencies running health ads, who want conversions to keep counting without condition details in the data.
Ads Warmup: tell the ads who pays
Ads Warmup, DataCops' flagship feature, sends customers you already have to Meta, Google Ads and TikTok before a new campaign spends: upload a CSV (only email is required, up to 20,000 rows), see a 0 to 10 match score per person, pick the event, and send. Rows are dated when you send, and Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan. Check your own consent basis for the list first. See Ads Warmup.
Ways to do this job
| Option | Best for |
|---|---|
| DataCops | Health mode, neutral events and a delivery log, server-side to four ad platforms |
| Manual event cleanup in your site and tag manager | Teams with an engineer who will maintain it |
| Turning conversion tracking off | Accounts that cannot risk any event |
When not to use DataCops
- You need legal or compliance advice. DataCops is not legal advice and does not make an ad account compliant. Your own advisers decide what you may send.
- You need a regulated setup with a signed agreement. That is the Enterprise plan: talk to the team.
Sources and further reading
More on this: Meta health and wellness restrictions, and the complete guide to offline conversion tracking.
If you can only send one stage, make it "showed". It's the closest thing to a real patient that you can send early enough to matter.