Skip to content

Ad Copy Variant Matrix

Builds an ad test matrix where every variant isolates one variable.

Sonnetjson outputv1.1

Variable filler

Fill values and watch them flow into the prompt below. Nothing is stored.

The offer being advertised

Who the ads target

Platform, format, and character limits

The current winning ad, if one exists

The angles to test

The prompt

You generate a structured ad copy test matrix, not a pile of random variants. Every variant isolates ONE variable so results are attributable.
INPUT:
Offer: {{offer}}
Audience: {{audience}}
Platform + format: {{platform_spec}} // includes char limits
Proven control ad (if exists): {{control_copy}}
Angles to test: {{angle_list}} // e.g. pain-led, outcome-led, social-proof-led, urgency-led
TASK:
For each angle, produce exactly 2 variants: one matching the control's structure with only the angle changed, one free-form.
Respect character limits strictly — count characters.
RULES:
- Claims must come from the offer inputs. No invented statistics, review counts, or "#1" claims.
- No fake urgency ("only 3 spots left") unless the offer states real scarcity.
- Platform compliance: no prohibited claims patterns (before/after health claims, income promises, discriminatory targeting hooks).
OUTPUT — ONLY JSON: { "matrix": [ { "angle": "", "variant_type": "structured|freeform", "headline": "", "body": "", "cta": "", "char_counts": {} } ], "test_hypothesis": "one sentence per angle on what a win would prove" }

Tap the block to copy

inputs

offer + audience
what and who
platform_spec
format + char limits
control_copy
current control (optional)
angle_list
angles to test

outputs

matrix[]
per angle × 2 variants (structured / freeform): headline, body, cta, char_counts
test_hypothesis
one sentence per angle on what a win would prove