Sample ad strategy for a fictional clinic. Figures marked estimate are planning assumptions, not results. Built by Dipanjan Roy.
Meta ads plan · new-patient acquisition

How I'd fill 24 new-patient spots a month for Brightside Family Dental

One offer, one page, one number that matters: booked first visits. This is the plan I'd run on Facebook and Instagram to send the right people to the $79 new-patient page, and to prove which ads actually put patients in the chair.

Clinic: Mississauga, ONPlatform: Meta (Facebook + Instagram)Offer: $79 exam, X-rays, cleaningCapacity: 24 new patients / month

01 · The goal

Optimise for booked visits, not cheap leads

A cheap lead who never answers the phone costs more than an expensive one who books. So the campaign is judged on what happens after the form: did the clinic reach them, did they book, did they show up.

Booked visitsThe north-star number. Target: fill 24 spots a month.
Cost per bookingAd spend ÷ booked visits. The number I'd defend in every report.
Lead → bookedShows whether the leads are real, and how fast the front desk calls.
Show rateBooked → actually came in. Reminder texts move this.

02 · Who we're talking to

Three people this offer is built for

Main

The putter-offer

25–55, hasn't seen a dentist in over a year. Not scared of the drill; scared of the bill and the lecture. Needs: a known price and a promise of no judgement.

Secondary

The busy parent

Books for the whole family, can't take time off. Needs: evening and Saturday slots, one visit that does everything, direct insurance billing.

Secondary

New to the area

Moved to Mississauga, hasn't picked a dentist yet. Needs: a low-risk first visit to try the clinic out.

Targeting settings

  • Location: people living within ~8 km of the clinic. Most patients won't drive further for a check-up.
  • Age: 25–60. No interest targeting at the start; Advantage+ audience with the location limit, and let the creative do the targeting.
  • Exclude: the clinic's existing patients (uploaded customer list) and anyone who already submitted the form.
  • No health-condition targeting or copy. Meta doesn't allow ads that imply someone has a condition ("Do your gums bleed?"), so the hooks talk about the visit, not the patient's mouth.

03 · The funnel

Hook → offer → booked visit

Ad (hook)Stops the scroll with the price, the guarantee or the evening slot.
Landing pageThe $79 offer stack, the no-lecture guarantee, a 3-field form.
Instant replyAutomatic SMS within a minute: "Got it, we'll call you today."
Call & bookFront desk calls inside 1 working day. The faster the call, the more leads book.
VisitReminder SMS 24 h and 2 h before. Booked and showed are sent back to Meta.

04 · The ads

Four hooks to test first

Each hook answers one reason people put the visit off. Every concept runs as a static image and a short vertical video, so we learn which message wins, not which format.

Brightside Family DentalSponsored
Haven't seen a dentist in over a year? You're not alone, and nobody here will lecture you about it. Full exam, X-rays and a proper cleaning: $79, all in.
Over a year?
$79 new-patient visit. No lecture. No surprise bill.
Sample clinic pageYour $79 check-up, no judgement
Book now
Hook 1, "It's been a while": names the guilt and removes it. Aimed at the putter-offer.
Brightside Family DentalSponsored
Exam. X-rays. Cleaning. Whitening kit. Regular price $470. New patients pay $79, and that's the number on your bill.
$470 → $79
Everything itemised. Nothing added at the front desk.
Sample clinic pageSee exactly what $79 covers
Learn more
Hook 2, "The receipt": the value stack as the creative. Price-sensitive people stop on a crossed-out number.
Brightside Family DentalSponsored
If you feel rushed, judged or pushed into treatment at your first visit, tell us, and you don't pay. That's our No-Lecture Guarantee.
Feel judged?
Don't pay.
The No-Lecture Guarantee on every new-patient visit.
Sample clinic pageA first visit with a guarantee
Book now
Hook 3, "Risk reversal": leads with the guarantee. Best for nervous patients. Needs a regulator check first (see section 09).
Brightside Family DentalSponsored
Check-up at 7 pm, home for dinner. Brightside is open evenings and Saturdays, so the whole family can go without anyone missing work or school.
7 pm
check-up.
Evenings and Saturdays. New patients $79.
Sample clinic pageBook around work and school
Book now
Hook 4, "Convenience": for the busy parent. Pairs well with Saturday-only creative in week 3.

