paid-ads

A Claude Code skill that plans paid advertising — Google, Meta, LinkedIn, TikTok, X — covering campaign structure, audience targeting, bidding, budget allocation, and optimization.

Plan paid campaigns that don't burn budget

Source Corey Haines
License MIT
First documented

Trigger phrases

Phrases that activate this skill when typed to Claude Code:

  • PPC
  • paid media
  • ROAS
  • ad campaign
  • should I run ads

What it does

paid-ads is a Claude Code skill from Corey Haines’s marketing-skills repo. It turns Claude into a performance marketer who handles campaign strategy, audience targeting, bidding, budget allocation, and the per-platform quirks that quietly burn cash. The skill activates when you mention “PPC”, “paid media”, “ROAS”, “ad campaign”, or “should I run ads”.

The output of a session is a campaign plan: platform recommendation with rationale, account structure (campaigns / ad groups), audience definitions, bid strategy, daily budget allocation, and the kill criteria — when to pause, when to scale, what ROAS or CPA threshold disqualifies a campaign.

When to use it

Reach for it when:

  • You’re spinning up paid for the first time and don’t want a $5K education in account structure
  • An existing campaign is bleeding money and you need a structured optimization pass
  • You’re choosing between Google, Meta, and LinkedIn and need a decision, not “all three”

When not to reach for it:

  • You don’t have product-market fit yet — paid acquisition without retention is incinerator
  • You need ad copy specifically — that’s ad-creative, this is strategy

Install

The skill is distributed via Corey Haines’s marketing-skills repo. Install via the repo’s recommended path — copy the paid-ads SKILL.md into your project’s .claude/skills/paid-ads/ directory, or use the repo’s plugin install if you’ve set it up.

Once installed, the skill activates on the trigger phrases above. The first time it runs, it will check for .agents/product-marketing-context.md (or .claude/product-marketing-context.md) — populating that file with your product context first dramatically improves output quality across all of Haines’s marketing skills.

What a session looks like

A typical session has three phases:

  1. Platform + budget fit. Which platform’s intent model matches your buyer (Google search for high-intent, Meta for discovery, LinkedIn for B2B targeting), and what minimum budget makes the platform statistically meaningful.
  2. Account structure. Campaign and ad-group taxonomy, audience definitions, exclusions, conversion tracking setup, bid strategy (manual / Maximize / tROAS / tCPA).
  3. Optimization rhythm. Weekly review checklist, kill criteria, scaling rules, the “underperforming creative” definition with a real impression threshold.

The discipline that makes it work: kill criteria before launch. Most paid spend is wasted because nobody wrote down “this is the number that means we stop”.

Receipts

Honest reporting on what paid-ads produces and where it has limits:

Where it works well:

  • Forces budget reality — the skill won’t pretend $300/month on Meta will produce signal
  • Account structure recommendations prevent the messy-account problem that calcifies into permanent waste
  • Kill criteria up front saves the “let’s give it another month” trap

Where it backfires:

  • Without account access it can’t see the actual data; the plan is hypothesis-based until you run it
  • Platform UIs and bid strategies shift fast; tactical recommendations need verification against current docs

Pattern that works: start with one platform that matches your funnel, not three. Multi-platform scaling is a phase-two move, not a launch strategy.

Source and attribution

Originally written by Corey Haines. The canonical SKILL.md and any supporting files live in the paid-ads folder of his marketing-skills repository.

License: MIT. You can install, adapt, and redistribute the skill, with attribution preserved.

This page documents the skill from a practitioner’s perspective. For the formal spec and any updates, defer to the source repo.