Ads
Cesarjoquin/Marketing-Skills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
Plan, execute, and optimize paid ad campaigns across Google, Meta, LinkedIn, Twitter/X, and TikTok, covering targeting, budget, bid strategies, and retargeting.
$ npx skills add borghei/Claude-Skills --skill paid-ads -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borghei/Claude-Skills paid-ads --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/marketing/paid-ads .claude/skills/paid-ads && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "paid-ads" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-ads into .claude/skills/paid-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paid-ads", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-adsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add borghei/Claude-Skills --skill paid-ads -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borghei/Claude-Skills paid-ads --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/marketing/paid-ads .agents/skills/paid-ads && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "paid-ads" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-ads into .agents/skills/paid-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paid-ads", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill paid-ads -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borghei/Claude-Skills paid-ads --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/marketing/paid-ads .cursor/skills/paid-ads && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "paid-ads" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-ads into .cursor/skills/paid-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paid-ads", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/borghei/Claude-Skills.git --path marketing/paid-ads--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add borghei/Claude-Skills --skill paid-ads -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borghei/Claude-Skills paid-ads --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/marketing/paid-ads .gemini/skills/paid-ads && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "paid-ads" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-ads into .gemini/skills/paid-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paid-ads", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install borghei/Claude-Skills paid-adsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add borghei/Claude-Skills --skill paid-ads -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/marketing/paid-ads .github/skills/paid-ads && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "paid-ads" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-ads into .github/skills/paid-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paid-ads", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill paid-ads -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borghei/Claude-Skills paid-ads --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/marketing/paid-ads .opencode/skills/paid-ads && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "paid-ads" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/paid-ads into .opencode/skills/paid-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paid-ads", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
paid-adsPlan, execute, and optimize paid ad campaigns across Google, Meta, LinkedIn, Twitter/X, and TikTok, covering targeting, budget, bid strategies, and retargeting.
Paid Ads is an agent skill from borghei/Claude-Skills. Plan, execute, and optimize paid ad campaigns across Google, Meta, LinkedIn, Twitter/X, and TikTok, covering targeting, budget, bid strategies, and retargeting. Use when running PPC campaigns, setting up ad accounts, or optimizing ROAS/CPA.
Its SKILL.md is about 6.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/ad_copy_scorer.py`, `scripts/audience_sizer.py` and `scripts/cpc_calculator.py`).
It sits in Marketing & SEO, covering Paid advertising. It works with X (Twitter), LinkedIn, TikTok and Meta Ads. The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4a698e8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
support.google.comfacebook.comdevelopers.facebook.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Paid Ads loads about 6.9k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 2,893 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from borghei/Claude-Skills at commit 4a698e8, republished under its MIT licence (© borghei). 2,893 words, ~6,857 tokens.
.claude/skills/paid-ads/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Campaign strategy, audience targeting, budget optimization, and performance management across all major advertising platforms.
paid ads, PPC, pay-per-click, Google Ads, Meta Ads, Facebook Ads, Instagram Ads, LinkedIn Ads, Twitter Ads, TikTok Ads, paid media, ROAS, CPA, CPC, CPM, audience targeting, retargeting, remarketing, budget optimization, bid strategy, ad campaigns, conversion tracking, lookalike audiences, campaign structure, ad performance, paid search, paid social
Before building the campaign, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
| Platform | Best For | Audience Signal | Typical CPC | Minimum Budget |
|---|---|---|---|---|
| Google Search | High-intent demand capture | Search keywords (what they want now) | $1-8 (B2B: $5-20) | $1,500/mo |
| Google Display | Awareness, retargeting | Browsing behavior, interests | $0.30-1.50 | $1,000/mo |
| Google Performance Max | Multi-format automation | Mixed signals, Google's ML | Varies | $2,000/mo |
| Meta (FB/IG) | Demand generation, B2C, visual products | Interests, behaviors, lookalikes | $0.50-3.00 | $1,000/mo |
| B2B, decision-maker targeting | Job title, company, industry, seniority | $5-15 | $2,000/mo | |
| Twitter/X | Tech audiences, thought leadership | Followers, interests, keywords | $0.50-3.00 | $500/mo |
| TikTok | 18-34 demographics, brand awareness | Interests, behaviors, creator affinity | $0.30-1.50 | $1,000/mo |
| Niche communities, tech/gaming | Subreddit targeting | $0.50-2.00 | $500/mo |
Is the audience actively searching for your solution?
├── Yes → Google Search Ads
└── No → Do you know their job title or company?
├── Yes → LinkedIn Ads (B2B) or Meta Ads (B2C)
└── No → Is your product visual or lifestyle?
├── Yes → Meta Ads (Instagram) or TikTok
└── No → Is your audience technical?
├── Yes → Reddit Ads or Twitter/X
└── No → Meta Ads (Facebook) or Google DisplayAccount
├── Campaign 1: [Objective] - [Product/Offer]
│ ├── Ad Group/Set 1: [Audience Segment A]
│ │ ├── Ad 1: [Creative Variant 1]
│ │ ├── Ad 2: [Creative Variant 2]
│ │ └── Ad 3: [Creative Variant 3]
│ └── Ad Group/Set 2: [Audience Segment B]
│ ├── Ad 1: [Creative Variant 1]
│ └── Ad 2: [Creative Variant 2]
└── Campaign 2: [Objective] - [Product/Offer][Platform]_[Objective]_[Audience]_[Offer]_[Date]
Examples:
GOOG_Search_Brand_FreeTrial_2026Q1
META_Conv_Lookalike-Customers_Demo_Mar26
LI_LeadGen_CMOs-SaaS-500_Whitepaper_2026Q1
TIKTOK_Aware_18-34-Tech_BrandVideo_Mar26| Objective | Meta | ||
|---|---|---|---|
| Awareness | Display, YouTube, PMax | Reach, Video Views | Brand Awareness |
| Consideration | Search, Display | Traffic, Engagement | Website Visits |
| Conversion | Search, PMax | Conversions, Leads | Lead Gen Forms |
| Retargeting | Display, Search (RLSA) | Custom Audiences | Matched Audiences |
| Targeting Type | Use When | How |
|---|---|---|
| Keyword targeting | Capturing search intent | Exact, phrase, and broad match keywords |
| Audience targeting | Layering intent signals | In-market, affinity, custom intent |
| RLSA | Retargeting in search | Website visitor lists on search campaigns |
| Customer Match | Targeting known contacts | Upload email lists for matched targeting |
| Optimized targeting / audience signals | Expanding from known customers | Similar audiences were retired in Aug 2023. Use optimized targeting (Display, Demand Gen), audience signals (Performance Max), or Lookalike segments seeded from Customer Match / site visitors (Demand Gen, Video) |
Keyword match type strategy:
| Targeting Type | Use When | How |
|---|---|---|
| Interest targeting | Cold prospecting | Layer 2-3 related interests |
| Lookalike audiences | Expanding from customers | 1-3% lookalike from best customers (by LTV); in Advantage+ audience, lookalikes act as suggestions, not hard limits |
| Custom audiences | Retargeting | Website visitors, email lists, video viewers |
| Broad targeting / Advantage+ audience | Trusting Meta's ML | Only audience controls (location, minimum age, language, custom audience exclusions) are hard limits; everything else is a suggestion |
| Detailed targeting | Narrow audience needed | Combine demographics + interests + behaviors |
Lookalike best practices:
| Targeting Type | Use When | How |
|---|---|---|
| Job title | Targeting decision-makers | Specific titles (CMO, VP Marketing, Head of Growth) |
| Job function | Broader role targeting | Marketing, Engineering, Finance |
| Company size | Enterprise vs. SMB | Employee count ranges |
| Industry | Vertical-specific campaigns | LinkedIn's industry categories |
| Seniority | C-suite vs. individual contributor | Manager, Director, VP, CXO |
| Skills | Technical targeting | Listed skills on profiles |
| Company list | ABM targeting | Upload target account lists |
LinkedIn targeting rules:
Both Google and Meta now default new campaigns toward AI-driven, goal-based formats. Treat them as a trade: you give up placement, query, and audience control in exchange for reach and machine optimization. Feed them good inputs and set guardrails. (As of September 2026 — these products change frequently; check each platform's help center before launch.)
| Campaign type | Platform | What it does | What you give up |
|---|---|---|---|
| Advantage+ sales / app / leads campaigns | Meta | End-to-end automation of audience, placements, budget, and creative combinations for the sales, app promotion, and leads objectives | Detailed targeting becomes suggestions; placement and budget split handled by Meta |
| Advantage+ audience | Meta | Uses your audience inputs as suggestions and expands beyond them when likely to improve results | Interests/lookalikes are no longer limits — only location, minimum age, language, and custom audience exclusions are hard controls |
| Performance Max | One goal-based campaign across Search, Shopping, YouTube, Display, Discover, Gmail, and Maps | Channel mix and most placement choice; audience signals guide learning but are not targeting | |
| AI Max for Search (2025) | Optimization layer on a Search campaign: search term matching beyond your keywords (broad match + keywordless), text customization, final URL expansion | Exact query control; generated headlines/descriptions; landing-page choice (if URL expansion is on) | |
| Demand Gen | Visual/video campaigns on YouTube (incl. Shorts), Discover, Gmail, and Display with Lookalike segments and optimized targeting | Fine placement control; lookalike reach can extend past seed similarity |
Ads in AI Overviews and AI Mode (Google): there is no separate campaign type and no direct placement targeting. Text and Shopping ads from Search (with broad match or AI Max), Shopping, and Performance Max campaigns are eligible automatically; you cannot opt out, and Google Ads does not segment AI Overview ad reporting. Ads within AI Overviews are limited to English in a subset of countries (incl. the US), while ads above/below AI Overviews run in all AI Overview markets. (About ads and AI Overviews)
When to use automated campaigns:
How to feed them:
Guardrails:
| Guardrail | Meta | |
|---|---|---|
| Brand traffic | Brand exclusions (PMax, Search/AI Max); brand inclusions in AI Max | Exclude existing-customer custom audiences |
| Query control | Account- and campaign-level negative keywords (PMax negatives apply to Search/Shopping inventory) | n/a |
| Landing pages | Turn off final URL expansion or use URL exclusions / URL inclusions | Set destination per ad |
| Audience limits | Location and language settings | Audience controls: location, minimum age, language, custom audience exclusions |
| Reporting | PMax channel performance and search terms reports; AI Max search terms reporting | Breakdowns by placement/age/gender |
Sources: About Performance Max, About AI Max for Search, How AI Max works, Brand exclusions, Demand Gen Lookalike segments, Meta Advantage+, Advantage+ audience.
Phase 1: Testing (Weeks 1-4)
| Allocation | Purpose |
|---|---|
| 40% | Proven/safe campaigns (brand search, retargeting) |
| 40% | Testing new audiences and creative |
| 20% | Experimental channels or formats |
Phase 2: Optimization (Weeks 5-8)
| Allocation | Purpose |
|---|---|
| 60% | Winning combinations from testing |
| 25% | Iterating on promising but unproven |
| 15% | New tests |
Phase 3: Scaling (Weeks 9+)
| Allocation | Purpose |
|---|---|
| 70% | Proven performers |
| 20% | Expansion (new audiences, lookalikes, broader targeting) |
| 10% | Ongoing testing |
| Platform | Minimum Viable Monthly Budget | Optimal Monthly Budget |
|---|---|---|
| Google Search | $1,500 | $5,000+ |
| Google Display | $1,000 | $3,000+ |
| Meta Ads | $1,000 | $3,000+ |
| LinkedIn Ads | $2,000 | $5,000+ |
| TikTok Ads | $1,000 | $3,000+ |
| Reddit Ads | $500 | $2,000+ |
| Stage | Strategy | When to Use | Requirements |
|---|---|---|---|
| 1 | Manual CPC | Starting out, need control | None |
| 2 | Max Clicks | Building traffic data | Budget cap set |
| 3 | Target CPA | Optimizing for conversions | 30+ conversions/month |
| 4 | Target ROAS | Optimizing for revenue | 50+ conversions/month + revenue data |
| 5 | Value-based | Maximizing revenue | Conversion value tracking, 100+ conversions/month |
| Funnel Stage | Audience | Message | Window | Frequency |
|---|---|---|---|---|
| Top | Blog readers, video viewers | Educational, social proof | 30-90 days | 1-2x/week |
| Middle | Pricing/feature page visitors | Case studies, demos, comparisons | 7-30 days | 3-5x/week |
| Bottom | Cart/trial abandoners | Urgency, objection handling, offer | 1-7 days | Daily OK |
| Audience | Source | Platform | Priority |
|---|---|---|---|
| All website visitors (30 days) | Pixel | All platforms | Medium |
| Pricing page visitors (14 days) | Pixel | All platforms | High |
| Cart/trial abandoners (7 days) | Pixel + Events | All platforms | Highest |
| Email subscribers (non-customers) | Email list | Meta, LinkedIn | Medium |
| Video viewers (50%+ watched) | Platform event | Meta, YouTube | Medium |
| Blog readers (engaged, 60s+) | Pixel + Events | All platforms | Low-Medium |
Always exclude:
Is CPA above target?
├── CTR is low (< 1% search, < 0.5% social)
│ ├── Creative fatigue? → Refresh creative
│ ├── Audience mismatch? → Refine targeting
│ └── Ad relevance low? → Improve message match
├── CTR is good, conversion rate low
│ ├── Landing page issue? → Audit page (speed, copy, CTA)
│ ├── Offer mismatch? → Align ad promise with page offer
│ └── Audience too broad? → Narrow targeting
└── CTR and CVR are good, CPA still high
├── CPM too high? → Try different placements/platforms
├── Competition driving up bids? → Adjust bid strategy
└── Attribution issue? → Check conversion tracking| Objective | Primary Metrics | Benchmarks (B2B SaaS) |
|---|---|---|
| Awareness | CPM, Reach, Video View Rate | CPM: $5-15, VVR: 15-25% |
| Consideration | CTR, CPC, Time on Site | CTR: 1-3%, CPC: $2-8 |
| Conversion | CPA, ROAS, Conversion Rate | CPA: $50-200, CR: 2-5% |
| Retargeting | CPA, ROAS, Frequency | CPA: 30-50% lower than prospecting |
| Signal | Threshold | Action |
|---|---|---|
| CTR declining week over week | 20%+ decline over 2 weeks | Refresh creative |
| Frequency above threshold | > 3 (display), > 5 (retargeting) | Expand audience or refresh |
| CPA increasing with stable CTR | 15%+ increase over 2 weeks | Test new creative angles |
| Engagement rate dropping | 30%+ decline | Full creative overhaul |
| Task | Time | What to Check |
|---|---|---|
| Budget pacing | 5 min | Spend vs. plan, daily/weekly trends |
| CPA/ROAS check | 10 min | Performance vs. targets, by campaign |
| Top/bottom performers | 10 min | Pause worst, scale best |
| Audience analysis | 10 min | Which segments are converting? |
| Creative performance | 10 min | CTR by creative, fatigue signals |
| Frequency check | 5 min | Any audiences over-exposed? |
| Landing page CVR | 5 min | Post-click conversion rate |
| Competitor check | 5 min | New competitors in auction? |
| What Platforms Report | Reality |
|---|---|
| "This campaign drove 100 conversions" | Platform attribution is inflated by 20-50% |
| "ROAS is 5x" | Likely includes assisted conversions that would have converted anyway |
| Last-click attribution | Ignores all touchpoints before the final click |
| View-through conversions | Often just people who would have converted regardless |
Meta attribution windows (as of September 2026): Meta stopped returning the 7-day view and 28-day view windows on January 12, 2026. The remaining windows are 1-day click, 7-day click, 28-day click (Insights API), 1-day engaged view, and 1-day view (Meta for Developers, Oct 2025). Historical reports that used 7- or 28-day view will not match current numbers — note the break in any trend line.
utm_source: google | meta | linkedin | twitter | tiktok | reddit
utm_medium: cpc | paid-social | display | video | sponsored
utm_campaign: [campaign-name-lowercase-hyphenated]
utm_content: [ad-variant-identifier]
utm_term: [keyword] (search only)Tracking first, creative second — Never launch without verified conversion tracking. A campaign without attribution is guesswork.
Start narrow, expand gradually — Begin with your highest-intent, most-defined audience. Expand after proving the funnel works.
One change at a time — Changing audience, creative, and bid strategy simultaneously makes it impossible to know what worked.
Give algorithms time — Do not judge campaign performance before the learning phase completes (typically 50 conversions or 7 days).
Creative is the biggest lever — On most platforms, creative quality matters more than targeting precision. Test creative aggressively.
Match ad to landing page — The #1 conversion killer is mismatched expectations between ad and landing page.
Budget concentration beats distribution — $3,000 on one proven platform outperforms $500 spread across six platforms.
Build retargeting from day one — Install pixels and build audiences even before you spend on retargeting.
Compare platform data to reality — Platform-reported conversions are always higher than actual. Use CRM and GA4 as the source of truth.
Document everything — Every campaign change, test result, and learning should be recorded. Institutional knowledge prevents repeating mistakes.
| Symptom | Likely Cause | Fix |
|---|---|---|
| CPA above target with low CTR | Creative fatigue or audience mismatch | Refresh creative. Use ad_copy_scorer.py to validate new copy. |
| CPA above target with good CTR | Landing page conversion issue | Audit post-click experience: message match, page speed, form friction. |
| CTR dropping week over week | Creative fatigue (>3 frequency) | Refresh creative every 2-4 weeks. Expand audience to reduce frequency. |
| Budget not spending | Audience too narrow or bid too low | Check audience size with audience_sizer.py. Increase bid 10-20%. |
| Platform reports inflated conversions | Attribution window too wide | Compare platform data to GA4/CRM. Use incrementality testing for true lift. |
| Performance Max underperforming | Insufficient or low-quality conversion data | Build steady conversion volume first (start with Search), optimize to a revenue-linked conversion, and add brand exclusions + negatives so PMax is not just harvesting branded traffic. |
| CPA spikes after budget increase | Algorithm learning disrupted | Never increase budget more than 20-30% at a time. Wait 3-5 days between changes. |
In Scope: Campaign strategy, platform selection, audience targeting, budget allocation, bid strategies, retargeting, performance optimization, attribution, pre-launch checklists.
Out of Scope: Ad copy writing (use ad-creative), landing page design (use landing-page-generator), creative design/production, marketing automation, CRM configuration.
Limitations: Budget minimums and CPC benchmarks are directional estimates. Actual costs vary by industry, geography, and competition. Platform-reported metrics are typically 20-50% inflated versus CRM truth.
scripts/ad_copy_scorer.py)Scores ad copy against platform specs, compliance rules, and conversion best practices.
python scripts/ad_copy_scorer.py --headline "Cut churn by 30%" --description "See how 1200 SaaS teams reduced churn" --platform google
python scripts/ad_copy_scorer.py --file ads.json --jsonscripts/cpc_calculator.py)Calculates key advertising metrics from campaign data with industry benchmarks.
python scripts/cpc_calculator.py --spend 5000 --clicks 1200 --conversions 45 --revenue 12000 --platform meta
python scripts/cpc_calculator.py --file campaign.json --jsonscripts/audience_sizer.py)Estimates target audience size and recommends budget based on platform and targeting criteria.
python scripts/audience_sizer.py --platform linkedin --targeting "CMOs at SaaS companies 50-500 employees"
python scripts/audience_sizer.py --file targeting.json --json© borghei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in marketing/paid-ads of borghei/Claude-Skills.
Open the folder on GitHubat commit 4a698e8
Paid Ads next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Paid Ads this skillborghei/Claude-Skills | 891 | — | ~6.9k | Automated safety check: Pass | MIT | |
| AdsCesarjoquin/Marketing-Skills | 202 | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Adscoreyhaines31/marketingskills | 54k | 1 repos | ~7k | Automated safety check: Pass | MIT | |
| Money Adsiamzifei/show-me-the-money | 1k | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Mena Adsgrowthack88/growth-marketing-os | 116 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Write Provider Skillsuperdesigndev/treg | 4.9k | — | ~1.7k | Automated safety check: Pass | Custom licence |
Cesarjoquin/Marketing-Skills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
coreyhaines31/marketingskills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
iamzifei/show-me-the-money
Paid advertising automation for Google Ads, Meta Ads, and other ad platforms.
growthack88/growth-marketing-os
MENA Ads Command Center — a complete paid-ads operating system for the Arab world (Egypt, KSA, UAE, GCC, Levant, North Africa) and global accounts.
superdesigndev/treg
Build a treg provider skill — the endpoint map + mistake map that lets an agent do real work on a platform API through treg's proxy.
rongxinzy/RongxinAI
广告创意写作与优化技能,覆盖标题、描述、正文及完整广告方案的生成与迭代,适用于Google Ads、Meta、LinkedIn、TikTok、Twitter/X等主流付费广告平台。当用户需要撰写广告文案、进行创意生成、标题撰写,或请求批量生产广告变体、基于数据进行创意测试与效果优化时触发。
borghei/Claude-Skills
Test and evaluation harness for AI agents — scenario suites, deterministic replay, regression diffing, cost and latency budgets.
borghei/Claude-Skills
Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.
borghei/Claude-Skills
Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.
borghei/Claude-Skills
Idea to AI-generated prototype to customer validation to engineering handoff.
borghei/Claude-Skills
Analytics engineering across data modeling, dbt, transformation, and semantic layers.
borghei/Claude-Skills
Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.
Works with
Categories
Plan, execute, and optimize paid ad campaigns across Google, Meta, LinkedIn, Twitter/X, and TikTok, covering targeting, budget, bid strategies, and retargeting. Paid Ads is an agent skill from borghei/Claude-Skills. Plan, execute, and optimize paid ad campaigns across Google, Meta, LinkedIn, Twitter/X, and TikTok, covering targeting, budget, bid strategies, and retargeting.
Paid Ads fits situations like: running PPC campaigns; setting up ad accounts; optimizing ROAS/CPA.
Run `npx skills add borghei/Claude-Skills --skill paid-ads -a claude-code`. Or copy the skill folder (marketing/paid-ads in borghei/Claude-Skills) into .claude/skills/paid-ads in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borghei/Claude-Skills --skill paid-ads -a codex`. Or copy the skill folder (marketing/paid-ads in borghei/Claude-Skills) into .agents/skills/paid-ads in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borghei/Claude-Skills --skill paid-ads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/paid-ads, .gemini/skills/paid-ads, .github/skills/paid-ads and .opencode/skills/paid-ads in your project.
Going by SKILL.md and its folder, Paid Ads needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md names 3 domains. As links in the text: support.google.com, facebook.com and developers.facebook.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Paid Ads is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.9k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Paid Ads: Ads (Cesarjoquin/Marketing-Skills, 202 stars), Ads (coreyhaines31/marketingskills, 54k stars), Money Ads (iamzifei/show-me-the-money, 1k stars) and Mena Ads (growthack88/growth-marketing-os, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 891 GitHub stars. The repository holds 354 skills in this directory. The repository was last updated on October 7, 2026.
Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.