Video versions (15–25 s, vertical)

  • Dentist to camera: the dentist says the guarantee in her own words. Real person, real clinic, one take.
  • The walk-through: 60-minute visit in 15 seconds: front desk, X-ray screen, cleaning, written plan handed over.
  • Patient story: only with a real patient's written consent, and only if the regulator allows it. Otherwise skip it.

05 · Campaign structure

Two campaigns, kept simple so Meta learns fast

CampaignObjective & eventAudienceAdsBudget share
1. New patients (prospecting)Leads, optimised for the website Lead event (form submit)8 km radius, 25–60, Advantage+ audience, existing patients excluded4 hooks × image + video = 8 ads, one ad set~80%
2. Come back (retargeting)Leads, same eventLanding-page visitors (30 days) and 50% video viewers, minus anyone who submittedGuarantee + "spots left this month" + FAQ answers~20%

Later test: Meta's instant form against the landing page. Instant forms usually give cheaper leads but fewer bookings, so the winner is picked on cost per booked visit, never on cost per lead.

06 · First 30 days

Test, cut, then scale

Week 1–2

Find the hook

All 4 hooks live with equal creative weight. Don't touch anything for the first 5–7 days so the ad set can learn.

Week 2–3

Cut the losers

Pause any ad that has spent 2× the target cost per lead with no lead. Put the budget behind the top 2 hooks; make 2 new versions of the winner.

Week 3–4

Scale carefully

Raise the budget about 20% every 3–4 days while cost per booking holds. Stop scaling the moment the clinic is near 24 bookings for the month.

07 · Tracking

Count bookings, not clicks, and count each one once

Events

EventWhen it fires
ViewContentLanding page loads
LeadForm submitted (browser pixel + Conversions API)
ScheduleFront desk marks the lead "booked" in the CRM
Purchase ($79)Patient shows up and pays

Rules I'd hold to

  • One event_id per action, shared by the pixel and the Conversions API, so Meta deduplicates. I've seen a pixel count every sale twice; the fix is to check against real records, not trust Ads Manager.
  • UTM on every ad (campaign / hook / format), so the CRM shows which hook booked which patient.
  • Weekly reconciliation: Meta's Lead count against the clinic's own lead list. A gap of more than ~10% means tracking is broken.
  • No health details in events. Only name, phone and booking status go to the CRM; nothing about treatment goes to Meta.

08 · Funnel maths

What it takes to fill 24 spots estimate

Every input below is a planning assumption, not a promise and not a result. After the first two weeks they get replaced with the clinic's real numbers. Move the sliders to see how each one changes the cost of a booked visit.

Starting values are my planning assumptions for a local new-patient offer. They are not benchmarks from a real clinic.

Leads
Booked visits
Patients who show
Cost per booked visit
Cost per patient in the chair
Against 24 spots

09 · Before anything goes live

Check the dental regulator's advertising rules first

Dentists in Canada are regulated by their province (in Ontario, the RCDSO), and those rules can limit testimonials, guarantees and how prices are advertised. Hook 3, the patient reviews and the "regular price" comparison on the landing page all get checked against the current standard, and rewritten if needed, before a single dollar is spent.

10 · Reporting

What the clinic gets every Monday

The 4 numbers

Spend, booked visits, cost per booking, show rate. Week on week, in one table.

What won

Which hook booked the most patients, and the next variation I'm testing because of it.

One ask

The one thing the clinic can do to lift results: usually calling leads faster.