Skip to main content
NewNMC’s advertising guidelines for doctors are in force from 6 Oct 2026. See what to change, and get a free compliance auditNew NMC advertising rules for doctors: what to change
Paid Ads

Offline Conversion Tracking for Clinics: Sending Real Appointments Back to Google Ads and Meta

The ad platforms optimise towards whatever you tell them is a win. Tell them a form fill is a win and they will find you people who fill in forms. Here is how to send back the appointments instead.

Offline Conversion Tracking for Clinics: Sending Real Appointments Back to Google Ads and Meta

Google Ads thinks your best campaign is the one producing the most form submissions. Your front desk knows that campaign produces the people who never answer the phone.

Both are looking at real data. Only one of them is looking at the data that matters, and it is not the one setting the bids.

Offline conversion tracking is how you close that loop: you take what happened after the click — the qualified enquiry, the booked consultation, the patient who actually attended — and send it back to the platform that bought the click. The bidding algorithm then optimises towards patients instead of towards form-fillers.

It is the single highest-return piece of plumbing in healthcare paid media, and most accounts do not have it.

What "offline conversion" means here

Nothing to do with offline media. It means a conversion that happens away from the website — on the phone, at the front desk, in the CRM three weeks later — and gets uploaded back to the ad platform afterwards, matched to the original click.

The chain has three links. Capture an identifier at the moment of the click. Keep that identifier attached to the enquiry as it moves through your CRM. Send the identifier back with the outcome and the date once the outcome is known.

Break any link and the whole thing fails silently, which is why this project is usually worth doing properly once rather than half-doing three times.

Step one: capture the click id and keep it

When someone arrives from a Google ad, the URL carries a click identifier — a GCLID, or a gbraid or wbraid parameter depending on how the click was routed. That string is not patient data. It identifies an ad click, not a person, which is what makes it the right tool for healthcare.

Put a hidden field on every form and every booking widget that reads the parameter and stores it. Store it in a cookie too, because patients rarely convert on the first session and the parameter is only present on the landing page.

Then make sure it survives. The most common failure is not the capture — it is a CRM whose lead record has no field for it, or a booking system that hands the practice a name and a phone number and drops everything else. Check the field exists before you write the tagging.

Step two: make the CRM record the stage, not the event

Decide what you are going to send back, and be strict about it. The useful set for a clinic is usually three stages: qualified enquiry, consultation booked, consultation attended. A surgical service line may want a fourth for treatment accepted.

Each stage needs a definition a receptionist can apply in three seconds, written down, and the same in every location. "Qualified" meaning one thing in Gurugram and another in Bengaluru produces a dataset that teaches the algorithm nothing.

Attach a value to each stage if you can. Not a fabricated revenue figure — a consistent relative weight is enough for the bidding to learn that a booked consultation for one service line is worth more than another.

Step three: send it back

In Google Ads you create a conversion action set to import from clicks, then upload the rows — click id, conversion name, conversion time, value — through the interface, a linked Google Sheet, or the API. The API is worth the effort if the CRM can do it, because a weekly manual upload will be missed the week somebody is on leave.

Two constraints to design around. The conversion has to fall inside the conversion window configured on the action, and Google's maximum click-through window is measured in weeks rather than months, so a service line where patients decide over a full quarter will lose its longest-lag conversions. And the conversion time you upload has to be accurate, in the right time zone, or the reporting distributes your results across the wrong days.

The same discipline is what makes the rest of the reporting honest, which we cover on measuring healthcare marketing and in our performance ads work.

Enhanced conversions, and why healthcare is the awkward case

Google's alternative route is enhanced conversions for leads, where instead of the click id you send back a hashed email address or phone number and Google matches it to the click.

For most industries that is the easier path. For healthcare it deserves a pause.

A hashed email address of a person who enquired about a cancer screening is still information about that person's interaction with a healthcare provider. Hashing is not anonymisation; it is matching. In the United States, Google is not a business associate and will not sign a business associate agreement, so sending patient contact details — hashed or not — into an ad platform is the kind of decision that needs your compliance officer in the room, not your media buyer. In India, the Digital Personal Data Protection Act 2023 and the DPDP Rules 2025 require notice, a stated purpose, and consent for exactly this kind of onward processing, with the Data Protection Board of India enforcing it.

The click-id route avoids the problem entirely, because no patient identifier leaves your building. Where you have a choice, take it.

Want this applied to your practice? Get a free paid ads audit.

Book my free audit

Meta has the same architecture and the same problem

Meta has folded offline event uploads into the Conversions API. You send server-side events with an action source describing where they happened, and Meta matches them to ad exposure.

