Marketing Engineering

How to Test Ad Creative So Every Ad Teaches You Something

ShareXLinkedInFacebookEmail
Featured image for the article: EVERY AD TEACHES. Write the bet down before it runs.

To test ad creative so it teaches you something, write each ad down as a bet before it runs. Say which buyer reason it speaks to, what result counts as a win, and when you will stop. Test big differences first.

Read the result once, at the line you set, and keep every answer in one log.

How to test ad creative without starting from zero every month

Monday. The ad meeting. Someone shares last week's winners, someone says the best ad is getting tired, and someone gets asked for five new ads by Thursday.

The new ads ship. Nobody wrote down what each one was meant to prove. So next Monday starts from zero again.

That is a treadmill. Lots of running. No distance.

This guide is about how to test ad creative so the running adds up. Most guides mean one thing by that: split two ads and keep the winner. We mean a system that keeps what every test taught you.

A creative testing engine is a system that turns every ad into a written bet, judges it on a line set before launch, and files the answer where the next round can find it. It is one of the systems a marketing engineer builds.

The term is older than most people think. Gary Lilien and Arvind Rangaswamy used marketing engineering for deciding with data, models and judgment. Our marketing engineer also builds the machine behind those decisions, and this engine is one part of it.

Making ads in bulk is a different job, covered in Fifty Ads a Week. Here we cover what happens once the ads exist.

The treadmill makes ads; the engine keeps what each ad taught

TreadmillEngine
Ads ship with no written goalEach ad has a written bet first
Read the dashboard every dayRead once, at a line set before launch
The ad someone liked gets more timeThe result decides, ties keep the old ad
Winners are forgotten in a monthWinners go into the brief, then get re-tested
Next month starts from zeroNext month starts from the ledger

Our method

Most ads lose, so build the engine around losing

Most of your creative tests will lose. Plan for that on day one.

The best evidence comes from the companies that test the most. In Trustworthy Online Controlled Experiments, Ron Kohavi, Diane Tang and Ya Xu report that only about one in three ideas tested at Microsoft improved the metric it was built to move. At Bing and Google, some measures saw only 10 to 20 percent succeed.

Those are software teams, not ad accounts. Our reading: an ad account is no better at guessing. If seven of your ten new ads lose, nothing is broken.

So what is broken? Losing without writing it down.

A loss with a note is research. A loss without one is just spend.

Budget for the losers before you start. If one ad in three wins, a round of six ads should give you about two.

Fewer than that for months? Look at how you choose ideas, not how you make ads.

Even the best testers win only a minority of their tests

WhereShare of tested ideas that won
MicrosoftAbout 1 in 3 improved the metric it targeted
Slack (pricing and upgrade tests)About 30 percent
Bing and Google (some measures)About 10 to 20 percent

Kohavi, Tang and Xu, Trustworthy Online Controlled Experiments (software tests, not ads; the ad transfer is our reading)

Framework: Angle Ledger
The Repeat step of the ANAR Loop, our four-step method: Audit, Name, Automate, Repeat

Before any ad goes live, give it one row in a log nobody edits: the buyer reason it speaks to, its angle, hook and format, a hypothesis that could turn out false, one success metric, a finish line and a stop line. Test buyer reasons first and hooks last. Read each test once, at its finish line.

Before ranking, pull small results toward the account average. Ties keep the old ad, and a winner counts only after a re-run. Write one line about what the angle taught you, put winning angles into the brief, and re-test them each quarter against a fresh challenger.

Write the bet down before you build the ad

Every ad starts as one row in a log, written before the ad is made. Never after.

Why before? After launch, everybody becomes a genius. Whatever won, someone saw it coming.

The Angle Ledger is our name for that log: one row per ad, rows added and never edited. Each row says which buyer reason the ad speaks to, the angle and hook, the bet, and the lines that end the test.

The format is not new. Hacking Growth by Sean Ellis and Morgan Brown asks every test idea for a short name, who it targets, what changes, why it should work, and a cause-and-effect hypothesis with an expected lift. A vague wish like "make the form easier" does not qualify.

