Ad campaign management

01What is it?
Use when creating, managing, or optimizing paid advertising campaigns across any platform. Covers ad copy generation, ad creative strategy, campaign management, and competitive intelligence. It stands out by giving paid media a defined shape, so the agent asks for better context and returns a more usable result.
02Inputs
Context for paid media: your goals, audience, constraints, and any source material the skill asks for.
03Output
A ready-to-use result for paid media: the analysis, copy, or recommendations the agent produces.
Install-only

Install as a package

Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.

Terminal
$ npx skills add manojbajaj95/claude-gtm-plugin --skill ad-campaign-management

Skill instructions

The instruction file for this skill. The skill also includes other files you need to install to use it.

SKILL.md

Ad Campaign Management

Workspace Context

Read bootstrap context before asking questions: strategy/brand.md for brand, audience, offer, channels, tools, constraints, and metrics; about/me.md for personal voice; content/ideas.md and content/calendar.md for content planning. Use legacy product-marketing context files only as fallback. Save generated drafts to content/<platform>/drafts/YYYY-MM-DD_short-topic-slug.md, and route durable learnings back to strategy/brand.md, about/me.md, or content/ideas.md.

Operating Contract

This skill is self-contained for its frontmatter scope: use its local instructions, references, scripts, and assets as the playbook; ask only for missing task-specific inputs; hand off to adjacent skills instead of expanding scope; and return an actionable artifact, decision, plan, draft, or diagnostic.

End-to-end paid advertising: write ad copy, develop creative strategy, manage campaigns, and analyze competitor ads.

Use the Workspace Context above first; only ask for ad-platform inputs not covered there.


1. Ad Copy Creation

Platform Constraints

PlatformElementLimit
Google Ads (RSA)Headline30 chars × 15
Google Ads (RSA)Description90 chars × 4
Meta (FB/IG)Primary text125 chars visible
Meta (FB/IG)Headline40 chars
LinkedInIntro text150 chars recommended
LinkedInHeadline70 chars recommended
TikTokAd text80 chars recommended
Twitter/XTweet280 chars

For full format specs, see references/platform-specs.md.

Copywriting Frameworks

AIDA — Attention → Interest → Desire → Action PAS — Problem → Agitate → Solution 4Ps — Promise → Picture → Proof → Push Before-After-Bridge — Current pain → Desired state → Your solution

Headlines That Work

  • Specific over vague: "Cut reporting time 75%" not "Save time"
  • Benefits over features: "Ship code faster" not "CI/CD pipeline"
  • Include numbers when possible: "3x faster," "in 5 minutes," "10,000+ teams"
  • Each RSA headline must stand alone — they're combined randomly
  • Include at least: 1 keyword headline, 1 benefit headline, 2–3 CTA headlines

Platform Best Practices

Google: Include keywords; use numbers/stats; power words (Free, Proven, New) Meta: Hook in first 3 words; ask questions; social proof performs well; emojis B2C only LinkedIn: Professional but not boring; lead with value; stats resonate with B2B TikTok: Casual/authentic tone; hook in 1–2 seconds; strong CTA at end

A/B Testing Variables

  • Headlines: Question vs. statement; benefit-led vs. feature-led; with/without numbers
  • Primary text: Short vs. long; problem-focused vs. solution-focused; with/without social proof
  • CTAs: Direct ("Buy Now") vs. soft ("Learn More"); benefit-based vs. action-based
  • Protocol: One variable at a time; min 7 days or 1,000 impressions; 95% significance before declaring winner

Output Format

Organize by angle with character counts:

## Angle: [Pain Point — Manual Reporting]

### Headlines (30 char max)
1. "Stop Building Reports by Hand" (29)
2. "Reports Done in 5 Min" (21)

### Descriptions (90 char max)
1. "Marketing teams save 10+ hours/week. Start free." (49)

Offer CSV format for 10+ variations:

headline_1,headline_2,description_1,platform
"Stop Manual Reporting","Automate in 5 Min","Save 10+ hrs/week. Start free.","google_ads"

2. Creative Strategy

Define Angles First

Before writing copy, establish 3–5 distinct angles (different reasons someone clicks):

CategoryExample
Pain point"Stop wasting time on X"
Outcome"Achieve Y in Z days"
Social proof"Join 10,000+ teams who..."
Curiosity"The secret top companies use"
Comparison"Unlike X, we do Y"
Identity"Built for [specific role]"
Contrarian"Why [common practice] doesn't work"

Generate Variations Per Angle

Vary: word choice, specificity (numbers vs. general), tone (direct/question/command), structure (short punch vs. full benefit).

Iterating from Performance Data

  1. Analyze winners — identify winning themes, structures, word patterns by CTR/CVR/ROAS
  2. Analyze losers — find what falls flat (too generic, wrong tone, too long)
  3. Generate new creative — double down on winning themes, test 1–2 new angles, avoid loser patterns
  4. Document iterations:
## Iteration Log
- Round: [N] | Date: [date]
- Top performers: [list with metrics]
- Winning patterns: [summary]
- New angles tested: [list]
- Angles retired: [list]

