Agent skill

Google Ads Connect

by TheMattBerman in TheMattBerman/google-ads-copilot

Connected-mode onboarding, health check, and customer selection for Google Ads Copilot.

MITAuto-check passedMarketing & SEO

Install Google Ads Connect

skills CLI
$ npx skills add TheMattBerman/google-ads-copilot --skill google-ads-connect -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheMattBerman/google-ads-copilot google-ads-connect --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheMattBerman/google-ads-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-ads-connect .claude/skills/google-ads-connect && rm -rf skills-src

Use ~/.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/

Facts

Skill name
google-ads-connect
GitHub stars
238
Token cost
~2.2k tokens
SKILL.md length
713 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Connected-mode onboarding, health check, and customer selection for Google Ads Copilot.

  • Works in 5 steps: Verify MCP Server → Customer Discovery → Account Fingerprint → …
  • Tasks that involve Paid advertising
  • SKILL.md covers What This Skill Does, Commands, Step 1: Verify MCP Server and Step 2: Customer Discovery, plus 5 more sections
  • Needs GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_ADS_DEVELOPER_TOKEN

What it does

Google Ads Connect is an agent skill from TheMattBerman/google-ads-copilot. Connected-mode onboarding, health check, and customer selection for Google Ads Copilot. Verifies MCP server availability, discovers accessible accounts, helps the operator select the right customer ID, and writes the selection to workspace memory. Run this before any other skill when using connected mode for the first time — or whenever switching accounts.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Paid advertising. It works with Google Ads, Model Context Protocol and Google Cloud. The repository describes itself as: Google Ads Copilot: operator kit for audits, MCP-connected reads, export-mode analysis, and draft/apply workflows. The licence is MIT.

When your agent uses it

  • Tasks that involve Paid advertising

Example prompts

  • “/google-ads-connect”

Requirements

  • A credential in GOOGLE_ADS_DEVELOPER_TOKEN

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Verify MCP Server
  2. Customer Discovery
  3. Account Fingerprint
  4. Write to Workspace
  5. Health Check (standalone or end of setup)

What it can do on your machine

Read from SKILL.md and the folder at commit 2c253ee. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GOOGLE_APPLICATION_CREDENTIALS
    • GOOGLE_ADS_DEVELOPER_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Ads Connect loads about 2.2k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 713 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheMattBerman/google-ads-copilot at commit 2c253ee, republished under its MIT licence (© TheMattBerman). 713 words, ~2,183 tokens.