A hypothesis is a sentence that could turn out false. "Restaurant owners who fear a tax notice will book more calls than owners who want weekends back" is one. "Ad 14 will do well" is a wish, not a bet.

The authors of Lean Analytics add the rule that keeps it honest: decide what you will do with each result before the data comes in. They also ask for a second line, the number that says a test is not safe to keep running.

Here is ours. We stop any ad whose cost per result runs above three times the account average once it has spent half its finish line. The figure lists every column, so you can copy them into a sheet today.

An archer paints a red target around an arrow already stuck in a barn wall, with his other arrows scattered everywhere. Black and white stencil painting.
Issued by Anar Global ยท No. 116

The Angle Ledger: one row per ad, written before launch

ColumnWhat goes in itExample
Ad ID and dateA new ad gets a new row; old rows never changeAd 07, launched on a Monday
Buyer reasonWhy the buyer wants it, in their wordsFear of a tax notice
Angle and hookThe argument, and the first line that carries itLate filing costs more than us
FormatImage, video, carousel, text on imageImage
HypothesisA sentence that could turn out falseTax-fear owners book more calls than weekend owners
Success metricOne result, read in the right columnBooked calls
Finish lineSpend at which you read the test$400
Stop lineThe number that ends it earlyCost per call over 3 x average after $200
VerdictScale, stop, or rematch with one changeRematch
Learned lineOne line about the angle, not the adTax fear ties weekends; test a new hook

Our template, built from the test summary in Hacking Growth and the experiment record in Kohavi, Tang and Xu, Trustworthy Online Controlled Experiments

A filled-in ledger: every row written before launch, every row ends with a learned line

Example Angle Ledger sheet for a made-up restaurant bookkeeping firm with three ad rows, numbered pins on the hypothesis, the stop line, the small-sample ad, the near-tie after the pull to average, and the learned line
  • Written before launch, as a sentence that could turn out false.
  • The stop line: 3 times the $40 average once half the finish line is spent.
  • Six calls at $15 looked like a winner. Pulled to the average, it is a near tie.
  • A tie keeps the old ad. The new ad gets a fair rematch.
  • One line about the angle, not the ad. Next round starts here.

Example page built for this article with a made-up business. Every number is the article's example: $40 average, $1,200 round, A $90 / 6, B $1,000 / 32, C $110 / 2; pulled values (90+400)/16 = $31, (1,000+400)/42 = $33, (110+400)/12 = $43; stop line 3 x $40 = $120 after half of the $400 finish line.

Example page with a made-up business. Every row was written before the ad ran.

Test buyer reasons first and hooks last

Which ads should you test first? The biggest differences.

Ad platforms reward this. Meta says its system groups ads that look and feel alike and treats them as variations of one creative. Ten small tweaks of one idea may count as one idea.

So picture a tree. The buyer's reasons to want the offer sit at the top. Under each reason sit angles, the argument you make, and under each angle sit hooks, the first line or first second of the ad.

Where do the reasons come from? From buyers, not a brainstorm. Use the words your customer truth system pulls from calls, reviews and support tickets.

Small accounts have one more reason to start at the top. Hacking Growth works an example.

Start at a 3 percent sign-up rate and try to spot a 5 percent lift. You need about 72,300 visitors per version to read it. That is 72 days of waiting on one button.

Small accounts cannot afford small questions.

For example, picture a bookkeeping firm for restaurants. Its buyer reasons might be weekends back, fear of a tax notice, and knowing the real food cost. Round one runs three ads, one per reason, all in the same format.

Test from the top of the tree down: reasons first, hooks last

  • Format Image, video or carousel. Test it last, and on its own.
  • Hook The first line or first second. Test it only on an angle that already won.
  • Angle The argument you make to one buyer reason.
  • Buyer reason Why they want it, from real customer words. The biggest difference, so test it first.

Our method

Meta's own words: ads that look alike are treated as one creative

