Learn
How do you actually test ad creatives instead of launching five unrelated films?
How do you actually test ad creatives instead of launching five unrelated films?
Test ad creatives instead of launching five unrelated films by locking one variable, a control, and a read against your own baseline. Lock body and kit, swap hooks, assemble in eonik, approve, upload. Hook rate uses Meta’s 3-second plays. Hold uses ThruPlay; You make spend calls; No invented hold bar.

The steps
01
Establish a locked control creative
Select a single proven video as your control. Lock the main body. The creator script, core product pitch, and call to action. Only the variable you are testing (e.g., the first 3-second hook) should change across your test batch.
02
Generate 3-5 isolated hook variations
Create three to five distinct opening hooks for the same control body: a pain-point hook, a curiosity hook, and an educational hook. Each variation must change only the opening sequence. Nothing else.
03
Launch in a dedicated Sandbox campaign
Create a separate campaign at roughly 10% of primary budget. All variants in one ad set with identical targeting and optimization. Run 5-7 days minimum without touching primary budget.
04
Compare Hook Rate and apply stop rules
After 50-100 impressions per variant, compare Hook Rate and Hold Rate against your predefined stop rules. Pause underperformers yourself in Ads Manager. Redirect sandbox budget to top performers.
05
Promote the winner to primary spend
Add the strongest variant to your primary campaign as a new ad. Do not replace everything at once. Monitor 48 hours. You decide whether to scale budget. Repeat the cycle every 7-14 days.
How do you actually test ad creatives instead of launching five unrelated films?
Test ad creatives instead of launching five unrelated films by locking one variable, a control, and a read against your own baseline. Lock body and kit, swap hooks, assemble in eonik, approve, upload. Hook rate uses Meta’s 3-second plays. Hold uses ThruPlay; You make spend calls; No invented hold bar.
Stop gambling five films
If actor, script, hook, and lighting all change, a “winner” teaches nothing repeatable. That is production, not a test.
The full doctrine lives on creative testing math and the operator steps on ad variant testing. This guide is the mechanic: isolate, produce, read.
Run a hook cell

Control: best current body. Variants: new openings only, same captions style, same offer. Assemble in eonik so kit cannot drift, then read hook rate on the same placement.
Hook rate is 3-second video plays divided by impressions. Meta documents 3-second plays: at least three seconds, or nearly full length if shorter, counted per impression, replay excluded.
- 1. Stop launching unrelated films. Lock body and kit.
- 2. Run a hook cell: new openings only. Assemble in eonik. Approve.
- 3. Compare hook rate on the same account, window, and placement.
- 4. Then test CTA, audio, or ratio. One at a time. You pause and launch.
Then the next variable
Only after a hook read do you test CTA, audio, or ratio. One at a time. Spend launch and pause is Ads Manager. eonik does not kill or scale.
If supply is too slow to test, that is a production problem: go back to assembly, not to bigger unrelated films. A short isolate-sandbox loop is also A/B testing ads.
Gambling five films vs a hook cell
| Move | Five unrelated films | Isolated hook cell |
|---|---|---|
| What changes | Actor, script, hook, lighting. | Opening only. Body and kit locked. |
| What you can read | A story after the fact. | Hook rate on the same placement. |
| Where it is made | CapCut / agency queue. | eonik the same day. You approve. |
| Spend | You still launch. | You still pause and keep in Ads Manager. |
Hook rate = 3-second video plays ÷ impressions. Hold = ThruPlays ÷ 3-second plays. Meta documents the plays. No invented hold bar.
What usually breaks
- Changing two variables and writing a story after.
- Using someone else’s invented hold percentage as a 2026 benchmark.
- Letting CapCut defaults become an extra variable.
Consider the next cut. Make it in eonik on Mac, approve every frame, then upload yourself. The loop is how to generate AI ads. eonik never spends.
“Almost any question can be answered, cheaply, quickly, and finally, by a test campaign. And that’s the way to answer them, not by arguments around a table.”
That principle still holds. The next on-brand cut is yours to approve.
Sources
Questions
How do you isolate variables in creative testing?
Lock the body and kit; change one element per batch. Usually the opening. Compare hook rate on the same placement. Do not launch unrelated films and call it a test; Assemble in eonik so kit cannot drift; Same captions style, same offer; If an opening needs new B-roll, it is a new cell; You still upload; eonik never spends.
What is a good hook rate?
Meta does not publish a universal good. Compare to yourself. Cite 3-second play definitions, not invented percentages. Hook rate is 3-second video plays divided by impressions; Hold rate is ThruPlays divided by 3-second plays; ThruPlay is completion or at least 15 seconds; Same account, window, placement when you compare; Omit folklore “healthy” bars; Read your baseline.
Will eonik tell us what to pause?
No. You decide in Ads Manager. eonik does not kill or scale. After a hook read, test the next variable one at a time; If supply is too slow to test, go back to assembly, not to bigger unrelated films; Consider the next cut, make it on Mac, approve it; Start at [how to generate AI ads](/how-to-generate-ai-ads); Longer framework: [creative testing math](/creative-testing-math).
Free, no card · macOS 15+ · Apple silicon