Download SKILL.mdSave it as .claude/skills/google-ads-connect/SKILL.md (or your agent's skills folder).
name
google-ads-connect
description
Connected-mode onboarding, health check, and customer selection for Google Ads Copilot. Verifies MCP server availability, discovers accessible accounts, helps the operator select the right customer ID, and writes the selection to workspace memory. Run this before any other skill when using connected mode for the first time — or whenever switching accounts.
argument-hint
setup | healthcheck | select [customer_id]

Google Ads Connect

This skill handles the plumbing so the other skills can focus on strategy.

Read workspace if available:

  • workspace/ads/account.md

What This Skill Does

  1. Setup check — verifies the MCP server is configured and responsive
  2. Customer discovery — lists all accessible accounts with names and IDs
  3. Customer selection — helps the operator choose the right account
  4. Account fingerprint — pulls basic account metadata and writes to workspace
  5. Health check — validates that data is flowing and queries return results

Commands

/google-ads connect setup

Full onboarding flow: check MCP → discover accounts → select account → fingerprint. Use this the first time you connect.

/google-ads connect healthcheck

Quick validation: MCP alive? Account selected? Data flowing? Use this before an audit or when something feels broken.

/google-ads connect select [customer_id]

Switch to a different account. Updates workspace memory.


Step 1: Verify MCP Server

Test: Call list_accessible_customers via the google-ads-mcp MCP server.

If it succeeds:

✅ MCP server is live
   Accessible accounts: N

If it fails, diagnose:

SymptomLikely CauseFix
MCP tool not foundServer not configured in MCP hostAdd config — see data/mcp-config.md
"No credentials found"GOOGLE_APPLICATION_CREDENTIALS missing or wrong pathCheck the env var points to a valid JSON file
"Developer token not approved"Token missing or pendingCheck GOOGLE_ADS_DEVELOPER_TOKEN env var
"Project not found"Wrong project IDUse GOOGLE_CLOUD_PROJECT (not GOOGLE_PROJECT_ID)
Connection timeoutpipx or network issueVerify pipx is installed, internet is up
"Manager account required"MCC access neededAdd GOOGLE_ADS_LOGIN_CUSTOMER_ID
Environment Variable Reference (Canonical)
VariableRequiredPurpose
GOOGLE_APPLICATION_CREDENTIALSYesPath to OAuth/ADC credentials JSON
GOOGLE_CLOUD_PROJECTYesGoogle Cloud project ID (⚠️ NOT GOOGLE_PROJECT_ID)
GOOGLE_ADS_DEVELOPER_TOKENYesGoogle Ads API developer token
GOOGLE_ADS_LOGIN_CUSTOMER_IDIf MCCManager account customer ID (no dashes)

⚠️ Common gotcha: The MCP server uses GOOGLE_CLOUD_PROJECT, not GOOGLE_PROJECT_ID. Earlier docs may reference the wrong name. GOOGLE_CLOUD_PROJECT is correct.


Step 2: Customer Discovery

Call list_accessible_customers. This returns customer IDs and descriptive names.

Present as a selection table:

markdown
## Accessible Google Ads Accounts

| # | Customer ID | Descriptive Name | Notes |
|---|-------------|-------------------|-------|
| 1 | 1234567890  | Acme Equipment Co. | |
| 2 | 9876543210  | Metro Recycling LLC | |
| 3 | 1234567890  | [Manager Account] | MCC — not a direct account |

Which account should we work with?
Account Selection Rules
  1. If only one account: Select it automatically, confirm with operator.
  2. If multiple accounts: Present the table and ask.
  3. If a customer ID was provided in the command: Use it, but verify it's in the accessible list.
  4. If workspace/ads/account.md already has a customer ID: Mention it — "Currently selected: [Name] ([ID]). Switch?"
  5. Manager (MCC) accounts: Flag them — these are container accounts, not advertisable accounts. Don't select them for analysis unless the operator explicitly asks.
Name Verification

Critical safety check: If the operator asked about a specific business (e.g., "audit Acme Equipment"), verify the descriptive name matches:

✅ Customer "Acme Equipment Co." (1234567890) matches your request.

or

⚠️ Warning: You asked about "Acme Equipment" but the closest match is 
   "Metro Recycling LLC" (9876543210). Please confirm this is the right account,
   or provide the correct customer ID.

This prevents auditing the wrong account — a real problem we encountered in live testing.


Show full SKILL.md (288 more words)Show less

Step 3: Account Fingerprint

Once a customer is selected, pull basic metadata:

Account overview query:

Resource: customer
Fields: customer.id, customer.descriptive_name, customer.currency_code, customer.time_zone, customer.auto_tagging_enabled, customer.status

Campaign summary query:

Resource: campaign
Fields: campaign.name, campaign.status, campaign.advertising_channel_type
Conditions: campaign.status != 'REMOVED'

Present the fingerprint:

markdown
## Account Fingerprint

| Field | Value |
|-------|-------|
| Customer ID | 1234567890 |
| Name | Acme Equipment Co. |
| Currency | USD |
| Timezone | America/New_York |
| Auto-tagging | Enabled ✅ |
| Account status | ENABLED |

### Campaigns
| Campaign | Status | Type |
|----------|--------|------|
| Search - Core Services | ENABLED | SEARCH |
| Brand - Acme Equipment | ENABLED | SEARCH |
| PMax - Lead Gen | PAUSED | PERFORMANCE_MAX |

**Active campaigns:** 2 search, 0 PMax
**Total campaigns:** 3 (1 paused)
Account Status Interpretation
StatusMeaningAction
ENABLEDActive, can serve adsProceed with analysis
SUSPENDEDBilling/policy issue, not servingFlag immediately — this is P0
CLOSEDPermanently closedCannot analyze, need different account
CANCELLEDCancelled by userCannot serve, may be recoverable

If suspended: Stop and surface this as the #1 finding. No amount of optimization matters if ads can't serve. Direct the operator to check Billing and Policy Center in the Google Ads UI.


Step 4: Write to Workspace

Update workspace/ads/account.md with the fingerprint:

markdown
## Last Updated
2026-03-14 by /google-ads connect

# Account Profile

## Identity
- Customer ID: 1234567890
- Descriptive Name: Acme Equipment Co.
- Currency: USD
- Timezone: America/New_York
- Account Status: ENABLED
- Auto-tagging: Enabled

## Connection
- Mode: Connected (google-ads-mcp)
- Last verified: 2026-03-14
- Accessible accounts: 3 (selected this one)

## Business
- Business model: [to be filled by audit]
- Industry: [to be filled by audit]
- Primary offer: [to be filled by audit]
- Geo scope: [to be filled by audit]

## Campaign Summary
- Search campaigns: 2 active
- PMax campaigns: 0 active (1 paused)
- Total campaigns: 3

## Notes
- [Any observations from the fingerprint]

Step 5: Health Check (standalone or end of setup)

Run a quick data flow validation:

  1. ✅ MCP server responds to list_accessible_customers
  2. ✅ Selected customer ID is accessible
  3. ✅ Account metadata query returns data
  4. ✅ Campaign query returns results
  5. ✅ At least one campaign is ENABLED (or note if all paused/suspended)
  6. ✅ A date-ranged query returns data (test: campaign metrics LAST_7_DAYS)

If step 6 returns zero rows: The account may be dormant. This is NOT a failure — it's useful information. Note: "Account is dormant — no activity in the last 7 days. Date range fallback will be needed for analysis."

Output:

## Health Check Results

| Check | Status | Notes |
|-------|--------|-------|
| MCP server | ✅ | Responding |
| Account access | ✅ | CID 1234567890 accessible |
| Account metadata | ✅ | Acme Equipment Co. |
| Campaign data | ✅ | 3 campaigns found |
| Active campaigns | ✅ | 2 ENABLED |
| Recent data (7d) | ⚠️ | No activity — account may be dormant |

**Ready for analysis:** Yes (use date range fallback for dormant periods)

Output Shape

  1. MCP server status
  2. Accessible accounts table
  3. Selected account fingerprint
  4. Account status and health flags
  5. Workspace memory update confirmation
  6. Readiness assessment for next steps

Rules

  • Always verify the account name matches the operator's intent — wrong-account audits waste everyone's time
  • Always note account status (suspended/dormant/active) prominently — it gates everything else
  • Always write the selection to workspace — other skills depend on account.md
  • Use GOOGLE_CLOUD_PROJECT in all docs and examples — not GOOGLE_PROJECT_ID
  • Flag MCC/manager accounts — they can't be analyzed directly

© TheMattBerman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/google-ads-connect of TheMattBerman/google-ads-copilot.

Open the folder on GitHubat commit 2c253ee

Compare with similar skills

Google Ads Connect 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.

Google Ads Connect compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Ads Connect this skillTheMattBerman/google-ads-copilot238—~2.2kAutomated safety check: PassMIT
Google Ads Landing Page Auditnowork-studio/notfair-plugin3.9k—~306Automated safety check: PassMIT
Google Analytics Admin API Basicsgoogle/skills21k—~1.9kAutomated safety check: PassApache-2.0
Google Ads API MCP Setupgoogle/skills21k—~6.1kAutomated safety check: NotesApache-2.0
21 Audit Ads Performanceminhnv0807/ai-business-skills610—~4.6kAutomated safety check: PassMIT
Connectindranilbanerjee/digital-marketing-pro8591 repos~2kAutomated safety check: PassMIT

Similar skills

  • Google Ads Landing Page Audit

    nowork-studio/notfair-plugin

    Scores Google Ads landing pages on five weighted dimensions and diagnoses why high-CTR ad groups convert poorly, with concrete fixes for each page.

    3.9k GitHub stars~306 tokensUpdated today
    Marketing & SEOAuto-check passed
  • Official

    Manages Google Analytics account and property settings, enables the Analytics Admin API via the Cloud CLI, lists accounts and properties, and manages data streams, custom dimensions, conversion…

    21k GitHub stars~1.9k tokensUpdated today
    Marketing & SEOAuto-check passed
  • Official

    Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server.

    21k GitHub stars~6.1k tokensUpdated today
    Marketing & SEOAuto-check: notes
  • 21 Audit Ads Performance

    minhnv0807/ai-business-skills

    Dung khi can ra soat CAU HINH tai khoan quang cao mot cach he thong — 6 khau tu account, campaign, adset, creative, landing den tracking, cham Health Score 0-100 va liet ke Quick Wins.

    610 GitHub stars~4.6k tokensUpdated 27 days ago
    Marketing & SEOAuto-check passed
  • Connect

    indranilbanerjee/digital-marketing-pro

    Guide the connection of a known MCP integration to the plugin — looks up the connector registry via connector-status.py, checks current status, and returns transport-specific setup steps (OAuth for…

    859 GitHub starsUsed in 1 repo~2k tokens
    Marketing & SEOAuto-check passed
  • Launch Ad Campaign

    indranilbanerjee/digital-marketing-pro

    Create and launch a paid ad campaign on Google, Meta, LinkedIn, or TikTok through the connected ad-platform MCP — campaign structure, audience targeting, bid strategy, negative targeting, creative…

    859 GitHub starsUsed in 1 repo~3.9k tokens
    Marketing & SEOAuto-check passed

More from TheMattBerman/google-ads-copilot

All 16 skills in this repo
  • Google Ads

    TheMattBerman/google-ads-copilot

    Google Ads operator system for search-term analysis, intent mapping, wasted spend control, account structure decisions, tracking diagnostics, RSA generation, budget review, account planning, and…

    238 GitHub stars~4.1k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Apply

    TheMattBerman/google-ads-copilot

    Execute approved draft actions in Google Ads accounts. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Audit

    TheMattBerman/google-ads-copilot

    Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read.

    238 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Budget

    TheMattBerman/google-ads-copilot

    Review Google Ads budget allocation and scaling decisions based on signal quality, intent clarity, tracking confidence, and structural health.

    238 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Daily

    TheMattBerman/google-ads-copilot

    Daily operator review for Google Ads. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Draft Summary

    TheMattBerman/google-ads-copilot

    Summarize all pending drafts across accounts. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~2.1k tokensUpdated 4 mo ago
    Auto-check passed

Categories

Questions about Google Ads Connect

What does Google Ads Connect do?

Connected-mode onboarding, health check, and customer selection for Google Ads Copilot. Google Ads Connect is an agent skill from TheMattBerman/google-ads-copilot. Connected-mode onboarding, health check, and customer selection for Google Ads Copilot.

When should I use Google Ads Connect?

Google Ads Connect fits situations like: tasks that involve Paid advertising.

How do I install Google Ads Connect in Claude Code?

Run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-connect -a claude-code`. Or copy the skill folder (skills/google-ads-connect in TheMattBerman/google-ads-copilot) into .claude/skills/google-ads-connect in your project. Claude Code loads it when a task matches its description.

How do I install Google Ads Connect in Codex?

Run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-connect -a codex`. Or copy the skill folder (skills/google-ads-connect in TheMattBerman/google-ads-copilot) into .agents/skills/google-ads-connect in your project. Codex loads it when a task matches its description.

Can I use Google Ads Connect in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-connect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-ads-connect, .gemini/skills/google-ads-connect, .github/skills/google-ads-connect and .opencode/skills/google-ads-connect in your project.

What does Google Ads Connect need to run?

Going by SKILL.md and its folder, Google Ads Connect needs credentials named GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_ADS_DEVELOPER_TOKEN. Our summary lists: A credential in GOOGLE_ADS_DEVELOPER_TOKEN.

Does Google Ads Connect access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Google Ads Connect safe to install?

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. Review the folder before installing.

What licence does Google Ads Connect use?

Google Ads Connect is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Ads Connect use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Google Ads Connect?

Skills that share tags, products or a category with Google Ads Connect: Google Ads Landing Page Audit (nowork-studio/notfair-plugin, 3.9k stars), Google Analytics Admin API Basics (google/skills, 21k stars), Google Ads API MCP Setup (google/skills, 21k stars) and 21 Audit Ads Performance (minhnv0807/ai-business-skills, 610 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Ads Connect?

TheMattBerman (a GitHub user) maintains it in TheMattBerman/google-ads-copilot, which has 238 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on June 10, 2026.

Source: TheMattBerman/google-ads-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.