Internal design review. Not cleared for any live placement. Campaign 120251930956490123 stays in draft; nothing was published, changed or budgeted on Meta.

Wonder v38 — the in-image CTA button is gone

Ten ads. No drawn button anywhere. Each ad is one native 9:16 photograph at 1152×2048 and the 4:5 is a crop of that same plate, with a per-plate crop window measured so it never slices a person, a hand or the product.

1 · The CTA finding, now tested on a wider set

Obvi: 0 of 70 stored ads draw a shopping button; the offer lives in ad_creative_link_title, the headline field Meta itself renders under the image. Original write-up.

Wider test (GetHookd, 45 brands, 66 US static image ads, every one inspected as pixels): 6 ads (9.1%) do draw a button. 25 carry a non-clicking label pill, 35 carry nothing. Four more carry a bare drawn click instruction with no enclosing shape — so 10 of 66 have a drawn CTA of some kind.

Verdict: QUALIFY, not confirm. Dropping the button as the house default is well supported — nine ads in ten don't have one. Saying the category never does it is not supported. And the button-drawers are not only junk: the two highest-performing of the six are established DTC brands (perf 100 and 84), and both pills carry an offer or a category — BUY 1 GET 1 FREE, SHOP KINKY STRAIGHT — never a bare "Shop now". The two conventional "Learn More" pills both score 1/Testing. If we ever put a pill back, that is the shape worth testing.

Also learned: auditing only the bottom 38% of a frame undercounts by a third — two of the six buttons sat mid-frame. Full audit.

2 · What replaced the button

Obvi's own bottom furniture, rotated so no two neighbouring ads carry the same device: a proof line (6 ads), a thumbs guarantee (2), a spec row (2). It is type directly on the photograph — no panel, band, strip or scrim behind any of it.

Placement differs by ratio deliberately. The 4:5 runs in feed with nothing over the image, so the furniture is bottom-pinned exactly as Obvi runs it. The 9:16 loses its bottom 35% to the Reels caption and CTA overlay, so the same line sits under the support line where it is actually seen. Removing the button is what made that possible — it was the heaviest object in the frame and it owned the bottom third.

One open decision. Six of the ten carry no proof roundel. On W01/W05 the bottles run the full width of the frame and on W07/W08 two portraits run edge to edge, so every 188–212px roundel position was measured to land on the product label, a face or the before/after evidence. Filling the frame edge to edge and stamping a roundel on it are in direct conflict. Those six say the review count in the furniture line instead. If you want the roundel back on all ten, the plates have to give up some scene.

3 · The 4:5 crop windows

Every plate was measured against a pixel ruler. A 4:5 window is 1440 of the plate's 2048 rows, so any subject spanning more than 1440 rows cannot be cropped without cutting something. Three of the ten original plates failed that test — W03 (hair crown 60 → bottle base 1845, span 1785), W05 (cap 195 → reflection 1800, span 1605) and W09 (fingers 230 → bottle base 1890, span 1660). Any window either sliced her forehead or cut the bottle base.

They were reshot rather than cropped badly. The brief that worked states three pixel bands, not percentages: top band backdrop only, a core band holding the whole subject with slack, bottom band floor only — plus "shoot much wider than instinct". The first attempt still overshot by ~60px, so the core band was tightened to 420–1620 to leave room for the model's overshoot. The two before/after plates were reshot twice more: their heads sat mid-frame, so a hook either covered the parting — the actual evidence — or landed in the Reels reserve. They now sit in the bottom half with the upper half a lit, shadowed wall.

AdPlate4:5 windowWhy not dead centre
W01W01y340–1780down 33px so the centre bottle's base is not clipped
W02W02y307–1747true centre
W03W03ey330–1770reshot, round 3 — hair now fills the top band
W04W04y150–1590up 157px — a centre crop sliced her raised fingers
W05W05dy307–1747reshot — the oil pour fills the top band
W06W06y307–1747true centre, cleanest of the ten
W07W07dy307–1747reshot twice — portraits moved to the bottom half
W08W08dy307–1747reshot twice — same
W09W09dy307–1747round 2 kept; round 3 read better but sliced her hand
W10W10y350–1790down 43px so the base and reflection survive

4 · Hooks — all ten lead with the pain

Rebuilt from a pain map, not from features, and each ad enters the tension from a different door: direct recognition, feared future, social exposure, a stalled plateau, a recurring cost, a hidden cause, a failed alternative, category negation, a physical complaint, a life-stage shock. Each card below names its pain and its entrance.

The claim boundary is unchanged and deliberate. The only bridge used is the qualified sentence already live on the PDP — batana oil may help with shedding, and conditions dry, fragile lengths. No timeframe, no regrowth promise, no "in 2 weeks". That is a conscious difference from Obvi, whose own H04/H06/H10 run "REGROW Hair in Just 2 Weeks".

No price, no discount, no offer anywhere in the artwork — that is the finding applied. The offer belongs in Meta's headline field.

5 · Gates — all clean, and what the gates do not catch

GateResult
Text overflow0 / 20
Solid blocks over size (blockgate)0
Element collisions0
Meta safe zone20 / 20
Legibility vs the photograph (104 elements)0 fail
Furniture over product label / face / before-after result0 / 0 / 0

