Ad campaign management
Quick answer
- 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.
Add this skill
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.
$ npx skills add manojbajaj95/claude-gtm-plugin --skill ad-campaign-managementSkill instructions
The instruction file for this skill. The skill also includes other files you need to install to use it.
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
| Platform | Element | Limit |
|---|---|---|
| Google Ads (RSA) | Headline | 30 chars × 15 |
| Google Ads (RSA) | Description | 90 chars × 4 |
| Meta (FB/IG) | Primary text | 125 chars visible |
| Meta (FB/IG) | Headline | 40 chars |
| Intro text | 150 chars recommended | |
| Headline | 70 chars recommended | |
| TikTok | Ad text | 80 chars recommended |
| Twitter/X | Tweet | 280 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):
| Category | Example |
|---|---|
| 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
- Analyze winners — identify winning themes, structures, word patterns by CTR/CVR/ROAS
- Analyze losers — find what falls flat (too generic, wrong tone, too long)
- Generate new creative — double down on winning themes, test 1–2 new angles, avoid loser patterns
- 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
| Type | Metrics |
|---|---|
| Cost | CPM, CPC, CPL, CPA/CAC |
| Performance | CTR, 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
- Pause underperforming ads
- Increase bids on top performers
- Add negative keywords (Google)
- Refine audience targeting
- 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
- references/platform-specs.md — Full character limits and format specs for all platforms
- references/generative-tools.md — AI image/video/audio tools for ad creative production
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)
| Element | Character Limit | Required | Notes |
|---|---|---|---|
| Headline | 30 chars | 3 minimum, 15 max | Any 3 may be shown together |
| Description | 90 chars | 2 minimum, 4 max | Any 2 may be shown together |
| Display path 1 | 15 chars | Optional | Appears after domain in URL |
| Display path 2 | 15 chars | Optional | Appears after path 1 |
| Final URL | No limit | Required | Landing 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
| Element | Character Limit | Notes |
|---|---|---|
| Headline | 30 chars (5 required) | Short headlines for various placements |
| Long headline | 90 chars (5 required) | Used in display, video, discover |
| Description | 90 chars (1 required, 5 max) | Accompany various ad formats |
| Business name | 25 chars | Required |
Display Ads
| Element | Character Limit |
|---|---|
| Headline | 30 chars |
| Long headline | 90 chars |
| Description | 90 chars |
| Business name | 25 chars |
Meta Ads (Facebook & Instagram)
Single Image / Video / Carousel
| Element | Recommended | Maximum | Notes |
|---|---|---|---|
| Primary text | 125 chars | 2,200 chars | Text above image; truncated after ~125 |
| Headline | 40 chars | 255 chars | Below image; truncated after ~40 |
| Description | 30 chars | 255 chars | Below headline; may not show |
| URL display link | 40 chars | N/A | Optional 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)
| Element | Limit |
|---|---|
| Greeting headline | 60 chars |
| Greeting description | 360 chars |
| Privacy policy text | 200 chars |
LinkedIn Ads
Single Image Ad
| Element | Recommended | Maximum | Notes |
|---|---|---|---|
| Intro text | 150 chars | 600 chars | Above the image; truncated after ~150 |
| Headline | 70 chars | 200 chars | Below the image |
| Description | 100 chars | 300 chars | Only shows on Audience Network |
Carousel Ad
| Element | Limit |
|---|---|
| Intro text | 255 chars |
| Card headline | 45 chars |
| Card count | 2-10 cards |
Message Ad (InMail)
| Element | Limit |
|---|---|
| Subject line | 60 chars |
| Message body | 1,500 chars |
| CTA button | 20 chars |
Text Ad
| Element | Limit |
|---|---|
| Headline | 25 chars |
| Description | 75 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
| Element | Recommended | Maximum | Notes |
|---|---|---|---|
| Ad text | 80 chars | 100 chars | Above the video |
| Display name | N/A | 40 chars | Brand name |
| CTA button | Platform options | Predefined | Select from TikTok's options |
Spark Ads (Boosted Organic)
| Element | Notes |
|---|---|
| Caption | Uses original post caption |
| CTA button | Added by advertiser |
| Display name | Original 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
| Element | Limit | Notes |
|---|---|---|
| Tweet text | 280 chars | Full tweet with image/video |
| Card headline | 70 chars | Website card |
| Card description | 200 chars | Website card |
Website Cards
| Element | Limit |
|---|---|
| Headline | 70 chars |
| Description | 200 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:
- Google Search headlines (30 chars) — forces the tightest messaging
- Expand to Meta headlines (40 chars) — add a word or two
- Expand to LinkedIn intro text (150 chars) — add context and proof
- 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.
Common questions
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.
Related skills
More from manojbajaj95
More Paid Ads skills