advrt

A Meta creative testing tool that shows its maths

advrt tests up to 6 ads on Meta, one ad set each with equal budgets. Zero sales after 2.3× your CPA is a loser; no call by 5× CPA ends inconclusive.

advrt builds the test, judges every ad against your own ad account and pauses the losers. This page publishes the rules and works out what a test costs at your CPA, so you can decide before you spend.

Free plan: 5 ad generations a month, no card.

Square feed ad for LOWTIDE, a fictional coffee brand
Ad A · 1:1
Lifestyle feed ad for LOWTIDE coffee
Ad B · 4:5
Ad C · 9:16 video

Three creatives for one fictional product, the kind of set advrt puts into one test. Unedited advrt outputs; the video is a Veo 3 Fast render.

What does advrt test, and how is a winner decided?

advrt tests new ad creatives on Meta. You pick 1 to 6 image or video ads, set one daily budget per ad and confirm the daily total. advrt then builds one campaign with one ad set per creative, each with the same budget and the same copy, so Meta can't pour the spend into whichever ad it liked first. The campaign is built paused and only switches on once every ad exists.

Each ad is judged once a day against your ad account's own last 30 days, not an industry benchmark. With at least 10 purchases in that window, advrt counts purchases: a winner needs 3 or more at a CPA at least 15% better than your account's. An ad with no purchases is called a loser after about 2.3× CPA. If neither happens by 5× CPA, the ad stops as inconclusive. Tests run on the Basic plan ($19.99/mo) and Pro ($49/mo).

At a glance

Ads per test1 to 6, each in its own ad set
BudgetEqual daily budget per ad, set by you
BaselineYour ad account's last 30 days
Loser0 purchases by 2.3× CPA, or 1 by 3.9× CPA
Winner3+ purchases, CPA 15% better, p ≤ 0.1
Stop5× CPA or 3 days of budget, whichever is more
ResultsSynced daily, or on demand with Refresh

How a test runs in advrt

Testing needs a connected Meta ad account and the Basic or Pro plan. Nothing spends until you confirm.

  1. Pick the ads. Choose up to six generated or approved image and video ads from a campaign. They can come from different angles; the test compares the creative, so every ad carries the same primary text, headline and call to action, taken from the campaign's chosen angle.
  2. Choose where it runs. Pick the ad account, Facebook Page, landing page link and the countries to target. Targeting is by country with an 18+ age minimum and no interest layers. If you add a pixel, the campaign uses the Sales objective and optimises for purchases; without one it uses Traffic and optimises for link clicks.
  3. Set the budget and confirm. You enter one daily budget per ad (the form starts at 20 in your account currency) and advrt shows the daily total before you launch. Launching asks you to confirm the spend.
  4. advrt records your baseline. Before building anything it pulls the ad account's spend, impressions, clicks and purchases for the previous 30 days. That snapshot is what every ad is judged against for the life of the test.
  5. The test is built paused. advrt creates the campaign paused, uploads each image or video, and creates one ad set and one ad per creative. Only when every ad exists does it switch the campaign on. If any step fails, the campaign stays paused, so a half-built test never spends.
  6. Verdicts arrive daily. Results sync from Meta once a day, and you can hit Refresh at any time. A verdict is final once reached: later data updates the numbers but never flips a call. With auto-pause on (the default), losers and inconclusive ads are paused on Meta; winners keep running.
  7. Iterate on the winner. One click queues 3 new variations of a winning ad, ready for the next round.

How much does an ad spend before advrt calls it?

It depends on your CPA, because every threshold is a multiple of it. The idea is simple. If your account normally pays $40 per purchase, an ad that has spent $120 "should" have about 3 purchases. If it has none, the chance of a normal ad being that unlucky is about 5%. advrt calls a loser once that chance drops to 10% or less, which for zero purchases happens at 2.3× CPA of spend. The table applies that rule, straight from advrt's judging code, to three account CPAs at the default $20 a day per ad.

Spend per ad before a verdict, at $20 a day per ad
Account CPALoser at 0 purchasesLoser at 1 purchaseFastest winnerStops as inconclusive
$20$46.05 (day 3)$77.79 (day 4)3 purchases within $22.04$100 (day 5)
$40$92.10 (day 5)$155.59 (day 8)3 purchases within $44.08$200 (day 10)
$60$138.16 (day 7)$233.38 (day 12)3 purchases within $66.12$300 (day 15)

Computed from advrt's judging rules (lib/loop/judge.ts). Two purchases can't make a loser before the stop at these budgets: it needs 5.3× CPA, past the 5× cap. The stop is the larger of 5× CPA and 3 days of the ad's budget.

