Best for
- Also use when the user mentions 'PPC,' 'paid media,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' 'audience targeting,' 'Google Ads,' 'Facebook ads,' 'LinkedIn ads,' 'ad budget,' 'cost per click,' 'ad spend,' 'should I…
coreyhaines31/marketingskills/skills/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,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' 'audience targeting,' 'Google Ads,' 'Facebook ads,' 'LinkedIn ads,' 'ad budget,' 'cost per click,' 'ad spend,' 'should I run ads,' 'ABM,' 'account-based marketing,' 'B2B ads,' 'lead quality,' 'negative keywords,' 'Performance Max,' 'thought leader ads,' or 'w
Decision brief
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.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/coreyhaines31/marketingskills --skill "skills/ads"Inspect the Agent Skill "ads" from https://github.com/coreyhaines31/marketingskills/blob/7868cb9251fad80a73d26e488a5ad5f6c4a9f335/skills/ads/SKILL.md at commit 7868cb9251fad80a73d26e488a5ad5f6c4a9f335. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Spend vs. budget pacing
Before launching campaigns, ensure proper tracking and account setup.
Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already c…
What's the primary objective? (Awareness, traffic, leads, sales, app installs)
What are you promoting? (Product, free trial, lead magnet, demo)
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 87/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42,015 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
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 .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), 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):
This skill's depth lives in references — load by intent. For any operational decision on a live account (kill/keep/scale/budget), load the relevant playbook before answering; the thresholds live there, not here.
| User intent | Load | Covers |
|---|---|---|
| B2B strategy, funnel stages, budget splits, kill rules, lead quality, breakeven math | b2b-paid-playbook.md | Demand lifecycle, leading/lagging signals, kill rules, offline conversion loop, U/B/F lead scoring, scaling quadrant |
| Meta operations: when to kill/graduate/scale an ad, fatigue, testing structure | meta-decision-system.md | TCPL-anchored decision tree, ad-count ceiling, 80/20 CBO structure, fatigue bands, lead forms, Advantage+ transition |
| LinkedIn operations: bidding, audience sizing, scaling, benchmarks, TLAs, formats | linkedin-b2b-playbook.md | Bidding progression, penetration scaling, sizing rules, funnel benchmarks, document/conversation ads, audit shortlist |
| Google Search: what to spend on first, structure, match types, negatives, PMax | google-search-playbook.md | Intent ladder, account structure, match-type gates, negatives, bidding by volume, offline conversions, PMax guardrails |
| Named-account targeting, pipeline acceleration, cross-channel retargeting | abm-playbook.md | LinkedIn/Meta ABM, list mechanics, acceleration campaigns, UTM cross-channel remarketing, ABM measurement |
| Generating Google RSAs | rsa-output-spec.md | Mandatory output spec — limits, sidecars, template, self-check |
| Audience setup, tracking setup, launch checklists, copy formulas | audience-targeting.md · conversion-tracking.md · platform-setup-checklists.md · ad-copy-templates.md | Existing foundations |
| 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 |
| 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:
META_Conv_Lookalike-Customers_FreeTrial_2024Q1
GOOG_Search_Brand_Demo_Ongoing
LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
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
Knowing your audience deeply is still the highest-leverage work in paid ads — demographics, job titles, pain points, fears, hopes, the exact language they use, who they follow, what they've tried, why they failed, what they buy. Gather every identifier you can.
What's changed in 2026 is where you apply that knowledge. As ad-platform algorithms have gotten dramatically better at finding the right person, jamming all your audience identifiers into the platform's targeting filters underperforms feeding those same identifiers into the creative (headlines, copy, visuals, hooks, examples).
The discipline now: audience knowledge → creative first, targeting filters second. How much that ratio tips toward "creative" varies meaningfully by platform.
| Platform | Audience knowledge → creative | Audience knowledge → targeting filters | Notes |
|---|---|---|---|
| Meta (post-Andromeda) | 80%+ | 20% | Algorithm rewards broad + specific creative. See [[#Modern Meta playbook (Andromeda era — 2026+)]] below for the full reframe. Interest-stacking now actively hurts. |
| Google Search | 40% | 60% | Keywords are still the dominant signal — match-types, search-intent layering, and negative keywords still drive performance. Creative (RSA headlines) matters but is downstream of the keyword. |
| Google Performance Max / Demand Gen | 70% | 30% | Audience signals are advisory, not deterministic. Creative + product feed quality dominate. |
| 40% | 60% | Job-title / company / industry filters still produce real precision because LinkedIn's identity data is high-quality. Creative makes the click; firmographics make the right person see it. | |
| TikTok | 70% | 30% | Algorithm is closer to Meta's model — broad targeting + native-feeling creative wins. Some audience interests help but creative dominates. |
| Twitter/X | 50% | 50% | Interest + follower targeting still meaningful, but creative differentiation is high-leverage given lower competition. |
These ratios are directional, not precise. Test in your actual account.
Once you've gathered audience identifiers, here's how to put each kind into the creative:
Trying to make up for weak creative with hyper-precise targeting. If your creative is generic but you stack 12 interests + 3 demographic filters + a custom audience, what you've built is a small audience that all see a bad ad. Better: gather the same audience identifiers, write 5 creative variants that each speak to a different segment, target broadly, let the algorithm match each creative to the right segment.
For detailed targeting strategies by platform: See references/audience-targeting.md
Meta launched the Andromeda algorithm in 2025, which fundamentally changed Meta ads. The old playbook (interest stacking, polished video creative, single-winner scaling) underperforms. The new playbook:
"I want you to read this ad and be the author. If I show the next ad I'm going to ask you to write to 100 people, not 1 in 100 would be able to tell you it's written by a different person. Now write this for [demographic/niche]."
Production tips:
For hard kill/keep/scale thresholds, use the platform playbooks (see Reference Routing): the kill rules and breakeven CPL/CPC math live in b2b-paid-playbook.md, and Meta's full decision tree lives in meta-decision-system.md.
| 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 |
The conventional retargeting playbook re-shows the same product/offer to people who didn't buy. The Sabri Suby principle: the #1 reason someone didn't buy is the offer wasn't right for them. Re-showing the same thing harder doesn't help.
Instead, retarget with different products, services, or offers from your catalog:
The lift from this is often dramatic — a 2-3 ROAS audience on the original offer can hit 6+ ROAS on a different offer.
Build out your retargeting layer with these 4 ad types running simultaneously:
These four together, retargeting the same audience that didn't convert from the top-of-funnel ad, dramatically lift the ROAS of the entire funnel.
Ad-to-landing-page congruence is the single most underrated lever in paid ads. Most advertisers spend 90% of effort on ads and 10% on the landing page; flip that ratio.
Meta is the best split-testing tool that exists — your ad headlines are exposed to ~1000x the audience that actually clicks through to your landing page. That means you get statistically-significant data on which headlines work much faster on Meta than on your landing page.
The play:
This works because the viewer who clicked is expecting that specific promise. When the landing page restates the exact promise verbatim, scent matches and conversion follows. When the landing page pivots to a different angle, bounce rate spikes regardless of how good the page is.
A standing discipline: at any given moment, you should have at least 3 split tests running somewhere in your funnel — ad creative, landing page, offer, or post-conversion flow. If you don't, you've capped your improvement curve.
The math: 3 simultaneous tests × ~10-20% lift each (compounding) = a fundamentally better funnel within a quarter.
The most common scaling failure: a business at a 40 ROAS spending $5k/month, refusing to scale because "if I spend more, my ROAS will drop." This is the wrong frame.
Net cash flow > ROAS percentage at the business level:
Find your break-even ROAS:
The 3-hour founder review:
Outbound-call your leads who didn't convert:
Before launching campaigns, ensure proper tracking and account setup.
For complete setup checklists by platform: See references/platform-setup-checklists.md
For conversion pixel installation and event setup: See references/conversion-tracking.md
When the user requests Google Ads RSAs, load references/rsa-output-spec.md and follow it exactly — hard character limits, required sidecar artifacts (ad groups, negatives, sitelinks, callouts), output order, template shape, CFM medical compliance, and the pre-send self-check. Do not output any RSA that violates it.
For implementation, see the tools registry. Key advertising platforms:
| Platform | Best For | MCP | Guide |
|---|---|---|---|
| Google Ads | Search intent, high-intent traffic | ✓ | google-ads.md |
| Meta Ads | Demand gen, visual products, B2C | - | meta-ads.md |
| LinkedIn Ads | B2B, job title targeting | - | linkedin-ads.md |
| TikTok Ads | Younger demographics, video | - | tiktok-ads.md |
For tracking setup, see references/conversion-tracking.md, ga4.md, segment.md
Alternatives
coreyhaines31/marketingskills
When the user wants to figure out which marketing actually drives conversions and revenue, choose or interpret an attribution model, or reconcile conflicting numbers across tools. Also use when the user mentions "attribution," "attribution model," "first-touch vs last-touch," "multi-touch," "which channel drives revenue," "what's my real CAC," "my dashboards disagree," "Google/Meta says X but GA says Y," "media mix model," "MMM," "incrementality," "geo lift," "holdout test," "how did you hear ab
MoizIbnYousaf/marketing-cli
Create high-converting free resources that capture emails and build trust. Produces complete lead magnets (ebooks, checklists, templates, toolkits, quizzes) with landing page copy, thank-you page, and follow-up email sequence. Use when someone needs a list-building asset, wants to grow their email list, needs an opt-in incentive, a content upgrade, a gated download, or top-of-funnel content. Triggers on 'lead magnet', 'ebook', 'checklist', 'template', 'free resource', 'opt-in', 'grow my list', '
coreyhaines31/marketingskills
When the user wants to optimize, improve, or increase conversions on any marketing page or form — including homepage, landing pages, pricing pages, feature pages, lead capture forms, or contact forms. Also use when the user says 'CRO,' 'conversion rate optimization,' 'this page isn't converting,' 'improve conversions,' 'why isn't this page working,' 'my landing page sucks,' 'form abandonment,' 'nobody's converting,' 'low conversion rate,' or 'this page needs work.' Use this even if the user just
github/awesome-copilot
Build self-serve acquisition and expansion motions. Use when deciding PLG vs sales-led, optimizing activation, driving freemium conversion, building growth equations, or recognizing when product complexity demands human touch. Includes the parallel test where sales-led won 10x on revenue.