Two platforms, two completely different jobs. Here’s which one books patients cheaper — with the numbers from campaigns we actually ran.
This is the whole comparison in one line. Google captures demand — someone already has the problem and is typing it into a search bar. Meta creates demand — someone is scrolling, not looking for you, and your ad has to make them feel the problem before they’ll act.
That difference decides everything else: the creative, the offer, the cost per click, and how patient you have to be with the numbers.
| Google Search | Meta (Facebook & Instagram) | |
|---|---|---|
| Buyer intent | High — they’re actively searching for a fix | Low to none — you interrupt and create the want |
| Cost per click | Higher — you bid against every competitor on the same term | Lower — you buy attention, not the keyword |
| Volume ceiling | Capped by how many people search that term locally | Effectively uncapped in a metro of any size |
| What wins | Being the obvious, credible answer — and answering the phone | The hook. Message-to-symptom match beats budget every time |
| Best for | Named procedures, urgent problems, “near me” searches | Elective, aesthetic, longevity — wants people haven’t acted on yet |
| Health targeting limits | Restricted, but intent does the targeting for you | Heavily restricted — the creative must do the targeting |
Both platforms restrict health and medical targeting. On Meta that means broad, cheap reach by default — which is expensive to convert unless the message is exact.
Published advertising benchmarks put healthcare display CTR under 1%. Here is what we ran instead:
The difference was never budget. It was matching the message to the exact condition a person was researching — which is why we run dry eye, lymphoma and prostate care as different campaigns, not one ad aimed at “patients.”
There isn’t a universal ratio, but there is a reliable order:
Cost per booked patient, measured against what a patient is actually worth to you. A $9 click that books nobody is expensive; a $6 click that fills a chair is free. Every other metric — impressions, CTR, cost per lead — is a diagnostic, not a decision.
That’s the number we report weekly, and it’s the number our guarantee is written against: within 90 days the system books more new-patient revenue than it costs, or we keep working free until it does.
It varies by platform and specialty, but healthcare is among the priciest categories to advertise in and published benchmarks put display CTR under 1%. The number that matters is not the click price: on our contextual healthcare campaigns we sustained 10%+ CTR at roughly $0.11 per click, on a media budget of about $3.2K a month split between Meta and Google.
Neither is universally better because they do different jobs. Google captures people already searching for a named procedure — high intent, higher cost per click, capped by local search volume. Meta creates demand among people who weren't looking, which suits elective, aesthetic and longevity services where volume is effectively uncapped.
Usually because the spend is scaling onto a leak, not because the ads are broken. If up to 30% of calls go unanswered and enquiries wait two hours for a callback, more traffic just loses patients faster — enquiries answered within 5 minutes are 21× more likely to qualify. Fix capture and follow-up before increasing budget.
Less than most practices assume. We've run healthcare campaigns at roughly $3.2K a month across Meta and Google, sustaining 10%+ CTR — about 12× the healthcare average — while the agency we replaced was reporting a 0.03% banner CTR on a comparable budget. Relevance beats spend.
Cost per booked patient, against your average patient value. Impressions, CTR and cost per lead are diagnostics; the only decision-grade number is what it costs to put a patient in the chair.
What unanswered phones and slow follow-up actually cost a practice per year.
10%+ CTR vs the under-1% category average — the numbers, in full.
Capture every call and patient first, then scale acquisition on a system that books.