An Almaty clinic got a hundred bookings from its ads, but the report shows sixty visits. The owner wants to win back forty "lost patients" with a message about a new examination. Gaukhar, the administrator, opens the schedule: twenty people still have their appointment ahead, twelve cancelled, and eight did not turn up and did not warn anyone.
The numbers in this lesson are made up. Your job in this story is bookings and attendance. Whether someone needs an examination is for the doctor and the patient to decide. Once marketing tries to raise LTV with unnecessary services, it starts replacing a medical decision, and the clinic loses the trust that brings people to it in the first place.
The page helps people reach the right appointment
Someone looking for a doctor wants simple answers: who will see them, what the service includes, where the clinic is, what the appointment costs and when there is free time. If the price covers only the consultation, that should be clear before booking. If tests and procedures cost extra, say so next to the price: it comes out at reception anyway, and the patient leaves feeling cheated.
The schedule on the page has to match the slots in the booking system. Walk through the booking path with Gaukhar and see what a person gets when the chosen time is already taken. "Appointment tomorrow" only annoys people when the doctor is free next week.
The clinic writes the preparation notes and a medical professional approves them. You can make the text clearer and send it at the right moment, for example the day before the visit. You have no business changing the advice itself to shorten a form or lift conversion.
The WHO approach to people-centred care puts people's needs and preferences, access and coordinated care at the centre. That is a good guide for a booking page: it answers the patient's questions, not the sales team's.
Separate dates and statuses first
The group has a hundred new patients, each with one initial booking. By the report date, eighty appointment times have passed: sixty took place, twelve were cancelled by the patients and eight ended in a no-show without cancellation. Another twenty are booked for the future. This example has no reschedules or clinic-side cancellations.
| Initial booking status | Patients | Place in the report |
|---|---|---|
| Appointment took place | 60 | Completed visit |
| Patient cancelled | 12 | Cancellation with a passed date |
| No-show without cancellation | 8 | No-show with a passed date |
| Date still ahead | 20 | Future booking |
| Total | 100 | The whole original group |
Of the whole group, 60 / 100 = 60% have reached the clinic. Counting only bookings whose date has passed, attendance is 60 / 80 = 75%, with cancellations kept in the denominator. No-shows without cancellation among the same bookings are 8 / 80 = 10%.
You can also drop the cancellations: 60 / (80 - 12) = 60 / 68, about 88.2%. That is attendance among people who did not cancel and whose date has passed. Both figures are correct; they answer different questions. Trouble starts when last month's report showed 75% and this month's shows 88.2% under the same name: the owner sees growth that never happened. If you change the formula, change the metric's name too.
In a working system a reschedule stays linked to the initial booking, with the old date, the new date and the reason. Give clinic-side cancellations their own status as well. Otherwise a patient whose appointment was cancelled by phone because the doctor fell ill ends up among the no-shows, although it was the clinic that cancelled.
What a booking and a completed visit cost
Say the ads for this group cost 300,000 ₸. Bookings are tied to the campaign under a counting rule agreed in advance, and a repeat enquiry from the same patient does not count as a new person.
One initial booking cost 300,000 / 100 = 3,000 ₸. Each visit that has already happened carries 300,000 / 60 = 5,000 ₸ of ad spend. It is an interim figure: twenty appointments are still ahead, and once they pass, the cost per visit will change.
So 5,000 ₸ does not go silently next to a group whose dates have all passed. To compare channels, give them the same observation period, or agree how many days after booking the data counts as ready. Keep future visits on their own line in the report until they have an outcome.
These amounts are ads only. The administrator's time, material preparation and other acquisition costs go into the full calculation. To see whether the clinic earned anything on the appointment, you need actual payments and the cost of delivering the service. Without them, a visit count says nothing about profit.
The fix starts with the reason
The twelve who cancelled and the eight who did not come may have different reasons: an awkward time, an unclear price, they could not find the entrance, there was no way to reschedule. Each needs its own fix, and a "cancelled" status does not tell you which.
Have Gaukhar record the practical reason the person gave, and write "unknown" when they gave none. Guesses in that column spoil the whole analysis. Your job is to find something you can fix: a time confirmation the day before, an explanation of what the price includes, a clear way to reschedule. If patients mix up the entrance, compare the clinic's 2GIS listing with what a person actually sees on the spot.
Change one thing and compare similar groups. If the schedule, the price and the reminders all change in one month, you will not know what worked, and crediting the whole result to the message would be a stretch. And keep the doctors' schedules in mind: when there is no suitable time, more bookings only lengthen the queue.
Fit reminders to how the clinic works and to what suits the patient. Do not send a diagnosis or the name of a sensitive service to a shared family phone for the sake of "personalisation". A WhatsApp reminder with the date, time and address does its job without those details.
Ads explain care without promising an outcome
"We solve any problem in one appointment" promises something a marketer does not control. Write instead how the consultation works, what qualifications the doctor has, how to book and on what terms. A relevant clinician checks any medical claim in the copy.
Fear and invented urgency do not replace an explanation. An ad page does not diagnose whoever reads it. An ad for a clinic licensed for medical practice states the licence number and the issuing authority (Art. 6, para. 4 of Kazakhstan's law On Advertising, as amended up to 17 May 2026; radio ads are exempt). The responsible specialists check the other requirements for advertising the chosen service, and any treatment claims, before launch.
A review describes one person's experience. One glowing review cannot tell you what a typical treatment result looks like. When a patient complains in public, the clinic's reply does not confirm they were treated there, name a diagnosis or retell the details. It offers a secure channel and sorts the matter out there.
Agree with support in advance who answers reviews on 2GIS and Instagram and how a complaint reaches the administrator. Nobody should have to post medical details in a comment to get their booking problem noticed.
Booking data and advertising data stay apart
The attendance table needs only counts by status and source. Diagnoses, test results and complaint text stay out of it. The data needed to provide care stays in the medical process, and only the people entitled to it have access.
Before analytics goes live, the developer and the person responsible for data send test bookings and look at what leaves the site: page addresses, event parameters, request contents. Free text from the form, such as "what is bothering you", must not flow into a URL or an advertising event. A field missing from the visible form proves nothing: an integration can still send it in the background.
The Google Ads personalised advertising rules restrict targeting in sensitive categories, health among them. For such offers the restrictions also cover audiences the advertiser built, including Customer Match and first-party data segments. So before launch, work out which category the service falls into and which promotion methods it allows.
These rules do not ban clinic ads as a whole. Patient consent does not lift the platform's restrictions either. Every ad account has a list upload button, but if the service falls into the health category, Customer Match is not available for it.
A repeat visit follows a need
After an appointment a patient has two normal outcomes: a prescribed follow-up or completed care.
The clinician and patient decide on another visit
Prescribed follow-up
The clinician scheduled a follow-up
Care completed
No new visit may be a normal outcome
A revenue target cannot replace that decision; payment frequency does not measure treatment quality.
Keep three cases apart in your records: a prescribed follow-up, a new need and completed care. Whether another visit is needed is for the doctor and the patient to decide. A revenue plan does not replace that decision.
A shop's rule "buys more often, so a better customer" does not carry over to a clinic, and customer retention work is built differently here. If someone got better and never came back, that is a normal outcome. And payment frequency says nothing about the quality of treatment.
The clinic can track acquisition costs and the contribution of delivered services by patient group. Next to those figures, keep booking access, clarity of communication, complaints and staff workload. Medical outcomes have their own definitions and their own professional assessment, and conversions in an ad account cannot measure them.
Exercise: fix the report about forty "lost" patients
Build an initial-bookings table for one group in your project. If you do not work in healthcare, take any service booked for a time slot: a salon, a car service, a tutor. The exercise needs no medical details.
0 of 6 done
Of the forty people who have not reached the clinic yet, only eight are real no-shows. Twenty appointments are still ahead and twelve bookings were cancelled. Among bookings with a passed date, attendance is 75%, and the ad cost per completed visit stands at 5,000 ₸ for now.
With that report the team gets work on schedules, cancellations and reasons for missed visits. A mailing about a new examination will not fix a counting error: of the forty "lost" patients, only eight actually went missing. Choose the next step from the practical cause, and leave the treatment decision to the doctor and the patient.