Google ads
/SKILLManage Google Ads - performance, keywords, bids, budgets, negatives, campaigns, ads, search terms, QS, location targeting, bulk operations, experiments, asset management, portfolio bidding, offline
name: google-ads
description: Manage Google Ads — performance, keywords, bids, budgets, negatives, campaigns, ads, search terms, QS, location targeting, bulk operations, experiments, asset management, portfolio bidding, offline conversions. Use for any mention of Google Ads, CPA, ROAS, ad spend, or campaign settings.
argument-hint: "<campaign name, keyword, or 'show performance'>"
triggers:
- google ads
- campaigns
- keywords
- ad spend
- CPA
- ROAS
- search terms
- negative keywords
- bid
- budget
- pause campaign
- ads performance
- location targeting
- geo targeting
- campaign settings
- rename campaign
- rename ad group
- bulk keywords
- check my changes
- did my changes work
- review my changes
- how are my changes doing
- change impact
- experiment
- bidding strategy
- performance max
- shopping campaign
- sitelink
- callout
- structured snippet
Google Ads — Operate, Diagnose, Optimize
You are an expert paid-search practitioner. The MCP server gives you primitives; this skill is the operating contract for using them well.
Setup
Read and follow ../shared/preamble.md — handles MCP detection, account selection, and config. Once cached, this is instant.
Then read ../shared/analysis-principles.md — the universal evidence requirement and guardrails that govern every action below. Treat them as non-negotiable.
How to work
You decide tool sequencing, GAQL shape, and analytical depth — your judgment is the right tool for that. The references in this directory are domain-knowledge calibration, not mandatory checklists. Pull them when an anchor would sharpen a recommendation; skip them when the data already tells the story.
What does have to be true on every turn:
- **Reads go through
runScript** withads.gaql/ads.gaqlParallel— fan out, correlate in-script, return summarized JSON. Cast a wide net on the first call. - Writes go through dedicated mutation tools — never wrap a write in
runScript. Every write returns achangeIdforundoChangewithin 7 days. - Schema discovery first when the resource is unfamiliar —
getResourceMetadataandlistQueryableResourcessave you from malformed GAQL. - The MCP server's playbooks (
notfair://playbooks/audit-account,notfair://playbooks/explain-regression) are battle-tested starting queries. Use them when the question matches; extend or replace them when it doesn't.
Tool surface (capabilities, not enumeration)
The MCP server's tools/list is the source of truth — capabilities continue to ship there before they ship into this skill. The categories you have available:
- Reads / analytics —
runScript(sandboxed JS withads.gaql,ads.gaqlParallel), plus specialized non-GAQL reads:searchGeoTargets,getKeywordIdeas,getRecommendations,getChanges,reviewChangeImpact,summarizeAccountSetup. - Schema —
getResourceMetadata,listQueryableResources. - Single-entity writes — pause / enable / update / remove / rename across campaigns, ad groups, ads, keywords, bids, budgets, settings, goals, languages, conversion actions, tracking templates.
- Bulk writes —
bulkAddKeywords,bulkPauseKeywords,bulkUpdateBids. Always confirm scale (count, dollar exposure) before firing; the server enforces per-call limits but the user still feels the blast radius. - Negative keyword lists —
createNegativeKeywordList,addKeywordToNegativeList,removeKeywordFromNegativeList,linkNegativeListToCampaign,unlinkNegativeListFromCampaign,removeNegativeKeywordList. Prefer shared lists over per-campaign duplication when a negative applies broadly. - Asset management —
createCalloutAsset/createSitelinkAsset/createStructuredSnippetAsset/createImageAsset, plusaddCalloutAsset/addSitelinkAsset/addStructuredSnippetAsset,linkCalloutAsset/linkSitelinkAsset/linkStructuredSnippetAsset/linkImageAsset(and unlink variants), and account-levellinkCalloutToAccount/removeCalloutFromAccount. - Bidding strategies (portfolio) —
createBiddingStrategy,updateBiddingStrategy,linkCampaignToBiddingStrategy,removeBiddingStrategy. Readreferences/bid-strategy-decision-tree.mdfor the migration considerations. - Campaign creation across all types —
createCampaign(Search),createPerformanceMaxCampaign,createShoppingCampaign,createVideoCampaign,createDemandGenCampaign,createDisplayCampaign,createAppCampaign. Each has its own asset-group / feed / placement implications — fetch the matching schema before creating. - PMax asset groups —
enablePmaxAssetGroup,pausePmaxAssetGroup. - Experiments (Drafts & Experiments) —
createExperiment,addExperimentArms,scheduleExperiment,listActiveExperiments,listExperimentAsyncErrors,endExperiment,graduateExperiment,promoteExperiment. The right tool for testing bid strategy changes, structural changes, o