Dog AcademyLaunch plan

One test campaign, 18 ads, built to find people who actually buy training

Everything we've made goes into one Facebook and Instagram campaign: 10 approved static ads and all 8 videos. Meta is told to find people who pay for a training plan, not people who just fill in a form.

$250/dayfor 40 days, $10,000 in all
18 ads10 statics + 8 videos, each pain its own ad
Purchasewhat Meta is told to get more of
25 moretested statics on the bench to swap in

In plain EnglishHow the campaign works

  1. Meta shows our ads to dog owners near a Dog Academy trainer.We don't pick interests. We only limit it to the ZIP codes your trainers cover and let Meta find the right people.
  2. Each ad names one problem.Pulling, jumping, biting, potty, barking and more. The owner who has that problem stops scrolling, because it's their dog.
  3. They tap Book Now and fill in your booking quiz on dogacademy.org.Every ad ends on the same offer: "Get your custom training plan today."
  4. Your team calls them and sells Trained for Life,then sends a pay link on dogacademy.org.
  5. When they pay, the website tells Meta "this person bought".Meta then looks for more people like the buyers and moves money toward the ads that bring them. That last step is the tracking still to be installed (below).

What we're optimizing forSales, not form fills

Meta is set to Sales → Website → Purchase. Many people fill in a form and never buy. If we told Meta to get form fills, it would find more form fillers. Told to get purchases, it learns what a buyer looks like.

The honest catch: Meta only learns from a sale that happens on the website within 7 days of someone clicking the ad. Sales closed later still count for you, but they don't teach Meta. With about 2 to 3 sales a week, Meta will show "learning limited". That's expected at this budget and is not a problem to fix.

So in the first weeks we judge ads on booked calls. They show up long before sales do. Sales decide what we scale.

The structureOne campaign, four ad sets

Campaign: Dog Academy · Sales · $250/day, Meta splits it between ad sets

Why grouped by pain: it's the setup you asked for (one ad set per problem, 3 to 5 ads each), with similar problems put together. $250 a day can't feed ten separate ad sets, so we use four.

Why video has its own ad set with a minimum: statics are cheaper to show, so if both shared one pot Meta would spend almost everything on statics and the videos would never get a fair read.

Every static runs in both sizes: the 4:5 version in the Facebook and Instagram feeds, the 9:16 version in Stories and Reels. The videos are 9:16 today, and we'll cut 4:5 Feed versions before launch at no extra cost. Placements are Facebook and Instagram only. Meta's automatic "enhancements" (AI-edited images, music, text) are turned off.

What goes inAll 18 launch ads

Ad set 1

Everyday manners

Dogs that don't listen at home or on walks · 4 static ads

Ignores commands ad
Ignores commandsGet Heard the First TimeFeed 4:5 + Stories/Reels 9:16
Pulls on the leash ad
Pulls on the leashWalk Him. Don't Chase Him.Feed 4:5 + Stories/Reels 9:16
Jumps on guests ad
Jumps on guestsStop Hiding Your Dog From GuestsFeed 4:5 + Stories/Reels 9:16
Won't come when called ad
Won't come when calledStop Chasing Your DogFeed 4:5 + Stories/Reels 9:16
Ad set 2

Behaviour & anxiety

Dogs that bark, lunge or panic · 3 static ads

Lunges at other dogs ad
Lunges at other dogsA Plan for Every WalkFeed 4:5 + Stories/Reels 9:16
Barks all evening ad
Barks all eveningGet Your Evenings BackFeed 4:5 + Stories/Reels 9:16
Howls when left alone ad
Howls when left aloneLeave the House Without the HowlingFeed 4:5 + Stories/Reels 9:16
Ad set 3

Puppy & house

New puppies and house training · 3 static ads

Potty accidents ad
Potty accidentsKeep the Rug DryFeed 4:5 + Stories/Reels 9:16
Cries in the crate at night ad
Cries in the crate at nightSleep Through the Night AgainFeed 4:5 + Stories/Reels 9:16
Puppy biting ad
Puppy bitingHelp for Puppy BitingFeed 4:5 + Stories/Reels 9:16
Ad set 4

Video

All 8 animated videos · at least $75 a day guaranteed, so the statics can't starve them

Barking at the doorbell video
Barking at the doorbell1:13 video · runs until Oct 319:16 now · 4:5 cut to make
Scared of men and visitors video
Scared of men and visitors1:13 video9:16 now · 4:5 cut to make
Puppy biting video
Puppy biting1:14 video9:16 now · 4:5 cut to make
Potty accidents video
Potty accidents1:09 video9:16 now · 4:5 cut to make
Lunging at other dogs video
Lunging at other dogs1:12 video9:16 now · 4:5 cut to make
Won't come when called video
Won't come when called1:07 video9:16 now · 4:5 cut to make
Jumping on guests video
Jumping on guests1:06 video9:16 now · 4:5 cut to make
Pulling on the leash video
Pulling on the leash1:04 video9:16 now · 4:5 cut to make
The bench: 25 more statics from round 3 (5 per top pain) wait in reserve. When an ad stops pulling its weight, a bench ad on the same pain replaces it. See them. Wave 1 (D1–D8) stays out because it still says "free evaluation".

Week by weekHow we judge it

WhenWhat happens
Days 1–3Hands off. New ads look bad or spend nothing for the first day or two, which is normal. Changing them restarts Meta's learning.
Week 1First read on clicks and booked calls for each ad.
Weeks 2–3An ad that has spent about $150 without one booked call gets swapped for a bench ad on the same pain. An ad Meta barely spent on counts as "not read yet", not a loser.
Weeks 3–6Sales start showing. An ad that spends about $1,150 (3× the target cost per sale) with no sale is turned off.
After 10 salesAn ad becomes a "winner" after about 10 sales at or under target. Only then do we raise the budget, 15–20% at a time, at least 3 days apart.

Numbers we're aiming at (provisional until Matt confirms margins): about $21 per lead, $60 per booked call and $384 per sale. Break-even is about $484 per sale. At roughly $35 a lead, $10,000 brings about 285 leads and 16 sales at your 5.5% close rate. The test is about finding the ads that beat that.

No separate retargeting campaign yet. The site doesn't get enough visitors to fill one, and every ad already carries the offer.

What we need to press goThe checklist