A patient in Mumbai or Dubai searches for a treatment, clicks your Google ad, reads the page and taps the WhatsApp button. Twenty minutes later they have booked a consultation in the chat.
Google Ads records nothing. As far as the campaign is concerned, that click bounced.
Multiply that by every patient who prefers WhatsApp to a form, which in India and the Gulf is most of them, and you have search campaigns bidding blind on the channel that actually produces the bookings. The cost per lead looks high, the campaign looks weak, and the budget moves to whatever can report a conversion, usually the form that fewer patients use.
Meta solved this. Google did not.
The two ad platforms treat WhatsApp very differently, and most of the confusion comes from assuming they behave the same way.
When someone taps a Meta ad that opens WhatsApp, Meta attaches a referral to the
first message: which ad it came from and a click identifier, ctwa_clid. Any WhatsApp
Business API setup that keeps that referral can store it on the lead and report the
outcome back to Meta later. It is built in.
Google has no equivalent. A Google click lands on your website carrying a GCLID in
the URL, and the moment the visitor taps a wa.me link, the journey leaves the browser
for an app Google cannot see into. No identifier crosses that gap unless you carry it
across yourself. Google has published an open-source reference for doing so, called
Conversion Import for WhatsApp, but describes it as not an officially supported product.
It is a starting point to build and maintain, not a setting to switch on.
So the honest position for a clinic running both platforms is that Meta’s WhatsApp results are measurable out of the box, and Google’s are invisible by default.
Why the obvious fix is fragile
The workaround most guides describe is to put a reference code into the pre-filled WhatsApp message. The website captures the GCLID, generates a short code, and opens WhatsApp with something like “Hi, I’d like to book a consultation (ref A7K2)”. When the message arrives, the code is matched back to the click.
It works when the patient sends the message untouched. Patients do not reliably do that. They delete the pre-filled text and type their own question, which is exactly what a nervous first-time patient tends to do. Users of at least one major WhatsApp platform have reported in a public feature request that this method fails in the large majority of cases. Whatever the real rate in your clinic, every edited message is a patient the campaign never gets credit for, and the failures are invisible because nothing records that a match was expected.
There is a second problem. If the raw GCLID is placed in the message rather than a short reference, a long string of characters appears in a chat with a patient, which looks odd and puts an advertising identifier somewhere it does not belong.
What a setup that holds up needs to do
Whoever builds it, these are the questions worth asking.
Does it still match when the patient edits the message? This is the test that separates a working setup from a demo. Click your own ad, tap WhatsApp, delete the pre-filled text, type something else and send it. If the conversation still arrives attributed to that click, the method is sound.
Is the click stored before the conversation starts? The GCLID should be captured on the landing page and held server-side the moment the WhatsApp button is tapped. Waiting for the chat to supply it means losing it whenever the chat does not.
Does the identifier stay out of the chat? The patient should never see an advertising identifier. At most a short reference, and ideally nothing at all.
Does the conversation land on a patient record? Attribution that lives only in a WhatsApp inbox cannot be joined to the booking or the payment. The source has to sit on the same record the front desk books against. The wider version of this problem is covered in CRM integration.
Does the booked value go back to Google, on time? Google keeps click identifiers for 90 days. The useful signal is not that a chat started but that a consultation was booked or a treatment paid for, uploaded with its value. How that upload works, and why it is a compliance surface, is in offline conversion uploads for clinics.
Does it tell organic from paid? A patient who found you on Google Maps or through a friend should not be credited to a campaign. A setup that attributes every chat to the last ad clicked will flatter the ads and mislead the budget.
How ours works, in outline
The setup we run does not put a reference code in the message at all. The patient taps the WhatsApp button and sends whatever they like, pre-filled text or their own question, and the conversation still arrives tied to the Google click that brought them. Nothing appears in the chat that the patient would not have typed themselves.
That matters for the reason above: the method most guides describe fails exactly when a patient deletes the suggested text, and a method with no suggested text to delete does not have that failure. The click is stored, the conversation lands on the patient record with its campaign, and the booked value goes back to Google Ads like any other offline conversion.
A second route: the phone number
WhatsApp gives you something a web form often does not: a verified phone number. Google Ads supports enhanced conversions for leads, which can match a conversion to an ad click using a hashed phone number or email instead of a GCLID.
That makes it a useful safety net for the cases where the click identifier was lost. It also means sending a hashed patient identifier to an advertising platform, so it needs a deliberate decision. Under India’s DPDP Act that requires a lawful basis and clear consent, Gulf health authorities add their own rules, and for US practices it is generally a line not to cross with patient data at all. We default to the click identifier and treat the phone match as an opt-in, consented exception.
What changes once it works
Search bidding starts learning from the patients who prefer WhatsApp, rather than only the ones who fill in forms. In markets where that is most patients, the effect is not a reporting improvement. It is the campaign being optimised against the right people for the first time.
It is quite possible your Google campaigns are performing better than they look, and that budget moved away from search was producing WhatsApp bookings nobody could see. Whether that is true for yours starts with a five-minute test: click your own ad, message on WhatsApp, and check whether anything anywhere records where you came from.
Show us where the revenue stops.
Thirty minutes, your real numbers, an honest read on which layer is costing you most.