marketing-skill/skills/paid-ads/SKILL.md
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.
npx skillsauth add alirezarezvani/claude-skills paid-adsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an expert performance marketer with direct access to ad platform accounts. Your goal is to help create, optimize, and scale paid advertising campaigns that drive efficient customer acquisition.
Check for product marketing context first:
If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
| Platform | Best For | Use When | |----------|----------|----------| | Google Ads | High-intent search traffic | People actively search for your solution | | Meta | Demand generation, visual products | Creating demand, strong creative assets | | LinkedIn | B2B, decision-makers | Job title/company targeting matters, higher price points | | Twitter/X | Tech audiences, thought leadership | Audience is active on X, timely content | | TikTok | Younger demographics, viral creative | Audience skews 18-34, video capacity |
Account
├── Campaign 1: [Objective] - [Audience/Product]
│ ├── Ad Set 1: [Targeting variation]
│ │ ├── Ad 1: [Creative variation A]
│ │ ├── Ad 2: [Creative variation B]
│ │ └── Ad 3: [Creative variation C]
│ └── Ad Set 2: [Targeting variation]
└── Campaign 2...
[Platform]_[Objective]_[Audience]_[Offer]_[Date]
Examples (use the current year/quarter — {YYYY}/{Qn} are placeholders):
META_Conv_Lookalike-Customers_FreeTrial_{YYYY}Q1
GOOG_Search_Brand_Demo_Ongoing
LI_LeadGen_CMOs-SaaS_Whitepaper_{MonYY}
Testing phase (first 2-4 weeks):
Scaling phase:
Problem-Agitate-Solve (PAS):
[Problem] → [Agitate the pain] → [Introduce solution] → [CTA]
Before-After-Bridge (BAB):
[Current painful state] → [Desired future state] → [Your product as bridge]
Social Proof Lead:
[Impressive stat or testimonial] → [What you do] → [CTA]
For detailed templates and headline formulas: See references/ad-copy-templates.md
| Platform | Key Targeting | Best Signals | |----------|---------------|--------------| | Google | Keywords, search intent | What they're searching | | Meta | Interests, behaviors, lookalikes | Engagement patterns | | LinkedIn | Job titles, companies, industries | Professional identity |
For detailed targeting strategies by platform: See references/audience-targeting.md
Production tips:
| Objective | Primary Metrics | |-----------|-----------------| | Awareness | CPM, Reach, Video view rate | | Consideration | CTR, CPC, Time on site | | Conversion | CPA, ROAS, Conversion rate |
If CPA is too high:
If CTR is low:
If CPM is high:
| Funnel Stage | Audience | Message | Goal | |--------------|----------|---------|------| | Top | Blog readers, video viewers | Educational, social proof | Move to consideration | | Middle | Pricing/feature page visitors | Case studies, demos | Move to decision | | Bottom | Cart abandoners, trial users | Urgency, objection handling | Convert |
| Stage | Window | Frequency Cap | |-------|--------|---------------| | Hot (cart/trial) | 1-7 days | Higher OK | | Warm (key pages) | 7-30 days | 3-5x/week | | Cold (any visit) | 30-90 days | 1-2x/week |
| Tool | Invocation | Output |
|---|---|---|
| ROAS calculator | python3 scripts/roas_calculator.py --spend 5000 --revenue 18000 --conversions 120 --clicks 2400 --margin 0.7 (or --file metrics.json; --json for pipelines) | ROAS, CPA, CPC, CVR, margin-adjusted ROAS + recommendations |
| Ad health scorer | python3 scripts/ad_health_scorer.py --checks checks.json --platform meta (no arg = --demo; --json for pipelines) | Weighted 0-100 account health score with severity-ranked findings; see references/scoring-system.md for the scoring model |
Run both tools on the week's numbers, then review:
roas_calculator.py, margin-adjusted, not platform-reportedad_health_scorer.py; investigate any category that droppedBefore launching campaigns, ensure proper tracking and account setup.
For complete setup checklists by platform: See references/platform-setup-checklists.md
Key advertising platforms:
| Platform | Best For | MCP | |----------|----------|:---:| | Google Ads | Search intent, high-intent traffic | ✓ | | Meta Ads | Demand gen, visual products, B2C | - | | LinkedIn Ads | B2B, job title targeting | - | | TikTok Ads | Younger demographics, video | - |
For tracking and attribution, pair these with GA4 and Segment.
Always confirm conversion tracking is in place before recommending creative or targeting changes — a campaign without proper attribution is guesswork. When recommending budget allocation, state the rationale (testing vs. scaling phase). Deliver ad copy as complete, ready-to-launch sets: headline variants, body copy, and CTA. Proactively flag when a landing page mismatch (ad promise ≠ page promise) is the likely conversion bottleneck. Load marketing-context for ICP and positioning before writing any copy.
page-cro or copywriting skill.| Artifact | Description | |----------|-------------| | Campaign Architecture | Full account structure with campaign names, ad set targeting, naming conventions, and budget allocation | | Ad Copy Set | 3 headline variants, body copy, and CTA for each ad format and platform, ready to launch | | Audience Targeting Brief | Primary audiences, lookalike seeds, retargeting segments, and exclusion lists per platform | | Pre-Launch Checklist | Platform-specific tracking verification, landing page audit, and UTM parameter setup | | Weekly Optimization Report Template | Metrics dashboard structure with CPA/ROAS targets, fatigue signals, and decision triggers |
development
Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says "/cs:weekly-review". Walks David Allen's three-phase loop — GET CLEAR, GET CURRENT, GET CREATIVE — with deterministic scripts that inventory open loops, gate the checklist with named gaps, and score commitment health 0-100.
development
Use when someone wants to decide whether a meeting is worth calling, price a meeting in dollars, build a timeboxed agenda with desired outcomes, or turn messy meeting notes into owned action items — or says "should this be a meeting", "/cs:meeting-prep", or "/cs:meeting-actions". Runs a cost gate (ASYNC / NOT-READY / MEET), builds a decision-first agenda, and extracts an owner + due-date checklist that flags every orphan.
development
Convert a rambling description of a desired outcome into one polished, autonomous /goal prompt ready to paste into a fresh session. Use when the user says "/fable-goal", "turn this into a goal prompt", "write me a fable prompt", "write the prompt that builds X", or rambles about something they want made and asks for the prompt that makes it happen. The output is a single copy-paste prompt, never the build itself. Do NOT use when the user wants the thing built right now in this session — only when they want the PROMPT that will make it happen in a fresh session.
development
Use when someone wants to plan a deep work day, time-block their calendar or task list, budget or cut shallow work, protect focus hours, track deep-work sessions and streaks, run an end-of-day shutdown ritual, or says "/deep-work" or "/time-block". Classifies tasks deep vs shallow, builds an energy-first time-blocked schedule that refuses deep demand past the 4-hour ceiling, batches shallow work into at most two windows, and logs focus sessions against a weekly target.