Chisholm Optometry
Internal review · not client-facing
Funnel Playbook run · 25 August 2026

Chisholm Optometry — MacuMira campaign package

The full campaign for the no-obligation MacuMira assessment with Dr. Jason Stein: a clinical copy deck awaiting his sign-off, four landing pages built through Lovable on the corrected loop, thirteen Meta statics, three reels with voiceover, and a three-step email drip. Everything traces to the claims file; nothing has touched a client account.

Gated on Dr. SteinThe copy deck is the gate. Ten claims, each with source and sign-off boxes.
No second-person diagnosisSymptoms described in the third person throughout. Meta-safe by construction.
No outcome claims, no "free"The offer is a no-obligation assessment. No price is stated anywhere.
Accessibility floor raised18px root, AAA contrast, 56px buttons. The audience has degraded vision.
Start here — the gate

The clinical copy deck.

Every medical sentence the campaign wants to publish, with its source and Approve / Edit / Remove boxes for Dr. Stein — including claim 10, the December 2024 Canadian Ophthalmological Society and Canadian Retina Society caution statement, which the campaign discloses on the page rather than hoping nobody finds it.

Landing pages · built through Lovable

Four pages, one per audience.

Built by Lovable from the brief, the real eyedocs.ca brand tokens, and design direction translated from a Mobbin pass (Ease / Amigo register: calm, clinical, restrained). Exported and deployed as a static noindex preview.

Meta · cold · the patient

"The print got smaller. Then the lamp stopped helping."

Everyday scenes in the third person, the Amsler grid as the low-commitment ask, MacuMira in plain terms, Dr. Stein, FAQ, booking form.

Google · high intent

The offer stated directly, then the mechanics.

Stat rail, four assessment steps, the evidence section with the pilot caveats AND the COS/CRS position statement, candidacy, dark form.

Family · the adult child

"Families usually notice it first."

Six signs a family member notices, three scripts for raising it without a fight, what the appointment actually is, a two-person form.

Lead magnet

The printable Amsler grid.

Print-calibrated to a stated physical size, six plain steps, and the "this is not a diagnosis" line. The campaign's genuinely useful giveaway.

Lovable project: MacuMira Clarity — edits happen there, exports redeploy to the same preview URL.

Meta static set

Thirteen units, recomposed per ratio.

Two message tests — the symptom hook (A) and the wait-and-watch hook (B) — across 1:1, 4:5, 9:16 and 1.91:1, plus a five-card carousel that runs the landing page as a swipe story: workarounds → what dry AMD affects → the Amsler grid → MacuMira in plain terms → the candidacy close. Every headline is third person. No outcome claims, no prices, no before/after.

Message A · the symptom, in the third person

A 1:1
1:1 · 1080×1080PNG
A 4:5
4:5 · 1080×1350PNG
A 9:16
9:16 · 1080×1920PNG
A 1.91:1
1.91:1 · 1200×628PNG

Message B · wait and watch is no longer the only advice

B 1:1
1:1 · 1080×1080PNG
B 4:5
4:5 · 1080×1350PNG
B 9:16
9:16 · 1080×1920PNG
B 1.91:1
1.91:1 · 1200×628PNG

Carousel · five cards, 1:1

Card 1
01 · WorkaroundsPNG
Card 2
02 · Central visionPNG
Card 3
03 · Amsler gridPNG
Card 4
04 · Plain termsPNG
Card 5
05 · Candidacy closePNG

Meta ad-safety: symptom copy is descriptive and third person; nothing implies knowledge of the viewer's condition. The same discipline must carry into the Ads Manager primary text, which is written at launch.

Reels & voiceover

Three reels, four voiceover takes.

Slow push on the statics with a loudnormed constant-level voiceover — deliberately no music bed: a clinical message to a 75-year-old reads calmer and more credible dry. Pacing is slowed for the audience. Pick the voice; swapping is a re-render, minutes.

Reel A · 9:16 · voice D

The symptom script over the Message A story unit.

Reel B · 9:16 · voice J

The wait-and-watch script over the Message B story unit.

Reel A · 1:1 · voice J

Feed-ratio variation of the symptom script.

Voiceover takes

Script A — the symptom · voice D
Script A — the symptom · voice J
Script B — the workarounds · voice D
Script B — the workarounds · voice J
Email drip

Three emails, raised to the same floor.

Day 0 what-happens-next, the Amsler grid as a genuinely useful follow-up, and a no-pressure re-approach for people who never booked. 17px body, one bulletproof CTA each, CASL complete, no merge braces in body copy. The study is never cited in email.

On enquiry

We have your request

What the assessment involves and what to bring.

A few days later

The one-minute check at home

The Amsler grid, correctly instructed, never diagnostic.

If they never booked

Still worth a conversation

Plain restatement of what the appointment is and is not.

Status

Where everything stands.

DeliverableStateNext
Clinical copy deck (10 claims)GateDr. Stein marks up Approve / Edit / Remove
4 landing pages (Lovable)Built & liveJudge pass, then Dr. Stein sees them with the deck
13 Meta staticsRenderedAds Manager primary text at launch
3 reels + 4 VO takesRenderedZak picks the voice; client footage version later
3-step email dripBuiltWire into the clinic's CRM once confirmed (WC3 server was down)
Assessment feeUnknownPages stay silent on cost until the clinic supplies it
GHL wiring + SMS specOpenNeeds CRM confirmation and read access
Client contactNoneNothing sent. No account touched
Needs a decision

Open questions.