Guide · Google Ads · Claude
How to connect Claude to Google Ads, and what it can change once it is in
Google does not host a connector you can paste into Claude. Its server is open source, and it runs wherever you run it. Here is the route for each Claude you might be using, checked on 31 October 2026.
Short answer: there are three routes. Run Google’s open-source Google Ads MCP server on your computer and add it to Claude Desktop or Claude Code. Add a hosted connector by its address in Claude’s Connectors settings, and sign in with Google. Or build your own on the Google Ads API. Whichever you pick, the Google Ads scope also writes. What Claude can change depends on the server’s tools and on the access level of the Google user you sign in with.
Which Claude are you using?
The route depends less on Google than on where your Claude runs. A connector added in claude.ai is called from Anthropic’s cloud, not from your computer. So it can only reach a server at a public web address. A server that runs on your own machine needs Claude Desktop or Claude Code.
| Where you use Claude | What it can connect to | Where you add it |
|---|---|---|
| claude.ai, the desktop app and the mobile apps (custom connector) | A server at a public HTTPS address | Pro and Max: Customize > Connectors > + Add > Add custom connector. Team and Enterprise: an Owner adds it in Organization settings > Connectors. The Free plan allows one custom connector. |
| Claude Desktop, with a local server | A server that runs on your own computer | Settings > Developer > Edit Config, which opens claude_desktop_ |
| Claude Code | Either kind | The claude mcp add command |
Plans and menu names from Anthropic’s help article on custom connectors, checked on 31 October 2026. The labels have moved before, so look for Connectors if yours read differently.
Or try Climent Ads on one of your own accounts: 14 days, no cardRoute 1: Google’s open-source server on your computer
Google publishes the code at github.com/googleads/google-ads-mcp. It lists three tools: list_accessible_customers shows the accounts your login can reach, search runs a query, and get_resource_metadata describes the fields. All three read. It is the cautious option, and it is the one with the most setup.
- A Google Cloud project with the Google Ads API enabled. It needs at least Explorer access to read real accounts. Since 9 September 2026 that access belongs to the project, not to a developer token. The Google Ads API access guide covers the four levels.
- Credentials with the Google Ads scope. The README uses Application Default Credentials:
gcloud auth application-default loginwith your OAuth client file and two scopes,https://www.googleapis.com/andauth/ adwords https://www.googleapis.com/. The command prints where it saved the credentials file. Keep that path.auth/ cloud-platform - pipx, the Python tool that runs the server without installing it for good.
- The server in Claude’s config. In Claude Desktop, open Settings > Developer > Edit Config and add the block below, then restart the app.
claude_desktop_config.json, with your own path and project
{
"mcpServers": {
"google-ads": {
"command": "pipx",
"args": ["run", "--spec", "git+https://github.com/googleads/google-ads-mcp.git", "google-ads-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/application_default_credentials.json",
"GOOGLE_PROJECT_ID": "your-cloud-project-id"
}
}
}
}
In Claude Code
In Claude Code the same server is one command: claude mcp add google-ads -e GOOGLE_APPLICATION_.
If you reach your accounts through a manager account, add GOOGLE_ADS_LOGIN_ with the manager’s ID, without dashes. The README still lists a developer token variable, marked optional. Leave it out unless an error asks for it.
Check that it works
To check it works, ask Claude which Google Ads accounts it can see. That calls list_accessible_customers, and an empty list means the Google user behind the credentials has no access to any account.
And from claude.ai or your phone?
Then the server has to live at a public address. Google documents running it on Cloud Run with its own OAuth mode, and you would add that address as a custom connector. That is hosting work: you decide who can sign in, and Google Cloud bills the service.
Or skip the setup: the Google Ads MCP options, and what each one can changeRoute 2: a hosted connector
A vendor runs the server, and you paste its address into Claude. On Pro or Max: Customize > Connectors > + Add > Add custom connector, a name, the address, then Add. Claude finds the sign-in on its own, and you sign in with the Google account that sees your ad accounts. In each conversation, switch the connector on from the + menu.
Before you click Allow on Google’s screen, three things are worth checking:
- What its tools can do. Some vendors only read. Others pause campaigns, change budgets and add keywords. The scope Google shows you is the same in both cases.
- Whose app you are signing into. The consent screen names the app. It should match the vendor you chose.
- Where your data goes. A hosted server sees every answer it sends to Claude. If you manage clients, that is their data, not yours.
Climent Ads has its own server in the hosted app. It is in testing, behind OAuth, and it reads the data already imported into the console rather than calling Google live. A campaign changes only through a proposal that a person signs in the product.
Route 3: build your own
If you want your own tools, you need the same Cloud project, an OAuth client and a consent screen. A public app needs Google’s verification first. The API access guide walks through each piece, and MCP vs API covers what changes once the model picks the calls.
Or try Climent Ads on one of your own accounts: 14 days, no cardWhat Claude can change once it is connected
Google has one scope for the Google Ads API, and it lets an app see, edit, create and delete. There is no read-only scope. So reading-only has to be set somewhere else, and there are three places to do it:
| Lock | What it stops | Where you set it |
|---|---|---|
| The server’s tools | Claude cannot call a tool that does not exist. Google’s server lists three, and none of them writes. | Your choice of server |
| The Google user’s access level | A user with Read only access cannot change anything, whatever the tools try. | Google Ads > Admin > Access and security. The access levels guide lists all five. |
| A person who signs | Nothing reaches the account until someone approves it. | Only in tools built that way |
For a client’s account, the cleanest setup is a separate Google user with Read only access, and you sign in to the connector with that one. If the connector ever asks for more, the account says no.
Reading has limits too. Explorer access allows 2,880 operations a day on real accounts, and one question can run several queries. Claude writes the queries itself, so check the date range and the filters before you trust a total. And if you also connect Meta, the two platforms’ numbers do not add up without some care.
Which access level to give a connector, and which to ask a client forQuestions people actually ask
Does Google have an official Google Ads connector for Claude?
Google publishes an open-source Google Ads MCP server, and you run it yourself: on your computer for Claude Desktop or Claude Code, or on Cloud Run for claude.ai. On 31 October 2026 I found no address hosted by Google that you can paste into Claude.
Can Claude change my Google Ads campaigns?
Only if the server has tools that write and the Google user you signed in with is allowed to. Google’s own server lists three tools that read. A hosted connector may write. Give the connector a user with Read only access and it cannot change anything.
Do I need a developer token to connect Claude to Google Ads?
No. Since 9 September 2026 Google Ads API access belongs to your Google Cloud project, at Test, Explorer, Basic or Standard. Google’s server still lists a developer token variable, marked optional.
Which Claude plan do I need?
Custom connectors work on Free, Pro, Max, Team and Enterprise. The Free plan allows one. On Team and Enterprise an Owner adds the connector and each member connects their own account. A local server only needs Claude Desktop or Claude Code.
Can I connect a client’s Google Ads account?
Yes, if your Google user has access to it. Through a manager account, set the login customer ID to the manager’s ID. For a client, ask for a Read only user and connect with that one, so the connector cannot change their campaigns.
Is it free?
Google’s server and the Google Ads API cost nothing. You pay for your Claude plan, and for Cloud Run if you host the server there. A hosted connector has its own price.
Related reading
- How to connect Claude to Meta Ads. Meta hosts its connector, so the setup is shorter, and the permissions matter more.
- How to connect Claude to Google Analytics. GA4 has a read-only scope, so the lock goes on at the sign-in.
- Google Ads API access after the developer token. The Cloud project, the four access levels and the consent screen.
- Google Ads access levels. The five levels for people, and why Read only is the one for a connector.
- Google Ads MCP: the options. Official, third-party and ours, and what each one can change.
- Connect your AI to your ad data. The same choice across Meta and Google, for any assistant.
- What is MCP. The standard behind every connector, in plain words.
Written by Manuel Climent · Last updated:
Who wrote this
I’m Manuel Climent, Manu to most people. I’m a media buyer, and I built Climent Ads Assistant because no ads software I paid for was worth it. It reads Meta, Google Ads, GA4 and Search Console one client at a time, and changes a campaign only through a proposal that a person signs in the product.