
The 3-Avatar PT Funnel Case Study
Most physical therapy ad campaigns target one audience: "people who need physical therapy." It's an easy default and it's also why so many of them underperform - a 60-year-old with a nagging hip issue and a 28-year-old runner recovering from an IT band injury don't respond to the same ad, the same offer, or the same follow-up. We built this campaign around that difference instead of around it, and over its first 90 days it more than doubled booked evaluations for the clinic while cutting the cost of getting each one. Here's exactly what we built, what happened, how we measured it, and what another clinic can take from it.
The setup: three avatars, not one campaign
Instead of one generic "physical therapy near me" campaign, we built three separate paid traffic tracks for the same clinic, each targeting a distinct patient type:
■Shoulder - typically an older patient dealing with a chronic, nagging issue, motivated by finally getting a straight answer instead of another round of "just rest it."
■Runner - younger, athletic, motivated by getting back to training as fast as possible without re-injury.
■Hip - often the most price-sensitive of the three, and the most skeptical that cash-pay PT is worth it versus waiting on an insurance referral.
What tied all three together was a single positioning idea, not three unrelated pitches. Every avatar was built around the same underlying identity: an active adult who does not want to stop training, not a generic "get physical therapy" message aimed at whoever happens to be in pain. The shoulder, runner, and hip creative all spoke to that identity first and the specific injury second - which is a very different pitch than "physical therapy near me."
Each avatar got its own ad creative, its own landing page, and its own follow-up sequence built around what that specific person needed to hear to book.
The landing pages: same fight, closer to the point
The landing pages matched their ad creative rather than funneling everyone to one generic page, and they were built to do a specific job: name the reader's actual pain point and what they stood to lose if they kept putting it off, then back that up with real proof instead of asking for trust on faith. Each page leaned heavily on testimonials - not generic praise, but social proof that mirrored the visitor's own situation, an active adult reading about another active adult who got back to training.
One deliberate decision shaped everything downstream: none of the landing pages included a booking calendar. That was not an oversight. Putting a calendar directly on the page hands the entire outcome to whether the visitor feels ready to book in that exact moment - and most don't, on the first visit. Leaving the calendar off kept every non-booking visitor as an open follow-up opportunity instead of a lost one.
The follow-up: what happened after the opt-in
Every visitor who opted in entered a follow-up sequence matched to their avatar - a mix of text messages and emails running for one to two weeks, built in GoHighLevel. The messages didn't just repeat "ready to book?" Each one had a job: answering a common question about that condition, sharing a story from a similar patient, explaining why paying out of pocket was worth it, and making a clear, low-pressure offer to talk. The sequence stopped as soon as someone booked or replied, so nobody received an automated nudge after they'd already scheduled.
The runner sequence talked about training schedules and race goals. The hip sequence spent more time on cost and value, because that was the avatar most skeptical about paying out of pocket. Same structure, different words - matched to what each person was actually worried about.
Why skipping the calendar mattered as much as the ad targeting
The payoff showed up fast. In the first month alone, the number of prospects who came back on their own after the opt-in page - without any follow-up prompting - and booked an appointment themselves more than doubled compared to the baseline. The avatar targeting got the right people to raise their hand; skipping the calendar and following up with every one of them is what turned a much larger share of those raised hands into booked evaluations.
That is the part of this campaign that's easiest for another clinic to copy without touching ad spend at all: if your landing pages currently hand visitors straight to a calendar and nothing else, you are almost certainly losing every visitor who does not book on the spot.
The results (first 90 days, June 1 - August 31, 2026)
Measured against the clinic's prior single generic campaign, the three-avatar approach produced:
Metric | Change | What it means |
Click-through rate | Up 103% | About twice the share of people who saw an ad clicked it |
Lead volume | Up 70% | More people raised their hand |
Booked initial evaluations | Up 243% | Far more of those people actually got on the schedule |
Cost per booked evaluation | Down 42% | Each new evaluation cost less to get |
Revenue | Up 126% | The bookings turned into real income |
Return on ad spend (ROAS) | Up 13%, peaking above 3x | Every ad dollar returned more |
The gap between the lead-volume number and the booked-evaluation number is worth stopping on: leads grew 70%, but booked evaluations grew 243%. That is not top-of-funnel volume doing the work - it is the follow-up-first landing page strategy converting a much larger share of every lead that came in. More people showed interest, but a disproportionately larger share of them actually ended up on the schedule, which is exactly what removing the booking calendar was designed to do.
The cost-per-evaluation drop and the ROAS number tell the financial side of the same story. Cost per booked evaluation fell 42% while revenue climbed 126%, and ROAS itself improved 13% over the window, touching more than 3x return on ad spend at its best point. Each evaluation cost less to acquire and was worth more once booked, because the ad and the landing page were finally saying something specific enough to convert instead of something general enough to ignore.
How we measured these numbers
Every figure above comes from the clinic's own campaign data - its ad platform reporting and its CRM pipeline - comparing the 90-day three-avatar campaign with the clinic's prior single generic campaign. Percentages are changes against that baseline, not industry averages. We count a "booked initial evaluation" only when an appointment was actually scheduled, not when someone filled out a form, which is why that number tells a different story than lead volume.
It's also worth being honest about the limits. This is one clinic, over one 90-day window, during summer - a season when runners and active adults are especially motivated, which likely helped the runner avatar in particular. A different market, season, or patient mix could produce different numbers. What should carry over is the structure: specific avatars, matched landing pages, and real follow-up instead of a calendar alone. For a broader view of what this clinic's campaign produced, see the Results page.
Why this works for cash-pay clinics specifically
An insurance-based clinic can get away with generic targeting because the patient's real decision is "which provider is in-network," not "is this worth paying for." A cash-pay clinic doesn't get that shortcut - the ad and the landing page have to do the work of making the value obvious to that specific person, which is much harder to do with one message aimed at everyone.
What this means if you're running one campaign right now
If your clinic is currently running a single "physical therapy" campaign across all patient types, the fastest lever isn't more ad spend - it's two changes that don't require a bigger budget: splitting your highest-volume conditions into their own avatars, even just two or three to start, and taking the booking calendar off your landing page so no interested visitor falls through the cracks. Based on this campaign, that second change alone can be worth as much as the targeting itself.
A practical order for trying this yourself:
1.Pick the two or three conditions your clinic treats most, and describe each patient in a sentence: who they are, what hurts, and what they're afraid of missing out on.
2.Build one landing page per avatar, with a testimonial from a patient like them and a short form instead of a calendar.
3.Write a short follow-up sequence for each avatar before the ads go live, so no lead waits for a reply.
4.Launch one ad per avatar, and track cost per booked evaluation - not just clicks or leads - for each one separately.
Frequently asked questions
Will I get the same results if I copy this campaign?
Not necessarily. Results depend on your market, your offer, your follow-up, and your clinic's reputation. These numbers show what this structure produced for one clinic - they're a reason to test the approach, not a promise of a specific outcome.
Do I need three avatars, or can I start with fewer?
Two is a perfectly good start, especially on a smaller budget. Each avatar needs enough ad spend behind it to produce real data, so fewer, better-funded avatars beat many thin ones.
Should I really remove the booking calendar from my landing pages?
Test it rather than assume. It worked here because a real follow-up sequence was in place to catch every visitor who didn't book right away. Removing the calendar without that follow-up would just remove a way to book.
How long should I run a test like this before judging it?
Give it at least a full month, and ideally the full 90 days used here. Early numbers swing a lot on small amounts of data, especially for a single-location clinic.
Results vary: The figures in this case study reflect one clinic's campaign over a specific 90-day period and are not a guarantee or typical expectation of results for any other clinic.
FREE AUDIT
Want to see if this applies to your clinic?
The free audit looks at your current campaign structure and tells you whether an avatar split and a follow-up-first landing page strategy like this one would actually move the needle for your patient mix - no generic pitch, just what we'd actually change.