Screenshot of Meta's Demystifying Creative Diversification post with four numbered pins on the definition of creative iteration, the grouping of look-alike ads, variations of the same creative, and the call for truly distinct ads
  • Same picture, new button text. Meta calls this iteration, not a new idea.
  • Ads that look alike are grouped together.
  • Ten small tweaks of one idea may count as one idea.
  • So test big differences first: a different buyer reason, not a different comma.

Screenshot of Meta for Business, Demystifying Creative Diversification (linked in Sources), taken 2026-10-18. Pin texts are Anar's reading.

Meta's own words. Ads that look alike are treated as one creative.

A small lift on a small base takes months to read

  • visitors per version to read a 5 percent lift on a 3 percent sign-up rate 72300
  • days of waiting in the book's example 72

Hacking Growth (Ellis and Brown), worked example by Andy Johns

Set the finish line before launch, then stop looking

A finish line is the spend or result count at which you read the test. Write it in the row before launch. Do not read the test until it is crossed.

Why so strict? Peeking.

Peeking means checking over and over and stopping at the first good moment. It makes false winners 5 to 10 times more likely, by the experiment research above.

Pick one success metric per test, too. With no real difference, one metric gives a false alarm about 5 percent of the time. Track ten and the chance that at least one looks significant by luck climbs to about 40 percent.

Our success metric is the result the ad set was built to get, read in the right column. Picking the wrong column is its own trap, with its own guide: read 'Results', not 'Leads'.

Know the noise floor as well. A 2012 industry study of half a million impressions, reported in Lean Analytics, found that blank ads with no content drew about 0.08 percent click-through.

An ad that clicks near that line is not winning. It is getting clicks from curious and clumsy thumbs.

Track ten metrics and a false alarm becomes likely

Chance that at least one metric looks significant when nothing changed, at the 5 percent level

  • 1 metric 5
  • 3 metrics 14
  • 5 metrics 23
  • 10 metrics 40

Kohavi, Tang and Xu, Trustworthy Online Controlled Experiments (5 and 10 metrics); 3 metrics computed by us with the same formula, 1 - 0.95^k

Watch only the stop line until the finish line is crossed

  • Write the row Before launch Buyer reason, hypothesis, one metric, finish line, stop line.
  • Watch the stop line only While it runs Over 3 x average cost after half the finish line? Stop it.
  • Read once At the finish line Pull small results to the average, give the verdict, write the learned line.

Our method

How do you know a winning ad is real?

A winning ad is real when it passes three checks. It is not too good to be true, it beat the old ad by more than a tie, and it wins again.

Start with Twyman's law: a number that looks surprising is usually wrong. A sudden 400 percent lift is more often a tracking error than a genius ad.

Ties go to the old ad. An unclear result is not a quiet win for the new one. And a 95 percent confidence level still lets about 1 winner in 20 be a fluke; at 99 percent it is about 1 in 100.

Small numbers lie in both directions. In How to Measure Anything in Cybersecurity Risk, Douglas Hubbard and Richard Seiersen compare a small group to a batter with only a handful of at-bats: a lucky streak can look like talent. Their fix, empirical Bayes, pulls small results toward the long-run average.

Our simple version: before you rank ads, add 10 pretend results at the account's average cost to each one. Big ads barely move. Tiny ones move a lot, which is the point of regression toward the mean.

In the example table, ad A looks twice as good as ad B. After the pull, the gap is $31 against $33. Too close to call, so B stays and A gets a fair rematch.

Then re-run every winner. Bing's relevance team, as Kohavi and his co-authors describe it, credits a win only after a separate test of that one change confirms it.

How to learn nothing from a hundred ads, in four easy steps. Step one: launch them all at once, with no notes. Step two: check the dashboard every hour, like it owes you money.

Step three: crown whatever leads on Tuesday. Step four: change the winner's headline mid-test, because why the hell not.

Congratulations. You now own a hundred expensive opinions.

Example: after the pull to average, the 'twice as good' ad is a near tie

Account average $40 per booked call. Add 10 results at $40 ($400) to each ad before ranking.

AdSpendBooked callsRaw cost per callAfter the pull
A$906$15$31
B$1,00032$31$33
C$1102$55$43

Made-up example. After the pull = (spend + $400) / (calls + 10)

Big and clear wins get scaled, then re-run; everything else keeps the old ad

  • Keep the old ad Real but too small to matter.
  • Scale, then re-run It counts once a second test confirms it.
  • Keep the old ad A tie goes to the old ad. Move on.
  • Rematch with more spend Could be big. Not proven yet.

Our adaptation of the launch grid in Kohavi, Tang and Xu, Trustworthy Online Controlled Experiments

Make the winner the rule, then test it again

A win you never repeat is a souvenir.

Michael Gerber's The E-Myth Revisited gives small businesses a three-part loop: innovation, quantification and orchestration. Change one thing from the customer's side and count the result against what you did before. Then remove the choice, so the winner is done every single time.

In ad terms, orchestration means the winning angle goes into the brief. Every new hook for that buyer starts from it. The ledger's learned line is where it lives, next to the company memory files your AI tools read.

Then the loop starts over, because winners decay. Tricks fade fastest. The experiment research finds that a ploy's lift shrinks once people recognize it, a cousin of the novelty effect.

So we re-test every winning angle each quarter against a fresh challenger. No winner gets tenure.

Your ledger also sets honest odds. Laplace's rule of succession estimates your chance of a win next time as (1 + wins) / (2 + tests).

Twenty logged tests with three winners gives 4 / 22, about 18 percent. So a round of ten new ads should bring about two winners.

Someone promising eight? Ask to see their ledger.

A winner becomes the rule, then gets tested again

  • Change One thing, from the buyer's side.
  • Count Against what you did before, at the finish line.
  • Make it the rule The winning angle goes into the brief.
  • Re-test Each quarter, against a fresh challenger.

Our loop, built on innovation, quantification and orchestration in The E-Myth Revisited (Gerber)

Example: 3 wins in 20 logged tests means about 2 winners per 10 new ads

  • chance the next ad wins: (1 + 3) / (2 + 20) 18
  • expected winners in a round of 10 ads 2

Made-up ledger, Laplace's rule of succession

Let AI draft the ads and keep the judgment human

AI cuts the cost of making ads. It does not cut the cost of being wrong.

The marketing engineering textbook draws the line well. Automate a decision when a wrong call is cheap, and keep human judgment when a wrong call is expensive.

In a creative engine, a weak hook is cheap. A false claim, a made-up customer or a buyer reason nobody holds is expensive.

Lean Analytics puts it in five words: humans do inspiration; machines do validation. Its example is a content tool that was left alone to learn which images drew clicks.

It cheapened the brand that used it. The fix was people choosing what the machine could test.

Three rules keep our engine honest. First, a live ad is never edited: a change is a new ad and a new row. Second, platform features that rewrite or swap your media stay off, unless one is the thing being tested.

Third, no invented customers. The FTC's rule on fake reviews and testimonials covers testimonials from people who do not exist, AI-made fakes included. An AI presenter may explain your product; it may not claim the product worked for them.

Give any agent in the engine a written brief, as in how to write a job spec for an AI agent. Current Meta settings are in the box below; every other default is in hidden Meta ads settings.

AI drafts the cheap calls; a person owns the expensive ones

JobWhoWhy
Draft hooks under a winning angleAIA weak hook is cheap and gets tested anyway
Fill ledger rows and flag finish linesAIClerical, and easy to check
Choose the buyer reasonsPersonThey come from real customer words
Approve every claim and facePersonA false claim or fake customer is expensive
Give the verdictPerson, from the rulesThe rules were set before launch

Our split, built on the automate-when-cheap rule in Principles of Marketing Engineering and Analytics

Does creative testing work on a small budget?

It works on a small budget if you run fewer ads at once and keep the same ledger.

Ad platforms need a steady flow of results before delivery settles; the current numbers are in the box above. A small budget spread across forty live ads gives none of them enough.

That is forty rookies getting two minutes each. You learn nothing about any of them.

