Generates 10+ ad copy variations for any major ad platform with A/B testing, character-count compliance, and four proven copy frameworks (PAS, AIDA, BAB, 4Ps)
Generate 10+ production-ready ad copy variations for a specified advertising platform. Every ad is written to exact platform specifications (character limits, format requirements, best practices), includes A/B variations, and uses proven direct-response copy frameworks. Output is copy-paste ready — an ad buyer can drop these directly into the ad platform without editing.
/ads copy <platform>/ads strategy (the main orchestrator)| Format | Headlines | Descriptions | Other |
|---|---|---|---|
| Responsive Search Ad (RSA) | Up to 15 headlines (30 chars each) | Up to 4 descriptions (90 chars each) | Display URL paths (15 chars each) |
| Display Ad | 1-5 headlines (30 chars), 1 long headline (90 chars) | 1-5 descriptions (90 chars) | Business name (25 chars) |
| Performance Max | 5 headlines (30 chars), 5 long headlines (90 chars) | 5 descriptions (90 chars) | Call-to-action text |
| Format | Primary Text | Headline | Description | Other |
|---|---|---|---|---|
| Facebook Feed | 125 chars (visible), 500+ allowed | 40 chars | 30 chars | CTA button |
| Instagram Feed | 125 chars (visible), 2200 max | 40 chars | N/A | CTA button |
| Stories/Reels | Minimal text overlay | Short overlay text | N/A | Swipe-up CTA |
| Format | Intro Text | Headline | Description | Other |
|---|---|---|---|---|
| Sponsored Content | 150 chars (truncated), 600 max | 70 chars | 100 chars (optional) | CTA button |
| Message Ads | 500 chars subject, 1500 body | N/A | N/A | CTA button + banner |
| Text Ads | N/A | 25 chars | 75 chars | 50x50 image |
| Format | Ad Text | Display Name | Other |
|---|---|---|---|
| In-Feed | 100 chars | 40 chars | CTA button, hashtags |
| TopView | 100 chars | 40 chars | First ad users see |
| Spark Ads | Use original post caption | Original creator | Boost existing content |
| Format | Script Length | On-Screen Text | Other |
|---|---|---|---|
| Bumper Ad (6s) | ~15-20 words | 1-2 text overlays | Non-skippable |
| Pre-roll (15s) | ~35-45 words | 2-3 text overlays | Skippable after 5s |
| Non-skip (30s) | ~70-90 words | 3-5 text overlays | Non-skippable |
| Format | Title | Description | Other |
|---|---|---|---|
| Standard Pin | 100 chars | 500 chars | Link URL |
| Video Pin | 100 chars | 500 chars | Link URL |
| Carousel | 100 chars per card | 500 chars | 2-5 cards |
If a URL is provided, fetch it using WebFetch and extract:
If audience data exists from a prior /ads audience run, reference the top personas.
Run supplementary research:
WebSearch: "[Business Name]" ads OR advertising
WebSearch: "[Industry]" best performing ad copy examples
WebSearch: "[Industry]" [platform] ad examples
Before writing any ad, establish these foundational elements:
## Copy Foundation
**Business:** [Name]
**Industry:** [Category]
**Platform:** [Selected platform]
**Primary Offer:** [What they're selling/promoting]
**USP:** [What makes them different — the #1 differentiator]
**Target Persona:** [Primary persona from audience research]
**Desired Action:** [What do we want the viewer to DO]
**Tone:** [Professional / Casual / Bold / Playful / Urgent / Authoritative]
**Proof Points:** [Stats, testimonials, awards, client count, results]
**Price/Offer:** [Pricing, discount, free trial, free consultation]
For each ad, apply one of the four frameworks:
Generate at least 10 ad variations with A/B pairs for each. Use this structure:
### Ad [Number] — [Framework Used] | Angle: [Pain/Benefit/Social Proof/Urgency]
**Version A:**
| Element | Copy | Chars |
|---|---|---|
| Headline 1 | [headline text] | [count]/30 |
| Headline 2 | [headline text] | [count]/30 |
| Headline 3 | [headline text] | [count]/30 |
| Description 1 | [description text] | [count]/90 |
| Description 2 | [description text] | [count]/90 |
| Display Path 1 | [path text] | [count]/15 |
| Display Path 2 | [path text] | [count]/15 |
| CTA | [call to action] | — |
**Version B (A/B Variation):**
| Element | Copy | Chars |
|---|---|---|
| Headline 1 | [alternate headline] | [count]/30 |
| Headline 2 | [alternate headline] | [count]/30 |
| Headline 3 | [alternate headline] | [count]/30 |
| Description 1 | [alternate description] | [count]/90 |
| Description 2 | [alternate description] | [count]/90 |
| Display Path 1 | [path text] | [count]/15 |
| Display Path 2 | [path text] | [count]/15 |
| CTA | [call to action] | — |
**Why this works:** [2-3 sentences explaining the psychology and angle]
**Best for:** [which audience persona / funnel stage]
**Testing note:** [what's being tested between A and B]
### Ad [Number] — [Framework Used] | Angle: [Pain/Benefit/Social Proof/Urgency]
**Version A:**
| Element | Copy | Chars |
|---|---|---|
| Primary Text | [full ad copy — can be multi-line, include emojis where appropriate] | [count] |
| Headline | [headline text] | [count]/40 |
| Description | [description text] | [count]/30 |
| CTA Button | [Shop Now / Learn More / Sign Up / Get Offer / Book Now / Contact Us] | — |
**Version B (A/B Variation):**
| Element | Copy | Chars |
|---|---|---|
| Primary Text | [alternate copy] | [count] |
| Headline | [alternate headline] | [count]/40 |
| Description | [alternate description] | [count]/30 |
| CTA Button | [alternate CTA] | — |
**Why this works:** [explanation]
**Best for:** [persona / funnel stage]
**Testing note:** [what's being tested]
Ensure the 10+ ads are distributed across frameworks and angles:
| # | Framework | Angle | Funnel Stage |
|---|---|---|---|
| Ad 1-2 | PAS | Pain/Problem | TOFU (awareness) |
| Ad 3-4 | AIDA | Benefit/Transformation | TOFU (awareness) |
| Ad 5-6 | BAB | Before/After | MOFU (consideration) |
| Ad 7-8 | 4Ps | Social Proof/Authority | MOFU (consideration) |
| Ad 9-10 | PAS | Urgency/Scarcity | BOFU (conversion) |
| Ad 11-12 | AIDA | Objection Handling | BOFU (conversion) |
Include a best practices section at the end of the output:
Google Ads:
Meta (Facebook/Instagram):
LinkedIn:
TikTok:
YouTube:
Pinterest:
Include a supplementary headline bank organized by angle:
## Headline Bank (Quick-Reference)
### Benefit-Driven Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
4. [headline] ([char count])
5. [headline] ([char count])
### Pain-Point Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
4. [headline] ([char count])
5. [headline] ([char count])
### Social Proof Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
### Urgency/Scarcity Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
### Question Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
Save the complete output to ADS-COPY-[PLATFORM].md in the current working directory.
Replace [PLATFORM] with the actual platform name in caps: GOOGLE, META, LINKEDIN, TIKTOK, YOUTUBE, PINTEREST.
File structure:
# Ad Copy — [Platform]: [Business Name]
> Generated [date] | Source: [URL]
> Platform: [Platform] | Formats: [list of ad formats covered]
> Framework Mix: PAS, AIDA, BAB, 4Ps
## Copy Foundation
[copy inputs section]
## Ad Variations
### Ad 1 — [Framework] | [Angle]
[full ad with A/B variation]
### Ad 2 — [Framework] | [Angle]
[full ad with A/B variation]
[...continue for all 10+ ads]
## Headline Bank
[organized headline collection]
## Platform Best Practices
[platform-specific tips]
## Next Steps
1. Upload ads to [Platform] Ads Manager
2. Set up A/B tests: start with Ad [X]a vs Ad [X]b
3. Run `/ads hooks` to generate additional scroll-stopping openers
4. Run `/ads video <product>` if video ads are needed
5. Monitor CTR for first 72 hours, pause underperformers at [threshold]
Before delivering the output, verify:
Every piece of ad copy must follow these rules: