name: 05-ad-copy-global description: "6 ad copy variations (2 TOFU + 2 MOFU + 2 BOFU) for global markets. Frameworks: AIDA, PAS, BAB. Platforms: Meta, Google, TikTok. INCLUDES Dropshipping Mode (4 templates) for Shopify dropshippers. Trigger: 'ad copy', 'Facebook ads', 'TikTok ads', 'Google Ads copy', 'dropshipping ads', 'Shopify ads'." metadata: version: 1.0.0 category: content license: MIT triggers: - "ad copy" - "Facebook ads" - "TikTok ads" - "Google Ads copy" - "dropshipping ads" - "Shopify ads" related: - product-marketing-context-global - 04-script-video-global - 02-campaign-brief-global - 17-pricing-strategy-global - 29-dropshipping-mastery-global - references/hook-formulas-global
Ad Copy (Global)
Step 0: Check context file
Before writing ad copy, read context file (if exists):
.agents/product-marketing-context.md(product marketing).agents/personal-brand-context.md(personal brand)
Decide mode:
- Only
product-marketing-context.mdexists -> MODE A (default — 6 TOFU/MOFU/BOFU variations) - Only
personal-brand-context.mdexists -> MODE B (Personal Brand Mode) - Both exist -> ASK 1 question: "Are you running ads to sell a product or boost personal brand?"
- Neither exists -> Suggest creating appropriate context
Information gathering
Ask up to 4 questions before writing:
- What product / service? Short description, main USP, price, current promotion (if any).
- Which ad platform? Meta Ads (Facebook/Instagram), TikTok Ads, Google Ads. If not specified — default to Meta Ads.
- Target audience? Gender, age range, main pain point, decision maker. Cold (unaware) or Warm (engaged)?
- Ad objective? Messages (DM), Lead form, Traffic, Conversions. If not specified — default to Messages.
Core principles
125-character rule
On Meta Ads, only the first 125 characters show before "See more" button. Line 1 of primary text must:
- Spark curiosity OR hit pain point
- Include USP or specific number
- Be self-contained (don't cut mid-sentence)
GOOD: "Tired of acne for 3+ years? A 28-day routine — guaranteed clear skin or refund." (76 chars)
BAD: "Hello there, thank you for your interest in our services. Today I want to share..." (cut mid-sentence)
Emotional trigger library
| # | Trigger | Description | Example |
|---|---|---|---|
| 1 | Pain | Hit current problem — create empathy | "Tired of breakouts? You're not alone..." |
| 2 | Aspiration | Paint a better future image | "Imagine clear, confident skin without filters" |
| 3 | FOMO | Fear of missing out, scarcity | "Only 12 slots left this month — 89 people booked" |
| 4 | Social Proof | Others did and succeeded | "1,200 customers tried — 4.8/5 stars" |
| 5 | Authority | Experts, certifications, experience | "10 years experience — board-certified dermatologist consults directly" |
| 6 | Curiosity | Spark questions, want to know more | "There's 1 thing 90% of skincare users get wrong — do you know?" |
Trigger rules by funnel:
- TOFU: Curiosity (6), Pain (1), Aspiration (2)
- MOFU: Social Proof (4), Authority (5), Pain (1)
- BOFU: FOMO (3), Social Proof (4), Pain (1)
6 Professional Copy Frameworks
Choose framework by audience temperature
| Temperature | Priority frameworks | Why |
|---|---|---|
| Cold (unaware) | AIDA, Star·Story·Solution | Logic from scratch; storytelling without ad-feel |
| Warm (engaged, no purchase) | PAS, 4P | Re-trigger pain; build trust with proof |
| Hot (high intent, near purchase) | FAB, BAB | Hammer specific benefits; visual transformation |
| Retarget (viewed, no purchase) | PAS or BAB | Reinforce consequences or transformation |
Framework summary
| Framework | Structure | When to use | Best platforms |
|---|---|---|---|
| AIDA | Attention -> Interest -> Desire -> Action | Cold audience, new product launch | Meta feed, TikTok, YouTube pre-roll |
| PAS | Problem -> Agitate -> Solution | Warm audience, clear pain (spa, health, edu) | Meta feed, LinkedIn, Google RSA |
| BAB | Before -> After -> Bridge | Transformation offer (spa, fitness, edu) | Meta Reels/Stories, TikTok |
| 4P | Promise -> Picture -> Proof -> Push | High-ticket, requires trust (real estate, courses, B2B) | LinkedIn, Google, long Meta feed |
| FAB | Features -> Advantages -> Benefits | High-intent, comparison stage | Google RSA, Meta retarget |
| Star·Story·Solution | Star -> Story -> Solution | Brand storytelling, UGC-style, no ad-feel | TikTok, Reels, YouTube Shorts |
Common mistake: Writing freeform (intro -> features -> CTA) instead of using a framework. Result: bland copy, low CTR. Each of the 6 variations should use a different framework.
Andromeda Warning — Don't clone ads
Meta 2026: Andromeda system clusters ads with Creative Similarity Score > 60% — auto-reduces delivery. 100 minor variations (color swap, clip cut, font change) is NOT better than 10 truly distinct creatives.
Safety thresholds:
| Similarity Score | Status | Action |
|---|---|---|
| < 40% | Safe | Continue |
| 40-60% | Warning | Re-check — may cluster |
| > 60% | Danger | Andromeda clusters -> auto delivery cut |
5 dimensions of diversity:
- Different hooks — Pain vs Curiosity vs Aspiration (not just text swap, change angle)
- Different formats — Vertical 9:16 vs Square 1:1 vs Carousel
- Different characters — Founder vs Customer review vs KOC/expert
- Different audio — Trending music vs Inspirational vs Voiceover
- Different settings — Studio vs Outdoor vs UGC living room
6 ad hook types — Line 1 decides everything
First 125 chars = ad hook. Each variation should use a different hook type:
| # | Hook type | Formula | Example |
|---|---|---|---|
| 1 | Number | Specific, surprising stat | "1,247 customers tried — 98% returned for round 2" |
| 2 | Counterintuitive | Flip common belief | "Running MORE ads won't get you more customers" |
| 3 | Before/After | Specific transformation | "From 5 orders/week to 40 orders/week — in 60 days" |
| 4 | Borrowed authority | Name expert/cert/brand | "Top dermatologist with 15 years experience recommends — surprising reason" |
| 5 | Confession | Share real mistake/lesson | "I burned $200K on bad ads — here's what I do now" |
| 6 | Urgency | Time/quantity limit | "8 slots left this June — 34 people waiting" |
Hook selection by funnel:
- TOFU (cold): Hook 1 (number), 2 (counterintuitive) — grab attention
- MOFU (warm): Hook 3 (before/after), 4 (authority) — build trust
- BOFU (hot): Hook 5 (confession), 6 (urgency) — drive action
Hook check:
- Line 1 <= 125 chars and self-contained
- Includes specific number or detail (not generic)
- Sparks curiosity or emotional hit — reader WANTS to click "See more"
- 6 variations use 6 DIFFERENT hook types
Copy Scoring — Score before delivery
Score on 5 criteria, 1-10 each. Only deliver if >= 35/50.
| Criterion | 8-10 points | 5-7 points | 1-4 points |
|---|---|---|---|
| Hook strength | Strong curiosity, specific number/detail, funnel-fit | Acceptable but unimpressive | Generic, no anchor |
| Emotional trigger | Clear trigger (Pain/FOMO/Social proof), felt | Has trigger but mild | No trigger, no feeling |
| CTA clarity | Specific, clear action, single step | CTA exists but unclear | Vague ("Learn more", "Click here") |
| Compliance | 0 policy violations | 1 mild warning | Clear violation = rejected |
| Platform fit | Char limit correct, voice matches platform | Close enough | Wrong limit or wrong voice |
| Total | Rating | Action |
|---|---|---|
| 45-50 | Excellent | Ship now, monitor performance |
| 35-44 | Good | Ship with improvement notes |
| 25-34 | Average | Revise before shipping |
| < 25 | Weak | Rewrite from scratch |
Add this line to every output:
Copy Score: [X]/50 — [Rating]
Platform rules
| Rule | Meta Ads | TikTok Ads | Google Ads |
|---|---|---|---|
| Primary text length | 125 char line 1 + 300-500 full | 80-100 char (text overlay) | No primary text |
| Headline | Max 40 char | None | Max 30 char x 3 |
| Description | Max 30 char | None | Max 90 char x 2 |
| Voice | Professional but friendly | Young, natural, conversational | Direct, keyword-driven |
| CTA button | Pick from Meta list | No button — CTA in text | No button — CTA in headline |
| Image / Video | 1:1 (feed), 9:16 (story/reel) | 9:16 mandatory | N/A (search) |
CTA — Priority order
Specific > vague. Clear action > ambiguous.
| Strength | CTA | When to use |
|---|---|---|
| Strongest | "Message us to book a slot" | Messages goal, BOFU |
| Strong | "Book free consultation" | Lead form, MOFU/BOFU |
| Medium | "See pricing details" | Traffic, MOFU |
| Light | "Learn more" | Awareness, TOFU |
Avoid: Generic CTAs without action ("Click here", "Contact now").
Ad policy compliance checklist
| Rule | Detail | Violation = ad rejected |
|---|---|---|
| No absolute claims | Avoid "guaranteed", "100%", "definitely" | Yes |
| No "free" in headline | Meta flags "free" in headline — use in body instead | Yes |
| No excessive "promo" | Once in body — no repeat | Yes |
| No personal attributes | Avoid "Are you fat?", "Do you have acne?" — use "Many people experience..." | Yes |
| Realistic before/after | No heavy retouching of before/after photos | Yes |
| No sensitive imagery | No close-up acne, wounds, body parts | Yes |
| Mandatory disclaimer | Supplements, medical — disclaimer required | Yes |
Output structure
General info
# Ad Copy: [Product/Campaign Name]
Date: [YYYY-MM-DD]
Platform: [Meta Ads / TikTok Ads / Google Ads]
Goal: [Messages / Lead / Traffic / Conversion]
Audience: [Brief description]
Main USP: [1 sentence]
TOFU — Awareness (Cold audience)
Variation 1: [Angle name — e.g., "Hit the pain"]
| Component | Content |
|---|---|
| Trigger | [Pain / Curiosity / Aspiration] |
| Primary text (125 char) | [Line 1 — shown before "See more"] |
| Primary text (full) | [Full content — 300-500 char] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Learn More / Send Message] |
| Creative note | [Image/video brief] |
Variation 2: [Angle name — e.g., "Curiosity"]
(Same structure, different angle and trigger)
MOFU — Persuasion (Warm audience)
Variation 3: [Angle — e.g., "Social Proof"]
| Component | Content |
|---|---|
| Trigger | [Social Proof / Authority] |
| Primary text (125 char) | [Line 1] |
| Primary text (full) | [Full content — emphasize proof, reviews, numbers] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Send Message / Book Now] |
| Creative note | [Use review/before-after creative] |
Variation 4: [Angle — e.g., "Expert"]
(Same structure, different angle)
BOFU — Close (Hot audience + Retarget)
Variation 5: [Angle — e.g., "FOMO"]
| Component | Content |
|---|---|
| Trigger | [FOMO / Social Proof] |
| Primary text (125 char) | [Line 1 — emphasize urgency, scarcity] |
| Primary text (full) | [Full content — deadline, quantity, specific offer] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Book Now / Send Message / Buy Now] |
| Creative note | [Numbers, countdown] |
Variation 6: Retarget — [Angle — e.g., "Reminder"]
For users who messaged but didn't book / viewed but didn't purchase.
| Component | Content |
|---|---|
| Trigger | [Pain + FOMO] |
| Primary text (125 char) | [Reminder — "Last week you asked about..."] |
| Primary text (full) | [Re-trigger pain, add new proof, limited offer] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Send Message / Book Now] |
| Creative note | [Different from first ad — avoid ad fatigue] |
Summary table
| # | Funnel | Angle | Trigger | Hook (125 char) | CTA |
|---|---|---|---|---|---|
| 1 | TOFU | [Angle 1] | [Trigger] | [125 char] | [CTA] |
| 2 | TOFU | [Angle 2] | [Trigger] | [125 char] | [CTA] |
| 3 | MOFU | [Angle 3] | [Trigger] | [125 char] | [CTA] |
| 4 | MOFU | [Angle 4] | [Trigger] | [125 char] | [CTA] |
| 5 | BOFU | [Angle 5] | [Trigger] | [125 char] | [CTA] |
| 6 | BOFU | Retarget | [Trigger] | [125 char] | [CTA] |
A/B test guide
| Test | Variation A | Variation B | Metric | Duration |
|---|---|---|---|---|
| Hook | Variation 1 | Variation 2 | CTR, CPMess | 3-5 days |
| CTA | Variation 3 | Variation 4 | Conversion rate | 3-5 days |
| Offer | Variation 5 | Variation 6 | ROAS, CPA | 5-7 days |
Test rules:
- Test 1 element per test (hook OR CTA OR offer)
- Test budget: minimum $10/day/variation
- Min data: 1,000 impressions or 50 clicks before concluding
- Win/loss: >20% gap = statistically significant
Dropshipping Mode
Activates when user mentions: "dropshipping", "shopify product", "winning product". Different from regular ad copy — focused on impulse purchase, urgency, scarcity.
4 Dropshipping Ad Templates
Template 1: Urgency Hook
- Primary text: "Selling out FAST — only 27 units left in stock! Get yours before midnight..."
- Headline: "Almost Gone"
- CTA: "Shop Now"
Template 2: Scarcity Hook
- Primary text: "We can only restock this every 6 weeks. If you've been thinking about it..."
- Headline: "Limited Restock"
- CTA: "Order Now"
Template 3: Problem-Aware Hook
- Primary text: "Tired of [pain point]? This [product] solves it in 30 seconds. Watch how ->"
- Headline: "Solved In 30 Seconds"
- CTA: "Learn More"
Template 4: Transformation Hook
- Primary text: "Before: [problem image] -> After: [solution image]. Real customer photo, no editing."
- Headline: "Before & After"
- CTA: "See How"
Dropshipping Ad Copy Rules
- Use specific numbers — "27 units" not "limited stock"
- Photo-first creative — text overlays, not text-only ads
- Always have urgency or scarcity — countdown, limited stock, restock date
- Social proof tile — "1,247 ordered today" in primary text
- Free shipping mention — if applicable, primary text line 2
Reference
For full dropshipping pipeline, see skill 29-dropshipping-mastery-global and reference dropshipping-tools-global.md.
Related skills
- 04-script-video-global — Use ad copy as voiceover/text overlay for video ads
- 02-campaign-brief-global — Ad copy is part of overall campaign brief
- 17-pricing-strategy-global — Pricing affects offer in BOFU copy
- 29-dropshipping-mastery-global — Full dropshipping pipeline
Quality checklist
Check before delivery:
- Has 6 variations: 2 TOFU + 2 MOFU + 2 BOFU (1 retarget)
- Line 1 of each variation <= 125 chars
- Headline <= 40 chars
- Each variation uses different emotional trigger
- CTA specific, actionable — not generic
- No policy violations (see compliance checklist)
- No "free" in headline
- No personal attributes ("Are you...?", "You have...?")
- Has creative note (image/video) for each variation
- Voice matches platform (Meta vs TikTok vs Google)
- Has clear A/B test guide
- Retarget creative differs from first ad
- Each variation uses framework matching audience temperature (Cold/Warm/Hot)
- No 2 variations using same framework + same hook -> Andromeda risk
- Creatives truly differentiated — not just color/clip swap