So run one round at a time: three to five ads, each from a different buyer reason, with one finish line. For example, a $1,200 round with three ads gives each a $400 finish line, about ten results at a $40 average.

Twelve weeks of that leaves a dozen dated answers about your buyers. A hundred ads with no notes leave none.

Match the number of live ads to the budget. Keep the ledger the same at every size.

Send the week's learned lines to the people who set budgets. The growth cockpit memo is built for that, and One Variable at a Time covers the single-change rematch.

Example: a small budget runs one round at a time, three ads per round

$1,200 a round, three buyer reasons, $40 average cost per booked call

RoundAds liveFinish line per adWhat it answers
13, one per buyer reason$400Which reason pulls hardest
23 hooks on the winning reason$400Which first line carries it
3Winner vs a fresh challenger$600Is the win real

Made-up example. Finish line = round budget / ads

Run it with AI

The prompt below sets up the whole engine. Paste it into your preferred AI and answer six questions. It writes your first ledger rows, finish lines and stop lines, and shows its math.

It never invents a customer or a number. Missing one? It asks.

This week: first, write three buyer reasons from real customer words. Second, run the prompt and launch one round. Third, read it once, at the finish line, and write the learned line.

Back to that Monday meeting. Same people, same coffee. But now someone opens the ledger first.

Want the engine built and run on your account? That is what our marketing engineering engagements do; the ad account and the ledger stay yours.

A treadmill keeps you in one place. A ledger turns the same effort into a staircase.

Copy this prompt
Plan your first creative test round with AI

Paste into your preferred AI. It asks six questions, then writes your ledger rows, finish lines, stop lines and expected winners.

Act as a careful creative-testing planner for my ads. Use only these rules and my answers. Never invent a number, a customer or a quote; if something is missing, ask me. If you can browse, first check my ad platform's current help pages on creative tests and automatic creative changes, and tell me if anything differs from the rules below.

Ask one at a time, with the example, and wait:
1. The offer and its price. (Example: monthly bookkeeping for restaurants, $600 a month)
2. Three to five reasons buyers give for wanting it, in their words, and where each came from. (Example: 'I want my Sundays back', said on 4 sales calls)
3. The one result the ads are judged on. (Example: booked calls)
4. My average cost per result over the last 90 days. (Example: $40)
5. What I can spend on one test round. (Example: $1,200)
6. How many past tests I logged, and how many clearly won. (Example: 20 and 3)

Rules:
- One ad per buyer reason in each round, same format. Test reasons before angles, angles before hooks.
- Each ad gets a ledger row: ID, reason, angle, hook, format, hypothesis ('[change] will [result] by [amount]'), success metric, finish line, stop line, verdict, learned line.
- Finish line per ad = round budget / number of ads.
- Stop line: cost per result above 3 x my average once an ad has spent half its finish line, unless I give a different one.
- Read once, at the finish line. Before ranking, add 10 results at my average cost to each ad. A tie keeps the current ad.
- A winner counts only after a re-run against a fresh challenger.
- Expected winners this round = (1 + past wins) / (2 + past tests) x ads in the round.
- No made-up customers or claims. No automatic creative changes unless that is the test. Never edit a live ad; a change is a new ad and a new row.

Show your math, then use exactly this format:
LEDGER ROWS:
FINISH LINE PER AD:
STOP LINE:
EXPECTED WINNERS:
WHAT A WIN WOULD TEACH US:
NEXT THREE ACTIONS:
Works in any AI assistant. It asks before it assumes.
Share this articleXLinkedInFacebookEmail
Filip Kovacevic
About the author

Filip Kovacevic is the founder of Anar Agency in Phoenix. He spent five years running SEO, Meta ads, email, and content for medical practices across the United States, and now does the same work for healthcare, home-service, legal, and professional-service businesses, alongside AI implementation. More from Filip →

Want the engine built on your account?

Bring one offer and your last 90 days of ads. In 15 minutes we will show you which buyer reasons you have tested, which you have not, and what we would run first.

See how we build them →

Want to do this work yourself? See how we train marketing engineers.