New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Plan and create new Google Ads campaigns

by hyperfx-ai · MIT license · ★ 90 on GitHub

Google ads cover

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…

---
name: google-ads
description: 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).
requires_toolkits:
  - google_ads
icon: google_ads
short_description: Plan and create Google Ads campaigns and build GAQL-backed reports and dashboards.
---

# 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](https://app.hyperfx.ai/mcp)
- **Google Ads integration connected** at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps).

Overview

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.

Manual install (npx, ZIP)
Claude Codenpx skills add hyperfx-ai/marketing-skills --skill google-ads -g -a claude-code
Claude Code (degit)npx degit hyperfx-ai/marketing-skills/skills/google-ads#main ~/.claude/skills/google-ads-3
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.9 KB
Read SKILL.md here
hyperfx-ai/main1 file shown
SKILL.md
Show the full text105 lines

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

If search("google_ads_accounts_list") does not find google_ads_accounts_list, stop and tell the user to enable Hyper MCP and connect 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
MCP client (Claude, Cursor, Codex, ChatGPT) search("<what you want to do>"), then describe("<name>") call("<name>", {...})
Hyper CLI hyperai search "<what you want to do>", then hyperai describe <name> hyperai call <name> --json '{...}'

If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.

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) → ad-creative-generation.
  • Cross-platform campaign launches → use this skill for Google, then invoke meta-ads / tiktok-ads separately.

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>; create/update take (customer_id, body) where body is the bare resource object in snake_case.

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_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 and reference each created resource by the resource_name the mutate returns. 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.

GAQL GUARDRAILS: Never join ad_group_criterion with search_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 at references/<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.

  1. Identify the goal — new campaign, reporting/analysis, or both?
  2. Check the routing table and read the referenced files before calling any tools
  3. Discovery is mandatory for creation (references/discovery.md) — account setup, site scan, conversion tracking check, market research, consultation
  4. Present the pre-creation summary and wait for explicit approval
  5. Build in dependency order (budget → campaign PAUSED → targeting → ad groups → ads/assets) after approval, re-checking references/constraints.md at each step
  6. 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 references/discovery.md → references/campaigns/search-display.md
