task icon Task

Generate A/B Test Variants

Requirements
Existing ad copy (headline, description, or full ad), platform (Google/LinkedIn/Meta), what to test (hooks, CTAs, benefits, tone)
2

Check uiAd Copy Library for saved ad concepts and test results.
If the library exists, review it for related concepts, past variants,
or performance data to inform this test. If it doesn't exist yet,
proceed without—you'll offer to save the variant set at the end.

3

Get the source ad and testing parameters:

  • What's the current ad copy?
  • Which platform is this for?
  • What element(s) do you want to test?
    • Hook/opening approach
    • CTA style
    • Benefit emphasis
    • Tone (professional vs casual vs urgent)
    • Length (short vs detailed)
    • Social proof inclusion
    • Number specifics

Confirm the testing hypothesis: "We're testing whether X performs better than Y."

4

Generate systematic variants based on the testing dimension:

If testing hooks:
Create 5 variants with different opening strategies:

  • Question hook
  • Statistic/number hook
  • Pain point hook
  • Social proof hook
  • Benefit-first hook

If testing CTAs:
Create 5 variants with different CTA styles:

  • Direct ("Buy Now", "Sign Up")
  • Soft ("Learn More", "See How")
  • Urgent ("Limited Time", "Don't Miss Out")
  • Benefit-focused ("Get Your Free X")
  • Curiosity ("See What's Inside")

If testing benefits:
Create 5 variants emphasizing different value props:

  • Time savings
  • Cost savings
  • Quality/results
  • Ease of use
  • Social proof/trust

If testing tone:
Create 5 variants with different voice:

  • Professional/formal
  • Conversational/friendly
  • Urgent/FOMO
  • Empathetic/understanding
  • Bold/confident
5

For each variant, output:

  1. The full ad copy with character counts
  2. Label: "VARIANT [letter]: [what it tests]"
  3. Hypothesis: "May outperform control if audience responds to [X]"

Example format:

VARIANT A: Question Hook
Primary: "Still manually tracking expenses? [38 chars]"
Headline: "Automate Your Expense Reports" [28/30]
Hypothesis: May outperform if audience is frustrated with current process
6

Create a testing matrix:

Variant Tests Expected Winner If...
A Question hook Audience has active pain point
B Statistic hook Audience is data-driven
etc.

Recommend test priority order and minimum sample size considerations.

Offer to save the variant set to uiAd Copy Library for tracking results.

                    To run this task you must have the following required information:

> Existing ad copy (headline, description, or full ad), platform (Google/LinkedIn/Meta), what to test (hooks, CTAs, benefits, tone)

If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.

---

You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. [Read Ad Platform Specs]: Read the documentation in: `./skills/sauna/[skill_id]/references/marketing.ad.platforms.md` (Reference platform specs for constraints)

2. Check `./documents/marketing/ads/library.yaml` for saved ad concepts and test results.
If the library exists, review it for related concepts, past variants,
or performance data to inform this test. If it doesn't exist yet,
proceed without—you'll offer to save the variant set at the end.


3. Get the source ad and testing parameters:
- What's the current ad copy?
- Which platform is this for?
- What element(s) do you want to test?
  - Hook/opening approach
  - CTA style
  - Benefit emphasis
  - Tone (professional vs casual vs urgent)
  - Length (short vs detailed)
  - Social proof inclusion
  - Number specifics

Confirm the testing hypothesis: "We're testing whether X performs better than Y."


4. Generate systematic variants based on the testing dimension:

**If testing hooks:**
Create 5 variants with different opening strategies:
- Question hook
- Statistic/number hook
- Pain point hook
- Social proof hook
- Benefit-first hook

**If testing CTAs:**
Create 5 variants with different CTA styles:
- Direct ("Buy Now", "Sign Up")
- Soft ("Learn More", "See How")
- Urgent ("Limited Time", "Don't Miss Out")
- Benefit-focused ("Get Your Free X")
- Curiosity ("See What's Inside")

**If testing benefits:**
Create 5 variants emphasizing different value props:
- Time savings
- Cost savings
- Quality/results
- Ease of use
- Social proof/trust

**If testing tone:**
Create 5 variants with different voice:
- Professional/formal
- Conversational/friendly
- Urgent/FOMO
- Empathetic/understanding
- Bold/confident


5. For each variant, output:
1. The full ad copy with character counts
2. Label: "VARIANT [letter]: [what it tests]"
3. Hypothesis: "May outperform control if audience responds to [X]"

Example format:
```
VARIANT A: Question Hook
Primary: "Still manually tracking expenses? [38 chars]"
Headline: "Automate Your Expense Reports" [28/30]
Hypothesis: May outperform if audience is frustrated with current process
```


6. Create a testing matrix:
| Variant | Tests | Expected Winner If... |
|---------|-------|----------------------|
| A | Question hook | Audience has active pain point |
| B | Statistic hook | Audience is data-driven |
| etc. |

Recommend test priority order and minimum sample size considerations.

Offer to save the variant set to `./documents/marketing/ads/library.yaml` for tracking results.