The matching, though, runs on hashed customer information — email, phone, name. There is no click-id equivalent that works as cleanly as Google's, which means Meta offline tracking for a healthcare advertiser is a data-sharing decision rather than a technical one. For a United States practice, that is usually where the project stops. For an Indian or Gulf practice it is a consent-and-purpose question under the DPDP Act or the applicable Gulf data law, answerable but not to be answered by silence.

Meta's health and wellness advertising policy restricts what can be inferred and targeted in any case. Neither Google nor Meta signs business associate agreements, and no product called "restricted-category bidding" exists to get you around it.

What changes once the data is flowing

Three things, usually within a couple of months.

Smart bidding starts finding different people. Target CPA and target ROAS strategies optimise towards the event you feed them, and fed with attended appointments they will quietly stop chasing the audiences that produce curious clickers.

Performance Max becomes assessable. Its main weakness in healthcare is that it will happily optimise towards a weak signal; given a strong one it behaves considerably better.

And the budget argument changes shape. When the report says which campaigns produced attended patients, the monthly meeting stops being a debate about cost per lead. The tracking foundations for this sit in conversion tracking, and the CRM side in setting up a healthcare CRM.

How long to wait before you judge anything

Healthcare has a lag problem that most offline-conversion advice ignores. A patient clicks an ad in the first week of the month, enquires in the second, attends a consultation in the fourth, and accepts a procedure six weeks after that. Feed the platform only the final stage and the data arrives so late that the bidding never learns from it.

The working compromise is to send back an intermediate stage that happens quickly and correlates with the final one. For most clinics that is the booked consultation: fast enough to fall well inside the conversion window, close enough to revenue to be worth optimising towards.

Here is an illustrative worked example — the numbers are made up to show the shape of the calculation, not drawn from any account. Suppose a campaign reports a hundred form fills, and the CRM shows that thirty became qualified enquiries, eighteen booked a consultation and twelve attended. If you upload only the twelve, the bidding waits five or six weeks for each signal. If you upload the eighteen, the signal arrives within days and still describes something real. Most accounts are better off with the eighteen, plus a monthly report on the twelve for the humans.

Whichever stage you choose, hold it constant. Switching the uploaded stage mid-quarter resets the learning and makes the before-and-after comparison meaningless.

The failure modes worth knowing in advance

Duplicate uploads, when a weekly file overlaps with the last one and the same conversion lands twice. Time zones, when the CRM exports in local time and the account is set to another. Stage definitions drifting, so "qualified" quietly becomes "anyone who answered the phone". Values inflating, because someone decided a booked consultation should be worth what the surgery is worth. And the quiet one: the click id field stops being populated after a website change and nobody notices for six weeks, because the uploads keep succeeding with fewer and fewer rows.

Put a monthly check on the match rate. A falling match rate is the first symptom of all five.

What to do first

  1. Confirm your forms capture the click id and your CRM has somewhere to keep it.
  2. Write the three stage definitions on one page and get the front desk to agree with them.
  3. Create the import conversion action in Google Ads and upload one week manually to prove the chain works.
  4. Automate the upload, then leave the bidding alone for a few weeks while data accumulates.
  5. Decide the Meta question on compliance grounds before you decide it on marketing grounds.

---

If you want to know which links of that chain are currently broken in your account, get a free audit — we will send the findings whether or not you work with us. Or book a strategy call and we will look at the tracking with you.

Filed underoffline conversion tracking google adsoffline conversion tracking metagoogle ads offline conversion importoffline conversion tracking setup

About the author

Founder & CEO · Gurugram, India

Nishu founded Branding Pioneers in 2016 with one rule that hasn't changed since: healthcare only. She'd run digital strategy at a top-10 Indian agency and watched generalist marketing underserve medical clients who needed something built for how patients actually search and decide. So she left to build the specialist instead. It's now an 80-person team working with healthcare brands worldwide.

Free guide · 17 pages

The Patient Acquisition Blueprint

A 90-day plan from first search to booked appointment.

The Pioneers Brief — one essay, three benchmarks, one teardown, every Thursday. Subscribe free →

Related guide: Google Ads for Healthcare: The Definitive Guide

Free paid ads audit

Your next chapter starts with a conversation.

Three quick questions. We come prepared with a plan for your specialty and city.

  • A 30-minute call with a healthcare specialist
  • Your top three growth opportunities, in writing
  • Honest advice — even if that means not hiring us
  • No obligation and no hard sell
You’ll speak with a senior strategist
Consultations are hosted by Arush Thapar’s team.
Step 1 of 3Takes 30 seconds

What do you want to improve first?

Details stay privateNo obligationReply within 1 working day

offline conversion tracking for clinics · Portfolio

Healthcare websites: selected work

Explore the collection →