Generating Ad Visuals

For image and video creative, use AI tools. See references/generative-tools.md for:

  • Image generation: Flux, Ideogram, Nano Banana Pro (Gemini) for static ad images
  • Video generation: Veo, Kling, Runway, Sora, Seedance, Higgsfield
  • Voice/audio: ElevenLabs, OpenAI TTS for voiceovers
  • Code-based video: Remotion for templated, data-driven video at scale

Recommended workflow: Generate hero creative with AI → build Remotion templates from winners → batch-produce variations at scale.


3. Campaign Management

Key Metrics

TypeMetrics
CostCPM, CPC, CPL, CPA/CAC
PerformanceCTR, CVR, ROAS, LTV:CAC

Campaign Structure

Google Ads: Account → Campaign (budget, geo) → Ad Group (keyword theme) → Keywords + Ads

Meta Ads: Campaign (objective) → Ad Set (audience, placement, budget) → Ads (creative, copy)

Bidding strategies:

  • Target CPA — optimize for conversions at target cost
  • Target ROAS — optimize for conversion value
  • Maximize conversions — spend budget for max conversions
  • Manual — full control, time-intensive

Audience Targeting

Meta:

  • Core: demographics, interests, behaviors, location
  • Custom: website visitors, customer lists, engagement audiences
  • Lookalike: based on high-value customers, 1–10% similarity

LinkedIn:

  • Company: industry, size, name
  • Job: title, function, seniority
  • Professional: skills, groups, interests

Optimization Cadence

Daily: Budget pacing, cost metrics, major anomalies Weekly: CTR/CVR trends, top/bottom performers, search term review (Google) Monthly: Overall ROAS/ROI, audience performance, creative fatigue, strategic adjustments

Quick Optimization Wins

  1. Pause underperforming ads
  2. Increase bids on top performers
  3. Add negative keywords (Google)
  4. Refine audience targeting
  5. Refresh fatigued creative

Budget Allocation

  • Testing phase: 10–20% on new ideas
  • Proven performers: 60–70% of budget
  • Retargeting: 10–20% of budget
  • Scaling: increase budget gradually (max 20%/week) on winning audiences/creative

4. Competitive Intelligence

Use ad libraries (Facebook Ad Library, LinkedIn Ad Library) to extract and analyze competitor ads.

Extraction Process

Extract all current ads from [Competitor] on Facebook Ad Library
Scrape ads from [Company A], [Company B], [Company C] — compare approaches
Get LinkedIn ads from [Competitor] — analyze their B2B positioning

Analysis Output

For each competitor, deliver:

# [Competitor] Ad Analysis

## Overview
- Total ads: [N] active | Primary themes: [breakdown]
- Ad formats: [static/video split] | CTA patterns: [list]

## Key Problems They're Highlighting
1. [Pain point] ([N] ads) — Copy: "..." — Why it works: [reason]

## Successful Creative Patterns
- Pattern 1: [description + frequency]
- Pattern 2: [description + frequency]

## Best Headlines
1. "[headline]" → [why it works]

## Recommendations for Your Ads
1. [Actionable insight based on their patterns]

What to Analyze

  • Messaging: What problems they emphasize, how they position vs. competitors
  • Creative patterns: Visual styles, video vs. static, layout trends
  • Copy formulas: Headline structures, CTA patterns, length and tone
  • Campaign strategy: Seasonal campaigns, retargeting patterns, feature announcements

Competitive Intelligence Workflows

Ad Campaign Planning: Extract competitor ads → identify patterns → note messaging gaps → draft test variations

Positioning Research: Analyze 5 competitors → map their positioning → find underserved angles → develop differentiated messaging

Trend Tracking: Compare competitor ads across quarters to spot messaging evolution

Legal & Ethical

✓ Use for research and inspiration only ✓ Adapt patterns — don't copy ads directly ✓ Respect intellectual property ✗ Don't plagiarize copy or steal designs


5. References


Supporting file: references/platform-specs.md

Platform Specs Reference

Complete character limits, format requirements, and best practices for each ad platform.


Google Ads

Responsive Search Ads (RSAs)

ElementCharacter LimitRequiredNotes
Headline30 chars3 minimum, 15 maxAny 3 may be shown together
Description90 chars2 minimum, 4 maxAny 2 may be shown together
Display path 115 charsOptionalAppears after domain in URL
Display path 215 charsOptionalAppears after path 1
Final URLNo limitRequiredLanding page URL

Combination rules:

  • Google selects up to 3 headlines and 2 descriptions to show
  • Headlines appear separated by " | " or stacked
  • Any headline can appear in any position unless pinned
  • Pinning reduces Google's ability to optimize — use sparingly

Pinning strategy:

  • Pin your brand name to position 1 if brand guidelines require it
  • Pin your strongest CTA to position 2 or 3
  • Leave most headlines unpinned for machine learning

