google-ads
Skill107 starsChanged 5 months agoMITView on GitHub
Plan and create new Google Ads campaigns and report on existing accounts via the Hyper MCP. Use when the user wants to launch Search, Display, Performance Max, Video, Demand Gen, Shopping, or App campaigns, build Google Ads reports or dashboards, diagnose conversion tracking, or mentions Google Ads, AdWords, search ads, display ads, Performance Max, PMax, PPC, Google campaigns, search term reports, budget analysis, conversion funnels, negative keywords, or manager accounts (MCC).
We split this skill into the rules it gives an agent
4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
If google_ads_accounts_list is not found, the integration to connect is Google Ads.
- Distinctive: line 23
Every tool in this skill is named by its canonical tool name.
- Very specific: line 31
If a tool is not found: in Hyper chat, find its toolkit id with discover_toolkits and pass it to enable_toolkit.
- Distinctive: line 85
Every campaign build follows this sequence.
“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Google Ads
Strategic guide for building new Google Ads campaigns and reporting on existing accounts. Research first, consult intelligently, validate everything, and build with the granular resource tools in dependency order (budget → campaign → targeting → ad groups → ads / asset groups). The API has exactly one campaign create — google_ads_campaigns_create — and the campaign type is just advertising_channel_type; type-specific requirements are enforced by the tools' built-in validators, which return corrective errors. Reporting is GAQL-backed and evidence-first — dashboards are optional presentation surfaces.
Requirements
- Hyper MCP installed and connected. https://app.hyperfx.ai/mcp
- Google Ads integration connected at https://app.hyperfx.ai/apps.
If google_ads_accounts_list is not found, the integration to connect is Google Ads.
How to run the tools in this skill
Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
| Surface | Find a tool | Run it |
| Hyper chat | Call the tool by its name; search_tools(queries=["<provider> <action>"]) shows its parameters | <name>(...) |
| MCP client (Claude, Cursor, Codex, ChatGPT) | search("<what you want to do>"), then describe("<name>") | call_read("<name>", {...}), call_write or call_destructive: the one that describe names in call_with |
| Hyper CLI | hyperai search "<what you want to do>", then hyperai describe <name> | hyperai call <name> --json '{...}' |
If a tool is not found: in Hyper chat, find its toolkit id with discover_toolkits and pass it to enable_toolkit. On an MCP client or the CLI, tell the user which integration to connect in Hyper.
Out of scope
- Live optimization mutations (bid adjustments, pausing keywords, restructuring existing campaigns). Reports may recommend these changes; applying them needs explicit per-change user approval.
- Creative generation (headlines, descriptions, images) → the
ad-creative-generationskill. - Cross-platform campaign launches → use this skill for Google, then invoke
meta-ads/tiktok-adsseparately.
Tool surface
Reads are GAQL (google_ads_gaql_query covers every resource). Writes are one tool per resource operation, named google_ads_<resource>_<create|update|remove>. Generated create and update tools take (customer_id, body), where body is the bare resource object in snake_case. A generated _remove takes body={"resource_name": "customers/<cid>/<collection>/<id>"}. The keyword, location, asset-group, asset-link, image-upload and _delete tools take flat arguments: read them with describe or search_tools.
| Tool | Purpose |
google_ads_accounts_list | Discover accessible accounts (and MCC sub-accounts). |
google_ads_gaql_query | Run a GAQL query (conversion actions, search terms, any resource). |
google_ads_campaign_budgets_create | Create the budget first (micros!). |
google_ads_campaigns_create / _update / _remove | The ONE campaign create — every advertising_channel_type (SEARCH, DISPLAY, PERFORMANCE_MAX, VIDEO, DEMAND_GEN, SHOPPING, MULTI_CHANNEL for App). |
google_ads_ad_groups_create / _update, google_ads_ad_groups_delete | Ad groups under a campaign. |
google_ads_ad_group_ads_create / _update / _remove | Ads (typed: responsive_search_ad, responsive_display_ad, video / demand-gen ad types). |
google_ads_keywords_create / _update / _delete / _list | Keywords (positive and negative). |
google_ads_locations_search, google_ads_location_targets_add | Resolve location names, target them. |
google_ads_location_targets_list | A campaign's locations, each with its place name (canonical_name). |
google_ads_image_assets_upload | Image assets — accepts file_id from the workspace file manager, image_url, or base64. |
google_ads_video_assets_link | Register a YouTube video ID as a video asset (the Ads API cannot host video files — videos must be on YouTube). |
google_ads_asset_groups_create | PMax asset group (atomic: text + image assets in one call). |
google_ads_conversion_actions_create, google_ads_user_lists_create, google_ads_bidding_strategies_create, google_ads_shared_sets_create, … | Full per-resource CRUD surface — same naming pattern. |
google_ads_request | Raw escape hatch for any uncovered endpoint. |
data_apps_build, data_apps_refresh | Optional dashboards / data apps for reports. |
Rules that must never be forgotten
BUDGETS IN MICROS: $50/day = 50,000,000 micros. Never pass dollar amounts directly.
ALWAYS START PAUSED: Create campaigns with
status="PAUSED". Activate only after explicit user approval.
SUMMARIZE BEFORE CREATE: Present the full build plan (budget, campaign settings, targeting, ad groups, ads/assets) and get explicit user approval before the first mutate. Create in dependency order. Generated bodies take the full
resource_namethat the mutate returns (e.g."campaign": "customers/<cid>/campaigns/<id>"). The flat tools (google_ads_location_targets_add,google_ads_keywords_create,google_ads_asset_groups_create,google_ads_asset_group_assets_link,google_ads_campaign_assets_link) take the bare id: the last part of that resource name. The tools validate bodies against the real API schema (writable fields, enum values) plus channel-type rules and return corrective errors — fix and retry rather than guessing.
NEVER INVENT: Don't assume URLs, budgets, or location IDs. Don't skip research. Don't invent keywords or copy — creative comes only from the actual site. Don't build without user buy-in.
PLACES COME FROM THE ID: Name a targeted place only from its
canonical_name(google_ads_location_targets_list, orgeo_target_constant.canonical_namein GAQL). A campaign name or the user's words is not a location.
SMALL SAMPLES: A cost per result from fewer than 10 conversions gets one line that the sample is too small to judge. Do not rank or cut a campaign on that cost alone.
DERIVED NUMBERS SHOW THEIR INPUTS: A total, difference or rate that you compute names the tool values it comes from: "312 carts with no purchase (414 add-to-carts − 102 purchases)".
GAQL GUARDRAILS: Never join
ad_group_criterionwithsearch_term_view. Never query more than 5 sub-accounts in a single batch.
See references/constraints.md for the full constraint set.
All reference files live in
references/. Read them atreferences/<file>(e.g.references/discovery.md). They are not in the same directory as this SKILL.md.
Core process
Every campaign build follows this sequence. Do not skip steps.
- Identify the goal — new campaign, reporting/analysis, or both?
- Check the routing table and read the files of your row only, before calling any tools. The other reference files are for other tasks
- Discovery is mandatory for creation (references/discovery.md) — account setup, site scan, conversion tracking check, market research, consultation
- Present the pre-creation summary and wait for explicit approval
- Build in dependency order (budget → campaign PAUSED → targeting → ad groups → ads/assets) after approval, by the campaign file; read a section of references/constraints.md only when a step names it
- Activate only when the user approves
Full workflow: Initial Setup → Research (site + GAQL + market) → Analyze (goals, audience, keywords) → Consult (options + trade-offs) → Recommend (structure + bids) → Confirm (summary approved) → Create in dependency order (PAUSED) → Verify by GAQL → Activate (post-approval).
Routing table
| The user wants to… | Read these files first |
| Create a Search or Display campaign | Plan: references/discovery.md. Build, after the user approves the plan: references/campaigns/search-display.md |
| Create a Performance Max campaign | Plan: references/discovery.md. Build, after the user approves the plan: references/campaigns/pmax.md |
| Add an asset group to an existing PMax campaign | references/campaigns/pmax.md |
| Create a Video, Demand Gen, Shopping, or App campaign | Plan: references/discovery.md. Build, after the user approves the plan: references/campaigns/other-types.md |
| Run a report / GAQL query / analyze performance with no recipe below | references/reporting.md |
| Account health snapshot / "how is the account doing?" | references/reports/account-overview.md |
| Diagnose conversion tracking | references/reports/conversion-tracking.md |
| Find wasteful search terms / negative keyword candidates | references/reports/search-terms-waste.md |
| Conversions by action or per stage | references/reports/conversion-by-action.md |
| A lead-gen or B2B multi-stage funnel | references/reports/conversion-funnel.md |
| Where the spend goes | references/reports/budget-distribution.md |
| Whether to restructure | references/reports/campaign-structure.md |
| Campaign performance over time | references/reports/campaign-performance.md |
| Ad-level performance | references/reports/ad-performance.md |
| Build a Google Ads dashboard or data app | references/reporting.md → matching report recipe's dashboard section |
| Work across an MCC / many sub-accounts | references/mcc.md → references/reporting.md |
| Goal not yet clear | references/discovery.md — discovery clarifies the goal |
A report names the customer ID, the date range, the GAQL resource queried and its key results, and says whether the output is a written report or a dashboard. It treats rows as evidence, not as recommendations, unless the user asks for recommendations.
Other versions26 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 26
- superdesigndev/treg★ 5.7ksame name
- nowork-studio/notfair-plugin★ 4.1ksame name
- nowork-studio/toprank★ 4ksame name
- OpenClaudia/openclaudia-skills★ 724same name
- pedronauck/skills★ 641same name
- ivangfalco/ads-skills★ 267same name
- HybridAIOne/hybridclaw★ 159same name
- AceDataCloud/Skills★ 17same name
- chanktb/claude-google-ads★ 11same name
- pbc-os/smb-starter-kit★ 10same name
16 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use google-ads-assets, gohighlevel and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
chanktbSkillgoogle-ads-assets
Generates Google Ads creative assets shared across campaign types: responsive search ad headlines and descriptions, Performance Max asset-group copy and search themes, Demand Gen image/video briefs, and sitelinks/callouts. Enforces character limits, brand voice from account-context.yaml, and policy/ trademark safety. Use when the user says "ad copy", "headlines", "descriptions", "assets", "creative", "rsa", "asset group copy", "sitelinks", "callouts".
Also in 3 projects that use this
windsor-aiSkillgohighlevel
Analyze GoHighLevel CRM data through Windsor.ai. Use when the user asks about their GoHighLevel account — contacts, opportunities and pipeline stages, deal value, appointments, campaigns, lead sources, or conversion rates. It can also create or update a contact and create an invoice, always after the user confirms the exact change. It does not send emails or SMS, book or change appointments, or modify pipeline or campaign settings. Do not use for other CRMs (HubSpot, Salesforce), outbound messaging, or ad-platform performance data.
Also in 3 projects that use this
vinayakmamodiaSkilllinkedin-ads
Expert LinkedIn Ads strategist for B2B companies. Use when the user asks about LinkedIn advertising, LinkedIn campaign setup, LinkedIn ad targeting, LinkedIn bidding strategies, LinkedIn ad formats, LinkedIn retargeting, LinkedIn ABM campaigns, LinkedIn Thought Leader Ads, LinkedIn funnel architecture, LinkedIn ads measurement/attribution, LinkedIn ads troubleshooting, LinkedIn creative best practices, or any B2B paid social strategy involving LinkedIn. Also triggers on "LinkedIn campaign", "LinkedIn CPM", "LinkedIn CTR", "LinkedIn lead gen", "B2B ads", "demand gen on LinkedIn", "sponsored content", or "LinkedIn ads not working". Do NOT use for LinkedIn organic content/posting (use linkedin-content skill) or LinkedIn outbound messaging (use cold-email skill).
Also in 5 projects that use this
isiahw1Skillgoogle-search-console
Query and analyze Google Search Console data for SEO insights. Use when users want to analyze search performance, find content optimization opportunities, check URL index status, manage sitemaps, or make data-driven content decisions. Supports multiple properties and covers keyword discovery, CTR analysis, position tracking, and technical SEO checks.
Also in 3 projects that use this
refly-aiSkillgoogle-analytics
Integrate with Google Analytics for web metrics. Use when you need to: (1) retrieve website analytics reports, (2) track traffic and user metrics, or (3) analyze web performance data.
Also in 3 projects that use this
itallstartedwithaideaSkillgoogle-ads-audit
Structured Google Ads account audit across 7 dimensions. Activate when the user asks to "audit my account", "check for problems", "find issues", "review my campaigns", or requests a comprehensive account health assessment. Delivers findings with severity ratings and prioritized action items.
Also in 3 projects that use this
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ad-creative-generationSkill
- amazon-adsSkill
- analytics-insightsSkill
- blog-generationSkill
- brand-contextSkill
- cold-email-outreachSkill
- competitor-intelSkill
- customer-researchSkill
- email-lifecycleSkill
- gmailSkill
- google-sheetsSkill
- hyper-cliSkill
- image-generationSkill
- instagramSkill
- linkedinSkill
- meta-ads-librarySkill
- meta-adsSkill
- openai-adsSkill
- pinterest-adsSkill
- reddit-adsSkill
- redditSkill
- seo-researchSkill
- slackSkill
- snapchat-adsSkill
- tiktok-adsSkill
- tiktokSkill
- twilioSkill
- video-generationSkill
- youtubeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

