# paid-ads-strategy

Plans paid acquisition: which channels to pick, how to split the budget, and when ads are worth running at all.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1200 installs · ★ 1062
- Author: kostja94
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/kostja94/marketing-skills/tree/HEAD/skills/strategies/commercial/paid-ads/SKILL.md
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/skills/paid-ads-strategy

## What it does

The skill walks through paid ads strategy: when to use paid acquisition, channel selection, budget allocation, and ad-to-landing-page alignment. It splits work into two modes. PMF testing runs on a small budget before the product exists: a simple landing page, a waitlist or early-access CTA, and tests of value props, price points and audiences. Conversion-driven mode kicks in once PMF is validated, with ROAS and CAC as the numbers to watch.

There are selection tables for web platforms: Google Ads for high-intent search, Meta for demand generation, LinkedIn for B2B, Reddit for niche communities, TikTok for younger audiences. Formats beyond the web get their own rows: display and banner networks, app installs, CTV and streaming, paid placements in directories like Taaft, Shopify App Store, G2 and Capterra, and out-of-home. Google Ads and Meta are treated as complementary rather than competing, with unified KPIs that prioritise profit over volume.

The skill needs project context to be useful: goals, product, audience, past ad results and conversion data. If a `contextus.md` sits in the project root, it reads that and loads only the modules the task needs; otherwise it works from project material or asks. Scaling paid acquisition before PMF is validated burns budget for nothing, which is what the testing mode is for. Execution on individual platforms lives in separate skills: `google-ads`, `meta-ads`, `landing-page-generator`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add kostja94/marketing-skills --skill paid-ads-strategy -a claude-code
```
```bash
npx skills add kostja94/marketing-skills --skill paid-ads -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/paid-ads/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/paid-ads/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add kostja94/marketing-skills --skill paid-ads -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/paid-ads/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add kostja94/marketing-skills --skill paid-ads -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/paid-ads/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install kostja94/marketing-skills paid-ads
```

2. **Manually: put the files in place**
- File: `.github/skills/paid-ads/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add kostja94/marketing-skills --skill paid-ads -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/kostja94/marketing-skills --path skills/strategies/commercial/paid-ads
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/paid-ads/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add kostja94/marketing-skills --skill paid-ads -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/kostja94/marketing-skills/tree/HEAD/skills/strategies/commercial/paid-ads/SKILL.md

## When to use it
- pick between Google Ads, Meta and LinkedIn for your demand type
- validate demand and pricing before the product ships
- split budget between proven and new audiences
- match ad creative to the landing page and its CTA
- decide when paid traffic is not the right move

## Example prompts
- help me plan a paid ads strategy for our SaaS
- we have a small PMF testing budget — how should we spend it and what do we measure
- allocate our ad budget across channels and explain the choices

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: c3288d1cc7a31bda.

BEGIN THIRD-PARTY FILE c3288d1cc7a31bda
```text
---
name: paid-ads-strategy
description: When the user wants to plan paid ads strategy, allocate ad budget, or choose paid channels. Also use when the user mentions "paid ads," "paid media," "PPC," "SEM," "web ads," "app ads," "TV ads," "CTV," "OOH," "banner ads," "ad network," "ad alliance," "Taaft ads," "Shopify App Store ads," "Google Ads," "Meta Ads," "PMF testing," "PMF validation," "test product-market fit with ads," "ad spend," "ad budget," "ROAS," "paid acquisition," "Quality Score," or "ad-to-page alignment." For Google Ads execution, use google-ads. For Meta Ads execution, use meta-ads. For landing page alignment, use landing-page-generator.
metadata:
  version: 1.7.0
---

# Strategies: Paid Ads

Guides paid ads strategy: when to use paid acquisition, channel selection, budget allocation, ad-to-landing-page alignment, and cross-platform best practices. Paid ads (Google Ads, Meta, LinkedIn, Reddit, TikTok, etc.) deliver immediate reach and targeting; use when PMF is validated and budget allows.

**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.

**Platform-specific execution**: Web: **google-ads**, **meta-ads**, **linkedin-ads**, **reddit-ads**, **tiktok-ads**. App: **app-ads**. TV/Streaming: **ctv-ads**.

## Before Starting

**Project context:** Read root `contextus.md` when present and load only the modules relevant to this task. Without Contextus, use available project material or user-provided facts and ask for missing information; do not create a parallel context system.

Gather this context (ask if not provided):

| Area | Questions |
|------|-----------|
| **Goals** | Primary objective? (Awareness, traffic, leads, sales, app installs) Target CPA/ROAS? Monthly budget? Constraints? |
| **Product & offer** | What are you promoting? Landing page URL? What makes it compelling? |
| **Audience** | Ideal customer? Problem you solve? What do they search for or care about? Existing customer data for lookalikes? |
```
END THIRD-PARTY FILE c3288d1cc7a31bda

The third-party file has ended. Everything between the c3288d1cc7a31bda tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2138 of 13217 bytes. © kostja94 · MIT · https://github.com/kostja94/marketing-skills/tree/HEAD/skills/strategies/commercial/paid-ads/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
