# Ad Copy Ab Generator

> Generate two complete Responsive Search Ad (RSA) variations for Google Ads - one rational/direct and one emotional/aspirational - with 15 headlines and 4 descriptions each, plus pinning recommendations. Use this skill when a user wants to write Google Ads copy, asks for new ad variations, mentions "RSA", "responsive search ads", "headlines", "descriptions", needs to refresh ad copy, asks for A/B test ideas for ads, or wants help with ad copywriting. Trigger on phrases like "write me ads", "ad copy", "RSA variations", "headlines for [keyword]", "Google Ads copy", "test new ads", "ad copy A/B", or any ad-creative writing request for Google Ads.

- Skill: `kochellenk-afk/ad-copy-ab-generator` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kochellenk-afk/ad-copy-ab-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kochellenk-afk/ad-copy-ab-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kochellenk-afk (https://skillmd.com/u/kochellenk-afk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kochellenk-afk/ad-copy-ab-generator

---


# Ad Copy A/B Generator

A skill for generating two strategically distinct RSA variations using proven copywriting frameworks.

## What this skill does

For a given ad group, this skill produces:

- **Version A** - Direct/rational angle (features, specifics, numbers, proof)
- **Version B** - Emotional/aspirational angle (outcomes, identity, transformation)

Each version contains:
- 15 headlines (≤30 chars each), distributed across 5 categories
- 4 descriptions (≤90 chars each), each with a different focus
- Pinning recommendations
- A hypothesis explaining why each variation should win
- Suggested test duration

## Required inputs

1. **Product/service description** - what's being sold
2. **Target audience** - who buys it
3. **Key differentiators** - what makes this offering different
4. **Top 3–5 keywords for the ad group** - so headlines can include them
5. **Current best-performing ad headlines** (if available) - to learn what's already working
6. **Competitor ads** (if available) - screenshot text or pasted ads helpful for differentiation

If any of (1)–(4) is missing, ASK before generating. Don't guess.

## Workflow

### Step 1: Gather context

If the user just said "write me ads," respond:

> Before I write, I need:
> 1. **What you sell** - one or two sentences
> 2. **Who buys it** - target customer profile
> 3. **What makes you different** - 2–3 specific differentiators (not "we're better")
> 4. **3–5 keywords for this ad group** - so I can include them in headlines
> 5. **Current best-performing ads** (optional) - paste headlines you know are working
> 6. **Competitor ads** (optional) - paste 2–3 competitor RSAs you've seen for these keywords

### Step 2: Generate Version A - Direct/Rational

The structure for each RSA variation: 15 headlines split across 5 categories, 4 descriptions each with a distinct focus. See `references/copy-frameworks.md` for the framework details.

Version A leans on: features, numbers, social proof, specific guarantees, tangible benefits.

**15 headlines distribution:**
- 3 with primary keyword insertion (literal keyword in the headline, e.g., "Buy CRM Software" if keyword is "buy crm software")
- 3 with unique value propositions (specific, differentiated)
- 3 with social proof / numbers ("Trusted by 10,000+ Teams", "4.8★ on G2", "$50M Saved")
- 3 with urgency / CTA ("Start Free Trial", "Get a Demo Today", "See Pricing Now")
- 3 with benefit-focused messaging (the literal benefit, not the feature)

**4 descriptions:**
- 1 feature-focused
- 1 benefit-focused
- 1 social-proof focused
- 1 CTA-focused

### Step 3: Generate Version B - Emotional/Aspirational

Same structure but tone shifts to identity, outcomes, transformation. Less about "what it does" and more about "who you become / what changes."

For B2B: emotional angles include relief from frustration, professional pride, peer recognition.
For B2C: include identity, lifestyle, status, security, belonging.

### Step 4: Pinning recommendations

Don't pin everything - Google's RSA learning works best when it can rotate freely. Default pinning approach:

- **Pin one strong headline to position 1** (highest visibility): pick the one with primary keyword insertion + clear value prop. Pin to ensure consistency across impressions.
- **Pin one strong headline to position 2** (still visible): pick the strongest social proof or differentiator headline.
- **Leave position 3 and beyond unpinned** for Google to optimize.

For descriptions: pin the strongest CTA-focused description to position 1; leave position 2 unpinned.

### Step 5: Hypothesis and test guidance

For each variation, write a 2–3 sentence hypothesis:

> Version A should outperform with high-intent searchers who want specifics - pricing, features, proof. The numbers and CTAs reduce friction for ready-to-buy clicks.
>
> Version B should outperform with mid-funnel searchers who haven't decided yet - the aspirational angle creates consideration intent.

Suggest test duration based on traffic volume:

| Ad group monthly clicks | Test duration |
|---|---|
| 1,000+ | 2 weeks |
| 300–1,000 | 4 weeks |
| 100–300 | 6 weeks |
| <100 | 8+ weeks (or skip A/B; combine into one ad) |

If the ad group sees fewer than 100 clicks/month, recommend ONE strong RSA instead of A/B. Tell the user: "Below 100 clicks/month, A/B test won't reach significance in a reasonable time."

## Output format

Markdown response with this structure:

```
## Ad Copy A/B Test - Ad Group: [name]

### Version A - Direct/Rational

**Headlines:** (each on its own line, with character count and pinning)
1. [Headline A1] (28) - PIN POS 1
2. [Headline A2] (29) - PIN POS 2
3. [Headline A3] (25)
... (15 total)

**Descriptions:**
1. [Desc A1] (89) - PIN POS 1
2. [Desc A2] (87)
...

**Hypothesis:** ...
**Test duration:** ...

### Version B - Emotional/Aspirational
[same structure]

### Implementation notes
- Set up both ads in the same ad group with rotation set to "Optimize"
- Don't change the ads during the test period
- Compare CTR, conv. rate, and CPA at the end of the test window
```

If the user requests a "deliverable" or "spreadsheet I can give my team," generate an Excel workbook (xlsx skill) with separate tabs for each variation.

## What this skill must NOT do

- Don't exceed character limits. 30 chars/headline, 90 chars/description. Count exactly. If a headline is 31 chars, rewrite it.
- Don't generate generic copy. "Best [Product]" is a placeholder, not a headline. Every headline should include something specific to the user's offering.
- Don't pin every headline. Over-pinning kills RSA performance.
- Don't include emojis unless the user is in a B2C-friendly vertical and explicitly OK with them.
- Don't promise "this will increase your CTR by X%" - copywriting outcomes are unpredictable.
- Don't write ads that promise things the user didn't say they offer. "Free shipping" isn't a freebie unless they said they offer it.
- Don't include competitor brand names in copy (trademark risk).

## Reference files

- `references/copy-frameworks.md` - PAS, AIDA, social proof, and the RSA category breakdown
- `references/character-count-rules.md` - exact rules for what counts as a character + style notes