Headline mix recommendation (15 headlines):

  • 3-4 keyword-focused (match search intent)
  • 3-4 benefit-focused (what they get)
  • 2-3 social proof (numbers, awards, customers)
  • 2-3 CTA-focused (action to take)
  • 1-2 differentiators (why you over competitors)
  • 1 brand name headline

Description mix recommendation (4 descriptions):

  • 1 benefit + proof point
  • 1 feature + outcome
  • 1 social proof + CTA
  • 1 urgency/offer + CTA (if applicable)

Performance Max

ElementCharacter LimitNotes
Headline30 chars (5 required)Short headlines for various placements
Long headline90 chars (5 required)Used in display, video, discover
Description90 chars (1 required, 5 max)Accompany various ad formats
Business name25 charsRequired

Display Ads

ElementCharacter Limit
Headline30 chars
Long headline90 chars
Description90 chars
Business name25 chars

Meta Ads (Facebook & Instagram)

Single Image / Video / Carousel

ElementRecommendedMaximumNotes
Primary text125 chars2,200 charsText above image; truncated after ~125
Headline40 chars255 charsBelow image; truncated after ~40
Description30 chars255 charsBelow headline; may not show
URL display link40 charsN/AOptional custom display URL

Placement-specific notes:

  • Feed: All elements show; primary text most visible
  • Stories/Reels: Primary text overlaid; keep under 72 chars
  • Right column: Only headline visible; skip description
  • Audience Network: Varies by publisher

Best practices:

  • Front-load the hook in primary text (first 125 chars)
  • Use line breaks for readability in longer primary text
  • Emojis: test, but don't overuse — 1-2 per ad max
  • Questions in primary text increase engagement
  • Headline should be a clear CTA or value statement

Lead Ads (Instant Form)

ElementLimit
Greeting headline60 chars
Greeting description360 chars
Privacy policy text200 chars

LinkedIn Ads

Single Image Ad

ElementRecommendedMaximumNotes
Intro text150 chars600 charsAbove the image; truncated after ~150
Headline70 chars200 charsBelow the image
Description100 chars300 charsOnly shows on Audience Network

Carousel Ad

ElementLimit
Intro text255 chars
Card headline45 chars
Card count2-10 cards

Message Ad (InMail)

ElementLimit
Subject line60 chars
Message body1,500 chars
CTA button20 chars

Text Ad

ElementLimit
Headline25 chars
Description75 chars

LinkedIn-specific guidelines:

  • Professional tone, but not boring
  • Use job-specific language the audience recognizes
  • Statistics and data points perform well
  • Avoid consumer-style hype ("Amazing!" "Incredible!")
  • First-person testimonials from peers resonate

TikTok Ads

In-Feed Ads

ElementRecommendedMaximumNotes
Ad text80 chars100 charsAbove the video
Display nameN/A40 charsBrand name
CTA buttonPlatform optionsPredefinedSelect from TikTok's options

Spark Ads (Boosted Organic)

ElementNotes
CaptionUses original post caption
CTA buttonAdded by advertiser
Display nameOriginal creator's handle

TikTok-specific guidelines:

  • Native content outperforms polished ads
  • First 2 seconds determine if they watch
  • Use trending sounds and formats
  • Text overlay is essential (most watch with sound off)
  • Vertical video only (9:16)

Twitter/X Ads

Promoted Tweets

ElementLimitNotes
Tweet text280 charsFull tweet with image/video
Card headline70 charsWebsite card
Card description200 charsWebsite card

Website Cards

ElementLimit
Headline70 chars
Description200 chars

Twitter/X-specific guidelines:

  • Conversational, casual tone
  • Short sentences work best
  • One clear message per tweet
  • Hashtags: 1-2 max (0 is often better for ads)
  • Threads can work for consideration-stage content

Character Counting Tips

  • Spaces count as characters on all platforms
  • Emojis count as 1-2 characters depending on platform
  • Special characters (|, &, etc.) count as 1 character
  • URLs in body text count against limits
  • Dynamic keyword insertion ({KeyWord:default}) can exceed limits — set safe defaults
  • Always verify in the platform's ad preview before launching

Multi-Platform Creative Adaptation

When creating for multiple platforms simultaneously, start with the most restrictive format:

  1. Google Search headlines (30 chars) — forces the tightest messaging
  2. Expand to Meta headlines (40 chars) — add a word or two
  3. Expand to LinkedIn intro text (150 chars) — add context and proof
  4. Expand to Meta primary text (125+ chars) — full hook and value prop

This cascading approach ensures your core message works everywhere, then gets enriched for platforms that allow more space.

How do I install Ad campaign management in Cursor, Claude Code, or Codex?

Run npx skills add manojbajaj95/claude-gtm-plugin --skill ad-campaign-management in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Ad campaign management, not every skill in the repository.

Where does Ad campaign management come from and what license is it under?

Ad campaign management comes from the manojbajaj95/claude-gtm-plugin repository on GitHub. That repository has 74 GitHub stars. The skill is published under the MIT license.

Prefer plain text? Read the Ad campaign management guide as markdown.