Winners need more evidence than losers. Three purchases only count if they arrive within 1.1× CPA of spend, which means the ad ran at roughly a third of your normal CPA. With more purchases the bar relaxes, as the next table shows, but it never gets close to "a bit better than average".

What it takes to be called a winner
PurchasesMust arrive withinAd CPA vs your accountAt a $40 account CPA
31.1× CPA37% or less3 sales on $44 or less
41.7× CPA44% or less4 sales on $70 or less
52.4× CPA49% or less5 sales on $97 or less
63.2× CPA53% or less6 sales on $126 or less
73.9× CPA56% or less7 sales on $156 or less
84.7× CPA58% or less8 sales on $186 or less

Also from judge.ts: at least 3 purchases, a CPA at least 15% below the account's, and a one-sided Poisson probability of 10% or less.

What does a 3, 5 or 8 ad test cost?

The worst case is easy to state: every ad runs to its stop. At a $40 account CPA and $20 a day per ad, that stop is $200 per ad, reached on day 10. advrt allows 6 ads per test, so 8 ads means two tests. The "typical" column assumes every ad performs exactly like your account average, using the simulation further down.

Test cost at a $40 account CPA and $20 a day per ad
AdsDaily spendMost it can spendDays to the stopIf every ad is averageTests
3$60$60010$5041
5$100$1,00010$8401
6$120$1,20010$1,0081
8 (two tests: 6 + 2)$160$1,60010$1,3442

At a $20 CPA the stop is $100 per ad; at $60 it is $300. Ad spend goes to Meta from your ad account; advrt's plan price is separate. Spend can run past a threshold by up to a day, because verdicts are checked daily.

Clear losers cost far less than the cap. A creative with zero sales is usually paused within five days at a $40 CPA, freeing budget for the ones still in play. The expensive ads are the middling ones, which is the honest limit of any small-budget test.

How often does advrt get the call right?

We ran advrt's judging code against simulated ads with a known true CPA: 10,000 ads per row, a $40 account CPA, $20 a day per ad, purchases arriving at random at the ad's true rate, and the judge running once a day. This is our own analysis of the rules, not customer data.

Simulated verdicts by true ad performance ($40 account CPA, $20 a day per ad)
The ad's true CPAWinnerLoserInconclusiveAverage spendAverage days
Half your account CPA77%1%22%$1095.5
30% cheaper per sale45%4%51%$1477.3
15% cheaper per sale28%8%64%$1628.1
Same as your account19%13%69%$1688.4
50% more expensive6%31%64%$1698.4
Twice your account CPA2%46%52%$1618.0
Three times your CPA1%65%34%$1477.3

Seeded Monte Carlo of lib/loop/judge.ts. Percentages are rounded. It assumes full daily delivery and no attribution delay, so real tests will be a little slower.

Three things stand out. An ad that converts at half your CPA is called a winner 77% of the time. An ad that's only 15% better usually ends inconclusive (64%). And an ad that is exactly average still gets called a winner 19% of the time and a loser 13% of the time, because advrt checks every day with a 10% threshold. That's a deliberate trade for fast calls on small budgets: pausing a loser or making variations of a winner is cheap to undo. Treat "winner" as "worth more budget and new variations", keep watching it, and retest anything you plan to scale hard.

What if my account has no purchase data?

If the ad account had fewer than 10 purchases in the last 30 days, advrt judges click-through rate instead. Each ad needs at least 1,000 impressions, a CTR at least 20% above or below the account's, and a one-sided z-test at the same 10% level. A brand-new account with no click history is compared against a 1% CTR. Click mode stops at 20,000 impressions or 5 days of budget.

Clicks needed against a 1% account CTR
ImpressionsWinner atLoser at
1,000n/a5 clicks or fewer (0.50%)
2,000n/a14 clicks or fewer (0.70%)
5,000n/a40 clicks or fewer (0.80%)
20,000240 clicks or more (1.20%)160 clicks or fewer (0.80%)

Found by running judgeAd from lib/loop/judge.ts at each click count.

A click verdict tells you which creative earns attention, not which one sells. It's the right read for a new store; once the account has 10 purchases a month, tests switch to purchases automatically.

advrt vs Meta's own tests and the alternatives

Meta's built-in tools cost nothing extra and are the right choice for many questions. They answer a slightly different one: which of these versions did best in this test, rather than is this ad better than what my account normally gets.

