# Paid Advertising

Plans, runs, and optimizes paid acquisition across search, social, and display, ...

- Repository: https://github.com/cbrock84/headcount (2554 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-18
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add cbrock84/headcount --skill paid-advertising -g -a claude-code -y`
Codex: `npx skills add cbrock84/headcount --skill paid-advertising -g -a codex -y`
Cursor: `npx skills add cbrock84/headcount --skill paid-advertising -g -a cursor -y`
Gemini CLI: `npx skills add cbrock84/headcount --skill paid-advertising -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add cbrock84/headcount`

## Description

Plans, runs, and optimizes paid acquisition across search, social, and display, account structure, targeting, creative, bidding, budget, and the analysis that says whether to scale or stop. Use this to set up or restructure campaigns, write and iterate ad creative, diagnose rising costs or falling performance, decide budget allocation, or judge whether a channel is working.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Paid advertising

Paid is the fastest way to buy a result and the fastest way to buy nothing. The difference is
mostly discipline before launch.

## Before spending

- **Know the ceiling.** Maximum acceptable acquisition cost, derived from margin and payback period,
  not from what feels affordable.
- **Conversion tracking verified end to end**, with a test conversion confirmed in the platform.
  Optimizing against broken tracking teaches the algorithm the wrong thing, and that damage
  persists.
- **The destination is ready.** Paid traffic to a page that does not convert is a donation. Fix the
  page first, it is cheaper.

## Structure

Structure follows intent, since intent determines what a click is worth.

- **Search**, separate by intent tier: brand, high-intent problem terms, category terms, broad
  research. Never one budget across all four; the broad terms will consume it.
- **Social**, structure by audience, since creative fatigue and audience saturation are the two
  variables and you need to see them separately.
- Enough volume per campaign to exit the learning phase. Over-segmentation starves every campaign of
  the data it needs.

## Naming conventions

Decide the convention before the first campaign, because renaming later breaks historical reporting
on every platform.

A workable pattern encodes, in fixed order: channel, objective, audience or intent tier, geography,
and creative theme, separated consistently, with no spaces. It should be possible to filter a
report by any one of those segments without opening a campaign.

Apply it to every level: campaign, ad set, and ad. Inconsistent naming is why cross-channel
reporting takes a week to assemble and why nobody trusts it when it arrives.

## Creative

Creative is the biggest lever on paid social and the most neglected.

The rest: https://github.com/cbrock84/headcount/blob/HEAD/plugins/demand-generation/skills/paid-advertising/SKILL.md
