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.

Find your route ↓

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 ClaudeWhat it can connect toWhere you add it
claude.ai, the desktop app and the mobile apps (custom connector)A server at a public HTTPS addressPro 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 serverA server that runs on your own computerSettings > Developer > Edit Config, which opens claude_desktop_config.json
Claude CodeEither kindThe 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 card

Route 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.

  1. 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.
  2. Credentials with the Google Ads scope. The README uses Application Default Credentials: gcloud auth application-default login with your OAuth client file and two scopes, https://www.googleapis.com/auth/adwords and https://www.googleapis.com/auth/cloud-platform. The command prints where it saved the credentials file. Keep that path.
  3. pipx, the Python tool that runs the server without installing it for good.
  4. 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_CREDENTIALS=/path/to/file.json -e GOOGLE_PROJECT_ID=your-project -- pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp.

If you reach your accounts through a manager account, add GOOGLE_ADS_LOGIN_CUSTOMER_ID 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 change

Route 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:

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 card

What 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:

LockWhat it stopsWhere you set it
The server’s toolsClaude 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 levelA 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 signsNothing 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 for

Questions 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.

Meta next? Meta hosts its own connector, and it can write

Related reading

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.