Provides strategic and operational guidance for paid advertising campaigns across platforms like Google, Meta, and LinkedIn, covering budgeting, audience targeting, bidding, and performance optimization. It analyzes campaign data to make decisions on scaling, pausing, or adjusting ads based on specific KPIs like ROAS and CPA.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when the user asks for help setting up, optimizing, or scaling paid advertising campaigns on major platforms. It is appropriate for questions regarding budget allocation, bidding strategies, audience segmentation, and interpreting performance metrics like CPA or ROAS. It also handles specific operational decisions such as whether to kill an underperforming ad or how to structure a new campaign.
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.
Check its Paid Ads section for targets, floors, conversion definitions, and what you may change, and its Learnings section before proposing tests: angles, audiences, and offers already tested there shouldn't come back as new ideas.
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 |
|---|---|---|
| "Can I afford this channel?", payback math, budgeting per plan, whether LTV:CAC lies | payback-period.md | Why LTV:CAC is useless (4 flaws), Gross-margin payback and cohort recovery (3–12mo planning target), $9-vs-$999 worked examples, OOH+social, narrative momentum |
| 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, partnership/creator ads, declining reach | meta-decision-system.md | TCPL-anchored decision tree, ad-count ceiling, 80/20 CBO structure, fatigue bands, lead forms, Advantage+ transition, partnership-ads playbook, rolling-reach signal |
| 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 |
| Weekly or daily account check, "what changed," stakeholder readout | operating-check.md | Ordered six-step check, HOLD/FIX/TEST/INVESTIGATE calls, facts/hypotheses/missing data, Friday readout under 200 words |
| Auditing a live account, grading account health, quoting benchmarks, recommending changes | audit-guardrails.md | Pass/fail/unknown scoring, evidence coverage, recommendation safety, hard stops, benchmark discipline |
| Analyzing or reporting on Google Ads data, search-term waste, pause/keep/scale on low volume, client-facing findings | reading-google-ads-data.md | Withheld search terms (disclosed vs total clicks), conversions vs all_conversions, click-date attribution, experiment arms, 30-day change history, zero-in-N table, break-even CVR, verified/inferred/stale, "conclusions that sound right" |
| Itemized Google Ads / ecommerce account audit (Search + Shopping + PMax + GMC + Demand Gen) | google-ads-audit-checklist.md | 32 checks across 11 categories — feed/GMC quality, Shopping segmentation, PMax signals/budget, DG format splits, lander funnels; each scored pass/fail/unknown/NA via audit-guardrails; deep dives for conversion signals and wasted-spend negatives |
| Agentic creative/competitive research: ad-library teardown, review→persona mapping, organic competitor teardown | creative-research-automation.md | Ad Library output schema (format split, % partnership, inferred personas, top-10 by impressions), reviews→CSV→personas doc→deck, "who creatives target vs. who buys," connectors + scheduled-to-Slack workflow |
| Audience setup, tracking setup, launch checklists, copy formulas | audience-targeting.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): - 70% to proven/safe campaigns - 30% to testing new audiences/creative
Scaling phase: - Consolidate budget into winning combinations - Increase budgets ~20% at a time — never 30%+ in one move (resets platform learning) - Wait 3-5 days between increases for algorithm learning
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's Andromeda algorithm (2025) made creative volume and variety the main lever: target broadly and let specific creative do the targeting, ship many cheap static concepts, and make ads look native rather than polished. The full playbook (creative volume, creative as targeting, identity keywords, AI variants, zombie campaigns, native-looking ads, and running creator ads as distinct concepts with a quality optimization event) is in references/meta-andromeda-playbook.md.
Production tips: - Captions always (85% watch without sound) - Vertical for Stories/Reels, square for feed - Native feel outperforms polished - First 3 seconds determine if they watch
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: 1. Check landing page (is the problem post-click?) 2. Tighten audience targeting 3. Test new creative angles 4. Improve ad relevance/quality score 5. Adjust bid strategy
If CTR is low: - Creative isn't resonating → test new hooks/angles - Audience mismatch → refine targeting - Ad fatigue → refresh creative
If CPM is high: - Audience too narrow → expand targeting - High competition → try different placements - Low relevance score → improve creative fit
| 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: - Visitor clicked on protein powder, didn't buy → retarget with creatine (totally different category) - Visitor downloaded a lead magnet, didn't book a call → retarget with a different lead magnet on a related topic - Visitor viewed pricing, didn't sign up → retarget with a free audit or assessment instead
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.
Ad headlines can help identify promising language for a landing page. More impressions do not automatically produce a reliable landing-page conversion estimate: repeated impressions are not independent users, clicks are a different outcome from purchases, and optimized ad delivery can expose variants to different audiences.
The play:
Use Meta to screen headlines fast, then prove the winner on the page:
ab-testing).Message continuity is a useful hypothesis, but an ad result does not establish the effect of changing the page. Confirm it with new visitors rather than reusing the screening result as proof.
References: Meta's About A/B Testing explains randomized, comparable exposure for ad tests. For page-test design and stopping rules, see the ab-testing skill.
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.
Check in a fixed order, because a cause higher up explains symptoms lower down: spend → traffic → conversions → creative → landing page → tracking. Split brand from non-brand (see below) and check change history against every movement.
End every check in exactly one call: - HOLD: change nothing; normal variance, small sample, learning phase, or lag - FIX: a named problem with a known fix - TEST: a hypothesis worth money, with a metric and a stopping rule - INVESTIGATE: the data can't be trusted yet (this overrides the other three)
Close the week with a stakeholder readout under 200 words: results vs target (green/amber/red), top movers with cause and confidence, and next week's calls. Full check, inputs, and readout format: operating-check.md.
Wherever people can search your name — Google Ads especially, but any channel with branded demand — split brand from non-brand before you evaluate or optimize anything. A branded query is demand that already exists; someone typing your name is harvesting it, not incremental performance the campaign created. So a cheap brand CPA / high brand ROAS is a readout of your existing awareness, not of media efficiency.
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: - ROAS dropping from 10 → 5 sounds bad - But if spend goes from $10k → $100k, you net dramatically more total profit - Judge scaling headroom on blended ROAS at the business level, not per-ad-set ROAS — but optimize against non-brand ROAS (see Brand vs. non-brand above), so cheap brand traffic doesn't flatter the math - Even better: optimize net free cash flow, not ROAS at all
Find your break-even ROAS: 1. Calculate the absolute maximum you can pay to acquire a customer and still be profitable (factoring LTV) 2. That's your break-even ROAS / CPA ceiling 3. Scale until you approach that ceiling, not until your ad-account ROAS drops below an arbitrary preference
The 3-hour founder review: - Block out 3 hours per month in the calendar to physically review the numbers yourself - Not what your data analyst says. Not what your media buyer says. You, going through the actual data - The confidence this generates is irreplaceable — and confidence is what lets you scale with conviction - "Data gives you confidence. Confidence gives you speed."
Outbound-call your leads who didn't convert: - Every lead that downloaded a lead magnet or hit your funnel but didn't buy gets a call - Ask why they didn't book, what was confusing, what the actual blocker was - These verbatim answers become objection-handling ads (see Retargeting section) - Massive insight-to-creative loop that most advertisers skip
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 the conversion-tracking skill.
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.
Before auditing a live account, grading account health, quoting benchmarks, or recommending changes to running campaigns, load audit-guardrails.md. The non-negotiables:
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 | ✓ (official, start read-only) | meta-ads.md |
| LinkedIn Ads | B2B, job title targeting | - | linkedin-ads.md |
| TikTok Ads | Younger demographics, video | - | tiktok-ads.md |
For tracking setup, see the conversion-tracking skill; tool guides: ga4.md, segment.md
LICENSESKILL.mdevals/evals.jsonreferences/abm-playbook.mdreferences/ad-copy-templates.mdreferences/audience-targeting.mdreferences/audit-guardrails.mdreferences/b2b-paid-playbook.mdreferences/creative-research-automation.mdreferences/google-ads-audit-checklist.mdreferences/google-search-playbook.mdreferences/linkedin-b2b-playbook.mdreferences/meta-andromeda-playbook.mdreferences/meta-decision-system.mdreferences/operating-check.mdreferences/payback-period.mdreferences/platform-setup-checklists.mdreferences/reading-google-ads-data.mdreferences/rsa-output-spec.mdVendored from coreyhaines31/marketingskills, commit e85f3cbc2e4a, path skills/ads, licence MIT. The upstream licence file ships inside the skill.