Google Ads
Google Ads for AI agents: campaign, ad group, ad and keyword performance, search terms, Quality Score, budget pacing and impression share, conversion actions, change history, recommendations, manager (MCC) accounts and any GAQL query. 17 read-only tools, OAuth2.
7-day free trial · No credit card · EU-hosted
Ask Google anything
Try a real prompt against Google Ads via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.
Install Google on CloudClaude is AI and can make mistakes. Please double-check responses.
Setup in 2 minutes
- 1Start a free trial on cloud.anythingmcp.com.
- 2Click Google Ads in the connector store. Paste credentials when prompted.
- 3Mint an MCP API key and point your AI client at the generated MCP URL.
Guides for Google
Step-by-step setup for the most popular AI clients.
Setting up Google Ads
From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.
This connector reads the Google Ads API (googleads.googleapis.com, v25) with Google Ads Query Language (GAQL): accounts and manager (MCC) hierarchies, campaigns, ad groups, ads, keywords, search terms, budgets and impression share, conversion actions, change history and recommendations. 17 tools, all read-only.
Start with gads_playbook. It costs no API call and maps common questions (account health, wasted spend, negative keywords, Quality Score, budget pacing, period comparison, tracking audit, Performance Max, MCC roll-ups) to the right tools and tested GAQL queries.
Setup (one-time, about 15 minutes)
- Open https://console.cloud.google.com, pick or create a project, then APIs & Services → Library → enable Google Ads API.
- Open the Google Ads API page of that project and check its access level. Since 9 September 2026 access is granted to the Cloud project: no developer token and no manager account are needed. A new project starts at Test access, which only reaches test accounts (production accounts answer
CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION). Request Explorer access (production accounts, 2,880 operations a day, often approved automatically) or Basic access (15,000 a day, needs brand verification of the project). - APIs & Services → OAuth consent screen: Internal on Google Workspace, otherwise External with publishing status In production. While an app is in Testing, Google revokes its refresh tokens after 7 days.
- Credentials → Create credentials → OAuth client ID → Web application → authorized redirect URI
<your AnythingMCP URL>/api/mcp-oauth/callback(on AnythingMCP Cloud:https://cloud.anythingmcp.com/api/mcp-oauth/callback). - Paste the client ID and secret into
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET. If you reach client accounts through a manager account, also setGOOGLE_ADS_LOGIN_CUSTOMER_IDto the manager's 10-digit id; leave it empty for accounts you were invited to directly. - On the connector page click Authorize with Provider and sign in with a Google user that has access to the Google Ads accounts. The refresh token is stored encrypted.
Permissions: Google Ads has a single OAuth scope (adwords) and it is not read-only, but this connector only exposes read tools. What the agent can see is what the signing-in user can see; a Google Ads user with the Read only role is the safest choice.
Accounts (customer_id)
- Always 10 digits without dashes.
gads_list_accessible_customerslists accounts the user can open directly;gads_list_client_accountson a manager id lists the accounts below it. - A manager account holds no campaigns: querying campaigns on a manager id returns nothing or an error. Query its client accounts.
USER_PERMISSION_DENIEDon a client account usually meansGOOGLE_ADS_LOGIN_CUSTOMER_IDis missing or is not a manager above that account.
Reading the numbers
- Money is in micros of the account currency:
cost_micros12500000 = 12.50. Divide by 1,000,000 and name the currency fromgads_get_customer.average_cpcandcost_per_conversionare micros too. - 64-bit numbers (ids,
impressions,clicks,cost_micros) arrive as JSON strings.ctrand impression shares are fractions (0.034 = 3.4%). - Dates are
YYYY-MM-DDin the account's time zone. Report tools needstart_dateandend_date; compute them from today. Today's data is partial and conversions keep arriving for days after a click, so the last 2-3 days understate conversions. - Report tools can return campaigns, ad groups or ads with zero metrics (paused, or idle in the range); they sort last, so skip them when summarising. Keyword and search-term reports only return rows with impressions. Results are capped by
limit; if you get exactlylimitrows, there are probably more.
GAQL (gads_run_gaql): SELECT fields FROM resource WHERE … ORDER BY … LIMIT n. Conditions combine with AND only (no OR; use IN). LIKE is case-sensitive; REGEXP_MATCH takes RE2 ('(?i)brand'). Relative ranges: segments.date DURING LAST_30_DAYS (also LAST_7_DAYS, LAST_14_DAYS, LAST_MONTH, THIS_MONTH, YESTERDAY, TODAY). A field used in WHERE on segments.* other than date must also be selected. Not every field combines with every resource: when the API says a field is incompatible, check it with gads_query_field_catalog.
Errors: CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION = the Cloud project still has Test access (step 2). RESOURCE_EXHAUSTED = daily or per-minute quota of the Cloud project, which every connector sharing that project draws from. UNRECOGNIZED_FIELD / PROHIBITED_* = a GAQL field name or combination problem. CUSTOMER_NOT_ENABLED = the account is cancelled or not yet set up. 401 = authorize again from the connector page.
Your AI is two clicks away from Google Ads.
Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.