All templatesCreative60 minutes per planning session, 90 minutes per reviewUpdated 3 May 2026

Creative Testing Matrix

The 16-cell grid we use for systematic YouTube and Demand Gen creative iteration.

Who this is for

  • Brands at $20K+/mo on YouTube or Demand Gen
  • In-house creative leads designing a sprint
  • Operators frustrated with one-off creative reviews

Why this exists

Creative testing without a matrix collapses into random ideas with no signal. The 6x3 batch structure forces variation along two axes (script and hook) so the data actually says which moved which.

Read this first

Most ecom creative testing fails because the variants are confounded: a different script, a different hook, a different format, and a different offer all in one ad unit. When that ad wins or loses, you cannot say what moved the metric. The matrix forces variation on two named axes only, holds everything else constant, and gives you data that tells you what to repeat.

Plan and run the batch

  1. Pick six scripts

    Six different angles on the product. Problem-led, demonstration-led, third-party-evidence-led, contrarian-take, founder-led, customer-testimonial. The angle is the script-level variable. Each script is a complete narrative on its own with a beginning, middle, and end.

  2. Write three hooks per script

    Same script body, three different opening 2-second attention captures. Hook A: question-led ('Tired of running shoes that wear out at month three?'). Hook B: number-led ('We tested 47 running shoes. One survived a marathon.'). Hook C: pattern-interrupt ('Stop buying running shoes until you know this.'). The hook is the only thing that varies inside a script's three units.

  3. Format-cut once, ship 18 units per batch

    Six scripts times three hooks equals eighteen ad units. Cut each into vertical (9:16), in-feed (1:1 or 4:5), and 16:9 from the same master shoot. The format cuts don't add to the 18; they're just the container the same 18 ad units run in across surfaces.

  4. Run the batch for two weeks at a fixed budget

    Equal budget per ad unit across the batch (the platform's even-rotation if available, manual capping if not). Two weeks gives Smart Bidding enough conversion volume per unit to read signal at the script + hook level. Less than two weeks, the data is noise.

  5. Apply the promote/iterate/kill rules at week 2

    Promote: ad units in the top 33% of view-through ROAS get scaled to 2x budget for week 3-4. Iterate: middle 33% get one variable swapped (usually the hook) and re-test in the next batch. Kill: bottom 33% get archived; their script and hook combinations don't return to the testing pool unless a new business reason emerges.

The seven hook patterns that consistently move VTR

Not exhaustive, but these seven cover the bulk of high-VTR opening patterns across ecom video over the last several years. Use as a hook-bank starting point.

PatternOpening 2 secondsBest for
Question-led'Tired of [pain point]?'Pain-aware audiences who are searching for solutions
Number-led'We tested [N]. One survived.'Trust-building, demonstration content, comparison products
Pattern-interrupt'Stop [doing common thing] until you know this.'Lower-awareness audiences, top-of-funnel discovery
Contrarian'Everyone says [common belief]. They're wrong.'Brands with a differentiated mechanism vs category norms
DemonstrationVisual proof in the first frame, no narration for 2 secondsPhysical products with visible quality differences
Customer testimonialReal customer talking on camera, native phone captureTrust-led categories: supplements, beauty, home goods
Founder direct-addressFounder, plain background, looking at cameraBrands where the founder is the differentiator (newsletter brands, design-led brands)

Promote / iterate / kill decision tree

Apply at the end of week 2. The decision is per ad unit, not per script and not per hook in isolation, because the unit (script + hook) is what ran.

text
For each of the 18 ad units in the batch:

  view_through_roas = (vt_conversions * vt_aov) / unit_spend
  rank by view_through_roas across all 18 units

  IF rank in top 6  (top 33%)
    OUTCOME = promote, scale to 2x budget for weeks 3-4
    DOCUMENT what about the unit worked: script angle, hook pattern, or both

  IF rank in middle 6  (middle 33%)
    OUTCOME = iterate, swap one variable for the next batch
    Most common iteration: keep the script, swap the hook for one
    drawn from the hook bank patterns this unit didn't test

  IF rank in bottom 6  (bottom 33%)
    OUTCOME = kill, archive the unit
    Same script + hook does not re-enter the rotation
    unless a structural business reason emerges (new offer,
    new audience, seasonal pivot)

Weekly review template

  • Pull view-through ROAS, post-click ROAS, and AOV per ad unit for the last 7 days
  • Rank ad units 1-18 by composite score (view-through ROAS weighted 60%, post-click ROAS 30%, AOV 10%)
  • Document the top 3 winning hook patterns from the batch (e.g. 'pattern-interrupt won, customer-testimonial flat')
  • Document the top 3 winning script angles (e.g. 'demonstration-led won, founder-led under-performed')
  • Brief the next batch with the winning patterns repeated and the losing patterns retired
  • Schedule the next two-week batch shoot for week 5-6 (so the batch flow is continuous, not gappy)
  • Update the hook-bank doc with any new patterns this batch surfaced
  • Share the review with the campaign team so the bidding posture for week 3-4 reflects the new winners

What good looks like after one batch cycle

You can name the script angle and hook pattern that won. You can name what didn't. The next batch is briefed with that data. The hook bank has grown by 1-2 patterns and shrunk by the ones that consistently lose. Creative testing has stopped being a guess and started being a system. Two batches in, the marginal ROAS-per-ad-unit reads better than week 1. Three batches in, the whole campaign's blended ROAS lifts because the creative supply matches what the algorithm needs to learn.

External resources

Authoritative references we link to alongside the template. Read them before running the audit.

Want this run for you?

Apply for a free audit. Patrick walks you through the most- relevant sections against your real account.