Skip to content
Marketing
Skill

/google-ads

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

From plugin
hyper-marketing
10830 skills1 MCP

Claude Code

$ npx -y skills add hyperfx-ai/marketing-skills --skill google-ads --agent claude-code

SKILL.md

google-ads.SKILL.md
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).

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-generation` skill.
  • **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>`. 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_name` that 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_g

Read more
@hyperfx-ai
Ships withhyper-marketing

Agent Skills for marketing — paid ads, social media, SEO, AI search, competitor research, ad creative generation, email lifecycle, analytics, operations, and more.

10830 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
108
Star history of hyperfx-ai/marketing-skills on GitHub, a chart by star-history.com

Other skills on hyper-marketing.

amazon-ads

amazon-ads

Plan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads,…

brand-context

brand-context

Create and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about google-ads.

Which coding agents can use google-ads?
google-ads installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.