Case study · 60-day engagement
A Portland dog trainer with a 1,200 sqft training facility and 4 instructors was running 14 group classes a week. About a third of the slots were empty. He was paying $44 per inquiry on Meta — most of which went cold the moment they realized the trainer was 25 minutes away by car.
The challenge
The owner came in after a Reddit thread had blown up complaining about Meta ads from local trainers. He thought his ads were the problem. They were not. The targeting was.
We pulled his Meta and Google data. The damage:
The fix was geographic + intent-specific. The ad spend stayed flat. Just stopped going to the wrong people.
The plan
Killed everything outside a 4-mile radius from the training facility. Counter-intuitive in marketing because "more reach = more leads," but for recurring weekly attendance, conversion-to-show on a Hillsboro lead from a Beaverton facility was effectively zero. CPM went up 30% in the smaller geo, but cost per actual class signup dropped 50%.
Built 8 landing pages: puppy socialization, reactive dog basics, leash pulling, separation anxiety, recall training, Doodle-specific (huge in Portland), Pit Bull-specific, and small-dog (under 25lb) classes. Each page had video of an actual class, the trainer who teaches it, dates of the next 4 cohorts, and a real-time booking widget tied to the trainer's calendar.
Killed the email-reply flow. Replaced it with Acuity-embedded booking that showed exact dates, times, and remaining slots per class. Card-on-file required to reserve. Instant SMS confirmation + 48-hour reminder. Show-up rate jumped from 54% to 89% the same week.
If someone clicked the "Reactive Dog Basics" page, the next 14 days of Meta retargeting featured a different dog, same problem. If they entered their dog's name on any form, the SMS reminders included the dog's name. CTR on retargeting tripled. Click-to-book rate doubled.
AI tools we used
We do not pretend the work happens by hand. Three of our internal tools are the reason this engagement moved as fast as it did. Each of them replaces what used to be days of human time.
Custom AI we built that grades every search term on commercial intent, urgency, and local match in under a second. Replaces a half-day human audit.
Takes one bad search term and proposes the related variants we should also negate before they show up. Found 87 negatives nobody had thought of.
Crawls the site and fires every conversion event in a sandbox so you can see what is actually being recorded vs what should be. Caught the duplicate form fire in 4 minutes.
The execution
| Week | What we shipped | What moved |
|---|---|---|
| Week 1 | Radius tightened to 4 miles, ad creative paused for restructure | Cost per click drops 35% the same week |
| Week 2 | First 4 breed/problem-specific landing pages live | Conversion rate per page averages 6.2% vs 1.8% on old generic page |
| Week 3 | Acuity real-time booking widget shipped, email flow killed | Booking-to-show jumps from 54% to 89% |
| Week 4 | Final 4 landing pages live, retargeting structured by visited page | Retargeting CTR triples |
| Week 6 | Class fill rate hits 81% across 14 weekly classes | Trainer adds 2 new classes to the schedule |
| Week 8 | Quarterly review | Class fill stable at 92%, retainer continues |
The numbers
The trainer's schedule went from "marketing problem" to "capacity problem":
Group classes are a $250-400 ticket each. The +54% fill across 16 weekly classes is roughly $4,800/mo in new gross revenue, recurring. The retainer cost less than 2 class signups per month.
I assumed "more reach equals more leads." Mark cut my radius from 25 miles to 4 and my actual booked classes doubled inside a month. He showed me the customer who lives 18 minutes away will not come every Tuesday at 6:30 PM, no matter how cheap the ad.
Keep reading
Thirty minutes. We pull up your account on screen. We tell you what we would do, what we would not do, and whether we are the right fit for your business.