writing · .0002 · 2026
the booking happens on a domain you do not control, which breaks the obvious approach.
a clinic books through a third party scheduler on its own domain. the patient leaves your site to book, so the conversion happens somewhere your tag does not run and your session does not follow. counting the click to the booking button is easy and almost worthless, because it counts intent rather than outcome.
treat the outbound click as a signal and the completed appointment as the conversion, then reconcile them. the click carries the identifiers forward on the link, the scheduler preserves them, and the completed booking is what gets imported back as the conversion. the ad platform then optimises toward appointments rather than button presses.
the link parameters are fragile. a scheduler that rewrites its own urls, a plugin that strips query strings, or a nav link that points at a slightly different booking url than the hero button, and the chain breaks silently. conversions do not go to zero, they go quiet, which is much harder to notice. check every path to the booking system, not just the one you built.
a booked appointment has a value. a click does not. once the completed booking is the conversion, cost per acquisition finally means something and the bidding has something measurable to optimise against.