Two honest notes. First, the product gate measures the label, not the bottle — a generous bottle-shaped box made it fire on everything and meant nothing. Second, the gate only checks pills, badges and buttons, so it never looks at a plain headline: five readability defects passed every gate and were caught by eye (navy type crossing dark dropper caps on W01 and W10, navy over dark hair on W09, a navy spec row on a black top in W08-45, a white brand line on light pink in W01-45). All five were fixed by per-element ink, then re-measured.

Weakest ad: W10. Its headline still crosses the bottle's cap and its furniture sits on busy marigolds. Legible, gate-clean, but the least resolved of the ten — say the word and it gets the same three-band reshoot the others had.

What is real

The product is the actual bottle in every scene, generated with source/real-bottle-reference.png attached. The only numeric proof is the genuine 4.8/5 from 1,121 Trustpilot reviews, said once per ad. Free shipping and skip-or-cancel are live PDP terms. The spec row is true.

The two before/after plates are generated stand-ins and are labelled on the artwork — "ILLUSTRATION · NOT A CUSTOMER RESULT". That label is a compliance requirement, not decoration. No invented customer count, testimonial, timeframe or measured result anywhere.

Method: gpt-image-2.5-flare at quality=medium via /v1/images/edits. No text generated into artwork — all typography composited deterministically in Remotion.

FIVE OILS — NOTHING CHANGED

One ingredient. Cold-pressed batana oil.

Pain: disappointment with a cabinet full of hair oils that did nothing

Entrance: failed-alternative indictment

plate W01 · 4:5 crop y340–1780 · bottom furniture: proof line — ★★★★★ 4.8/5 · 1,121 verified reviews · no roundel — no position clears product/face/result

No in-image CTA button.

20 THINGS — IN YOUR HAIR OIL

Ours has one: 100% batana oil.

Pain: distrust of long ingredient lists after being sold complicated products

Entrance: category negation

plate W02 · 4:5 crop y307–1747 · bottom furniture: proof line — ★★★★★ 4.8/5 · 1,121 verified reviews · no roundel —

No in-image CTA button.

STUCK — SAME LENGTH FOR 3 YEARS

Conditions dry, fragile lengths.

Pain: hair that never gets past a certain length because the ends keep breaking off

Entrance: plateau / stalled progress

plate W03e · 4:5 crop y330–1770 · bottom furniture: proof line — ★★★★★ 4.8/5 · 1,121 verified reviews · no roundel —

No in-image CTA button.

WASH DAY — SHOULDN'T COST YOU LENGTH

Conditions dry, fragile lengths.

Pain: the handful of broken hair left after every wash day

Entrance: recurring cost / private moment

plate W04 · 4:5 crop y150–1590 · bottom furniture: thumbs guarantee — skip or cancel anytime · free shipping · proof roundel

No in-image CTA button.

GREASY — IT JUST SITS ON YOUR HAIR

Cold-pressed. One ingredient.

Pain: heavy oils that coat the hair and leave it limp instead of feeding it

Entrance: failed alternative, physical

plate W05d · 4:5 crop y307–1747 · bottom furniture: spec row — 100% batana oil · cold-pressed · 30ml · one ingredient · no roundel — no position clears product/face/result

No in-image CTA button.

SHEDDING — CHECK YOUR BRUSH

Batana oil may help with shedding.

Pain: the amount of hair coming out in the brush every single day

Entrance: direct pain recognition

plate W06 · 4:5 crop y307–1747 · bottom furniture: proof line — ★★★★★ 4.8/5 · 1,121 verified reviews · no roundel —

No in-image CTA button.

YOUR PART — IS WIDER THAN LAST YEAR

Batana oil may help with shedding.

Pain: watching the parting widen year on year and knowing where it is heading

Entrance: feared future

plate W07d · 4:5 crop y307–1747 · bottom furniture: proof line — ★★★★★ 4.8/5 · 1,121 verified reviews · no roundel — no position clears product/face/result · labelled ILLUSTRATION · NOT A CUSTOMER RESULT

No in-image CTA button.

NO EDGES — EVERY STYLE SHOWS IT

Batana oil may help with shedding.

Pain: thinned edges that limit every style and are visible to everyone

Entrance: visible / social exposure

plate W08d · 4:5 crop y307–1747 · bottom furniture: spec row — 100% batana oil · cold-pressed · 30ml · one ingredient · no roundel — no position clears product/face/result · labelled ILLUSTRATION · NOT A CUSTOMER RESULT

No in-image CTA button.

THINNING — STARTS AT THE SCALP

Massage in at the root. 100% batana oil.

Pain: treating the strand for years without ever treating where hair actually grows

Entrance: hidden-cause reveal

plate W09d · 4:5 crop y307–1747 · bottom furniture: thumbs guarantee — skip or cancel anytime · free shipping · proof roundel

No in-image CTA button.

POSTPARTUM — THE SHEDDING NOBODY WARNS YOU

Batana oil may help with shedding.

Pain: postpartum shedding arriving unannounced on top of everything else

Entrance: life-stage shock

plate W10 · 4:5 crop y350–1790 · bottom furniture: proof line — ★★★★★ 4.8/5 · 1,121 verified reviews · no roundel —

No in-image CTA button.