OptionHow the winner is pickedTime and setupMakes the adsActs on the resultCost
Meta A/B test (Experiments)Lowest cost per result between split, non-overlapping audiences; 65%+ confidence counts as a winner1 to 30 days; Meta recommends at least 7No, you pause and scale yourselfAd spend only
Meta creative testing (in-campaign)Top performer on a metric you choose; no confidence level2 to 7 test copies inside a Highest volume campaignNo automatic changesAd spend; Meta suggests up to 20% of the budget
Manual one-ad-per-ad-set testWhatever rule you apply in a spreadsheetYou build ad sets and read results by handOnly if you set up rulesAd spend only
Creative analytics (for example Motion)Reports and comparisons across ads you already runConnects to existing accountsNo, it informs decisionsMotion Starter $999/mo up to $50k spend
advrtEach ad against your account's 30-day CPA or CTR, rules published aboveBuilt in one step; up to 6 adsAuto-pauses losers; 3 variations of a winner in one click$19.99/mo or $49/mo plus ad spend

Meta and Motion details from their own pages, checked October 2026 (sources below). advrt's ad sets aren't randomised against each other the way Meta's A/B split is; that is the main rigour you give up.

The facts behind this page

  • Meta's A/B tests must be scheduled for 1 to 30 days, and Meta recommends at least 7 because shorter tests "may produce inconclusive results" (Meta A/B testing best practices, checked October 2026).
  • For A/B tests Meta treats "a 65 per cent or higher confidence percentage" as a winning result, and suggests an estimated power of 80% or more before you start (Meta: About confidence).
  • Meta's in-campaign creative test lets you make 2 to 7 copies of an ad, only works with the Highest volume bid strategy, suggests spending no more than 20% of the budget on test ads, and states that "a confidence level is not included" and that it "does not make any automatic changes" (Meta: Set up a creative test).
  • Through the Marketing API, Meta's creative tests take 2 to 5 cells with exactly one ad per cell, on mutually exclusive audiences, and for conversion objectives "the group with the lowest cost-per-action" performs best (Meta for Developers: Split testing).
  • advrt's own numbers on this page come from its judging code: winner at 3+ purchases with a CPA 15% better and p ≤ 0.1, loser once the Poisson probability of so few purchases drops to 0.1 (2.3× CPA at zero purchases), stop at max(5× CPA, 3× daily budget).

What it costs

PlanPriceIncludes
Free$0/mo5 ad generations / month · 1 brand · AI angles, hooks and ad copy · Ads built from your real product photos · Meta Ad Library swipe file
Basic$19.99/mo100 ad generations / month · Up to 5 brands · Everything in Free · Live creative tests on Meta · Winner / loser verdicts vs. your account · Auto-pause losers · Publish to Meta and TikTok
Pro$49/moUnlimited ad generations · Up to 50 brands · Everything in Basic · Video ad generation at volume · 14-day free trial

Prices in USD. Ad spend is paid to Meta or TikTok from your own ad account. Compare plans

Questions

Is advrt a replacement for Meta's A/B test?
For creative questions on a small budget, it can be. For audience, placement or bid-strategy questions, or when you want a randomised split, use Meta's A/B test. Many teams use both: advrt for weekly creative rounds, Meta's tool for bigger structural questions.
How many ads can I test at once?
Up to 6 per test, each in its own ad set with the same daily budget. To test more, run a second test; both are judged against the same account baseline.
Why judge against my own account instead of a benchmark?
Because a good CPA for one store is a bad one for another. Comparing each ad to your account's last 30 days asks the useful question: is this creative better than what I already get?
Can a winner turn into a loser later?
No. Verdicts are final once reached. Later data still updates the numbers on screen, so you can see if a winner fades and decide to pause it yourself.
Does advrt need my pixel?
Not to run a test. With a pixel the campaign optimises for purchases and judges on purchases, provided the account had at least 10 in the last 30 days. Without one it uses link clicks and judges on click-through rate.
Which plan includes creative testing?
Basic ($19.99/mo) and Pro ($49/mo). The free plan lets you make ads and see them, but not launch or test. Ad spend is paid to Meta from your own ad account.
What happens to the losing ads?
With auto-pause on, advrt pauses losers and inconclusive ads on Meta after the daily check. With it off, they keep running until you pause them. Winners always keep running.

Related features

Further reading

Sources

External facts checked 19 October 2026.

Your next step

If your account has a CPA you trust and you can give each ad about 5× that CPA over a week or two, advrt will call most clear losers and strong winners. Start free, make three ads for one product, and launch your first test on Basic when they look right.

Start free