05 ad copy global
Skill minhnv0807/ai-business-skills/skills/en/05-ad-copy-global
63 bilingual AI marketing skills (31 VN + 31 Global) for Claude Code, OpenCode, Codex, VS Code. Marketing strategy, content production, performance analytics, personal brand, AI avatar, dropshipping mastery, design master (8 design types). 4 regions (US/EU/SEA/LATAM) + Vietnam 2025-2026. Anthropic-pattern aligned. Companion: opa-kit.
npx -y skills add minhnv0807/ai-business-skills --skill 05-ad-copy-globalAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
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'.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
15.7 KB, as published. Nobody here has run it
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