Create a Performance Max campaign references/discovery.md → 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 references/discovery.md → references/campaigns/other-types.md
Run a report / GAQL query / analyze performance (any kind) references/reporting.md → the matching references/reports/*.md recipe
Account health snapshot / "how is the account doing?" references/reporting.md → references/reports/account-overview.md
Diagnose conversion tracking references/reporting.md → references/reports/conversion-tracking.md
Find wasteful search terms / negative keyword candidates references/reporting.md → references/reports/search-terms-waste.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

Reporting responses follow references/report-template.md; keep claims tied to queried data per references/heuristics.md.

1---
2name: google-ads
3description: 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).
4requires_toolkits:
5 - google_ads
6icon: google_ads
7short_description: Plan and create Google Ads campaigns and build GAQL-backed reports and dashboards.
8---
9 
10# Google Ads
11 
12Strategic 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.
13 
14## Requirements
15 
16- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
17- **Google Ads integration connected** at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps).
18 
19If `search("google_ads_accounts_list")` does not find `google_ads_accounts_list`, stop and tell the user to enable Hyper MCP and connect Google Ads.
20 
21### How to run the tools in this skill
22 
23Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
24 
25| Surface | Find a tool | Run it |
26| --- | --- | --- |
27| MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call("<name>", {...})` |
28| Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |
29 
30If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.
31 
32## Out of scope
33 
34- **Live optimization mutations** (bid adjustments, pausing keywords, restructuring existing campaigns). Reports may *recommend* these changes; applying them needs explicit per-change user approval.
35- **Creative generation** (headlines, descriptions, images) → [`ad-creative-generation`](../ad-creative-generation).
36- **Cross-platform campaign launches** → use this skill for Google, then invoke `meta-ads` / `tiktok-ads` separately.
37 
38## Tool surface
39 
40Reads are GAQL (`google_ads_gaql_query` covers every resource). Writes are one tool per resource operation, named `google_ads_<resource>_<create|update|remove>`; create/update take `(customer_id, body)` where `body` is the bare resource object in snake_case.
41 
42| Tool | Purpose |
43| --- | --- |
44| `google_ads_accounts_list` | Discover accessible accounts (and MCC sub-accounts). |
45| `google_ads_gaql_query` | Run a GAQL query (conversion actions, search terms, any resource). |
46| `google_ads_campaign_budgets_create` | Create the budget first (micros!). |
47| `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). |
48| `google_ads_ad_groups_create` / `_update`, `google_ads_ad_groups_delete` | Ad groups under a campaign. |
49| `google_ads_ad_group_ads_create` / `_update` / `_remove` | Ads (typed: `responsive_search_ad`, `responsive_display_ad`, video / demand-gen ad types). |
50| `google_ads_keywords_create` / `_update` / `_delete` / `_list` | Keywords (positive and negative). |
51| `google_ads_locations_search`, `google_ads_location_targets_add` | Resolve location names, target them. |
52| `google_ads_image_assets_upload` | Image assets — accepts `file_id` from the workspace file manager, `image_url`, or base64. |
53| `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). |
54| `google_ads_asset_groups_create` | PMax asset group (atomic: text + image assets in one call). |
55| `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. |
56| `google_ads_request` | Raw escape hatch for any uncovered endpoint. |
57| `data_apps_build`, `data_apps_refresh` | Optional dashboards / data apps for reports. |
58 
59## Rules that must never be forgotten
60 
61> **BUDGETS IN MICROS**: $50/day = 50,000,000 micros. Never pass dollar amounts directly.
62 
63> **ALWAYS START PAUSED**: Create campaigns with `status="PAUSED"`. Activate only after explicit user approval.
64 
65> **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 and reference each created resource by the `resource_name` the mutate returns. 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.
66 
67> **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.
68 
69> **GAQL GUARDRAILS**: Never join `ad_group_criterion` with `search_term_view`. Never query more than 5 sub-accounts in a single batch.
70 
71See [references/constraints.md](references/constraints.md) for the full constraint set.
72 
73> **All reference files live in `references/`.** Read them at `references/<file>` (e.g. `references/discovery.md`). They are not in the same directory as this SKILL.md.
74 
75## Core process
76 
77Every campaign build follows this sequence. Do not skip steps.
78 
791. **Identify the goal** — new campaign, reporting/analysis, or both?
802. **Check the routing table** and read the referenced files before calling any tools
813. **Discovery is mandatory for creation** ([references/discovery.md](references/discovery.md)) — account setup, site scan, conversion tracking check, market research, consultation
824. **Present the pre-creation summary** and wait for explicit approval
835. **Build in dependency order (budget → campaign PAUSED → targeting → ad groups → ads/assets)** after approval, re-checking [references/constraints.md](references/constraints.md) at each step
846. **Activate only when the user approves**
85 
86Full 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).
87 
88## Routing table
89 
90| The user wants to… | Read these files first |
91|---|---|
92| Create a Search or Display campaign | [references/discovery.md](references/discovery.md) → [references/campaigns/search-display.md](references/campaigns/search-display.md) |
93| Create a Performance Max campaign | [references/discovery.md](references/discovery.md) → [references/campaigns/pmax.md](references/campaigns/pmax.md) |
94| Add an asset group to an existing PMax campaign | [references/campaigns/pmax.md](references/campaigns/pmax.md) |
95| Create a Video, Demand Gen, Shopping, or App campaign | [references/discovery.md](references/discovery.md) → [references/campaigns/other-types.md](references/campaigns/other-types.md) |
96| Run a report / GAQL query / analyze performance (any kind) | [references/reporting.md](references/reporting.md) → the matching `references/reports/*.md` recipe |
97| Account health snapshot / "how is the account doing?" | [references/reporting.md](references/reporting.md) → [references/reports/account-overview.md](references/reports/account-overview.md) |
98| Diagnose conversion tracking | [references/reporting.md](references/reporting.md) → [references/reports/conversion-tracking.md](references/reports/conversion-tracking.md) |
99| Find wasteful search terms / negative keyword candidates | [references/reporting.md](references/reporting.md) → [references/reports/search-terms-waste.md](references/reports/search-terms-waste.md) |
100| Build a Google Ads dashboard or data app | [references/reporting.md](references/reporting.md) → matching report recipe's dashboard section |
101| Work across an MCC / many sub-accounts | [references/mcc.md](references/mcc.md) → [references/reporting.md](references/reporting.md) |
102| Goal not yet clear | [references/discovery.md](references/discovery.md) — discovery clarifies the goal |
103 
104Reporting responses follow [references/report-template.md](references/report-template.md); keep claims tied to queried data per [references/heuristics.md](references/heuristics.md).
105 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 90
Checked
Source
hyperfx-ai/marketing-skills ↗
Creator
hyperfx-ai · 11 listings
View creator

Similar skills

See all →
SkillGoogle Ads management skill with API integrationivangfalco/ads-skills · by ivangfalcoGoogle Ads management skill with API integration. Covers campaign creation, optimization, keyword management, performance analysis, and search term auditing via Python scripts that connect to the Google Ads API. MANDATORY TRIGGERS: Google Ads, Google campaign, Google search ads, Google PMax, Performance Max, Google Display, Google Shopping, Google ad performance, Google keyword, search terms, Google RSA, Google bidding, Google Ads API★ 275 GitHub starsSkillWrites paid ad copy for Facebook and Instagram AdsAd copy generatormarcosmodly/marketing-skill · by marcosmodlyWrites paid ad copy for Facebook and Instagram (Meta) Ads, Google Search Ads (RSA headlines and descriptions), and LinkedIn Ads: multiple variants per platform, each testing a different hook angle and sized to that platform's character limits, ready for A/B testing. Use when the user asks for ad copy, ad headlines, ad variants, PPC or paid social copy, Facebook ad text, Google Ads headlines, or A/B test copy for a paid campaign.★ 42 GitHub starsPromptGenerate compelling and effective title copy for Google AdsGoogle ads title copywriterf/prompts.chat · by SEM MetaxgtseoGenerate compelling and effective title copy for Google Ads campaigns, tailored to your target audience and objectives.New listingSkillHelp with paid advertising campaigns on Google Ads, Meta Paid adsdavila7/claude-code-templates · by davila7When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.★ 32.3k GitHub starsSkillAudit Google Ads measurement, Search, ShoppingGoogle Ads AuditAgriciDaniel/claude-ads · by AgriciDanielAudit Google Ads measurement, Search, Shopping, Performance Max, Demand Gen, YouTube-linked inventory, keywords and search terms, negative-keyword generation or review, creative assets, bidding, budgets, settings, and policy. Use for Google Ads, AdWords, Search campaigns, search terms reports, broad negatives, Shopping, Performance Max, PMax, Demand Gen, GAQL, Google conversion tracking, or Google campaign optimization.★ 9.5k GitHub starsSkillPaste what you're selling and share your MicrosoftMicrosoft Advertising AuditAgriciDaniel/claude-ads · by AgriciDanielPaste what you're selling and share your Microsoft Advertising numbers; get back a plain-English report on what's wasting money and what to fix first.★ 9.5k GitHub stars

More from hyperfx-ai

SkillGenerate on-brand ad creativesAd creative generationhyperfx-ai/marketing-skills · by hyperfx-aiGenerate on-brand ad creatives — visuals + copy — for Google, Meta (Facebook / Instagram), and other paid platforms via the Hyper MCP. Extracts brand identity from a website, writes ad copy variants, and produces brand-consistent images using reference-based image generation. Use when the user asks for ad creative, ad copy variants, RSA headlines, Meta ad creative, display ads, carousel ads, or A/B test variants.★ 90 GitHub starsSkillPlan and create Amazon Sponsored Products campaignsAmazon adshyperfx-ai/marketing-skills · by hyperfx-aiPlan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads, set up Sponsored Products, manage keyword targeting and bids, configure ASIN or category product targeting, add negative keywords, automate budget rules, analyze ACoS / ROAS, or generate Sponsored Products reports. Also triggers on amazon ppc, amazon campaign, amazon keywords, or amazon report.★ 90 GitHub starsSkillRun end-to-end B2B cold-email outreach through the Hyper MCPhyperfx-ai/marketing-skills · by hyperfx-aiRun end-to-end B2B cold-email outreach through the Hyper MCP — enrich prospects with Apollo, scrape per-prospect signals from company sites and LinkedIn, draft personalized emails using proven hook frameworks, send via Gmail with safe defaults, and route replies into labeled folders. Use when the user wants to write cold emails, run an outbound sequence, prospect a list, build a follow-up cadence, "reach out to leads," or asks why nobody is replying to their cold emails.★ 90 GitHub starsSkillManage Instagram professional accounts via the Hyper MCPhyperfx-ai/marketing-skills · by hyperfx-aiManage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mentions Instagram posts, Reels, Stories, carousels, IG DMs, Instagram comments, mentions, profile, or analytics. For paid Instagram advertising, use `meta-ads`.★ 90 GitHub starsSkillPublish and manage LinkedIn content via the Hyper MCPhyperfx-ai/marketing-skills · by hyperfx-aiPublish and manage LinkedIn content via the Hyper MCP — text posts, article / link previews, document and PDF posts, organization (company page) posts, and AI-generated text-to-carousel posts. Use when the user wants to post on LinkedIn, share an article on LinkedIn, post to a LinkedIn company page, upload a PDF / document to LinkedIn, or build a LinkedIn carousel from text.★ 90 GitHub starsSkillPlan and create Meta advertising campaigns end-to-endMeta adshyperfx-ai/marketing-skills · by hyperfx-aiPlan and create Meta (Facebook + Instagram) advertising campaigns end-to-end via the Hyper MCP, defaulting to Advantage+ automation. Use when the user wants to launch Meta ads, Facebook ads, Instagram ads, Advantage+ campaigns, carousel ads, dynamic creative ads, set up Meta conversion tracking, analyze performance, audit a Meta ads account, or build Meta performance dashboards. Also triggers on phrases like meta campaign, facebook campaign, advantage+, or meta account audit.★ 90 GitHub stars