Skip to main content

Conversion Uplift

How to connect Claude to Google Ads

How to connect Claude to Google Ads

If you spend time moving between Google Ads reports, account screens and spreadsheets just to answer a straightforward question, connecting Claude to Google Ads can give you a quicker way to investigate the numbers. This guide shows you how to connect Claude Desktop to the Google Ads API through Google’s Google Ads MCP server. The setup is read-only which means Claude can query and analyse account data, but this configuration does not give it permission to create, edit or pause campaigns.

I’ve written this for Windows and for people who are comfortable following a technical setup but do not want to spend an afternoon working out which Google account ID goes where. Allow roughly 25 to 30 minutes for the hands-on work. Google’s API approval can take longer if your developer token is not given production access automatically.

Prefer to watch a video?

The video below walks through the complete setup, from creating the Google Cloud project through to running your first Google Ads query in Claude.

On this page

What this setup connects:

  • A Google Cloud project, which holds the Google Ads API access and OAuth credentials.
  • A Google Ads Manager account (MCC), where your developer token lives and where client accounts can be linked.
  • Google Cloud CLI (gcloud), which handles the local Google sign-in and Application Default Credentials.
  • Claude Desktop, which runs the Google Ads MCP server and lets you ask questions in plain English.

Before you start, you will need:

  • A Google account with access to the Google Ads accounts you want to analyse.
  • A Google Ads Manager (MCC) account, or permission to create one.
  • A Google Cloud project.
  • Claude Desktop installed.
  • Python and pipx installed on your Windows computer.
  • Git installed before the MCP server runs for the first time.

Security point

Treat your OAuth client secret, developer token and local credential files like passwords. Do not paste live credentials into a blog post, shared document, public repository or chat transcript.

Step 1: Set up the Google Cloud project

You must have a Google account of some kind to use Google Cloud. Sign in to the Google Cloud Console with your existing Google account (personal Gmail or Google Workspace), accept the terms if prompted, and you’ll then be able to create your first Google Cloud project.

For this read-only Google Ads MCP setup, you do not need to enable Google Cloud Billing. Billing is only required if you later decide to use paid Google Cloud services such as Cloud Run, BigQuery or Vertex AI. So, go to the Google Cloud Console. You can use an existing project or create a new one. Make a note of the Project ID. This is not the same as the project name or project number, and you will need the Project ID in the Claude configuration later.

Google Cloud Console: console.cloud.google.com

Welcome Google Cloud

Welcome Google Cloud

With the same project selected, use the “Quick access”tiles at the bottom of the welcome page, and select “API APIs & Services”. Then  select “Library” in the menu on the left and enter the folliwing into the  search box  “Google Ads API”. This will take you to the API page, and click Enable. This is separate from any other APIs already switched on in the project, so it’s easy to miss.

Google Ads API

Google Ads API

Make absolutely sure you enable the Google Ads API in the same project whose ID you’ll use later. Enabling it on a different project is one of the most common reasons the tool returns a “not enabled” error at the end.

Step 2: Configure the Google Auth Platform

In the same Google Cloud project, select the “OAuth Consent Screen” from the lef-hand menu, and open the page. Click “Get started” to complete the app information. Enter a clear name such as “Google Ads MCP” and enter your own monitored email address for the support and contact details. Click “Next”.

App information entered

App information entered

For the Audience, choose External (Not internal – don’t make my mistake) as the app needs to be authorised by a Google account outside your own Workspace organisation.

Click Continue, enter your contact information (your email address), and Continue.

App information email

App information email

Click Finish to complete the initial setup, then return to Google Auth Platform and select Audience from the left-hand menu. Here, you need to Publish the app because otherwise tokens normally expire after seven days. Publishing avoids having to repeat the sign-in every week. Click to Confirm.

Confirm Publish New UI

Confirm Publish New UI

What if Google shows an unverified-app warning?

For a private setup that you are using yourself, an unverified warning can still appear. Read the warning and only continue when you recognise the app, project and account involved. Workspace administrators can also control whether an app is trusted or blocked.

Step 3: Create the OAuth desktop client

We now need to go to Clients in the left-hand menu and create a desktop app. Click on “Create client” at the top of the page, and choose Desktop app as the application type and give it a recognisable name, for example “Google Ads MCP”.

Create Client Desktop

Create Client Desktop

Copy the Client ID and the secret key in a secure and private location as you will need these later. Then download the client JSON and save it on your C: drive in a folder called “Keys”. This means Claude knows where to locate the secret key. In the video example I use the name of:

C:\keys\google-ads-mcp.json

That JSON file contains your OAuth client details. Do not publish it or commit it to a public repository.

Step 4: Create or confirm your Google Ads Manager account

The developer token is issued from a Google Ads Manager account, often called an MCC. If you do not already have one, create a manager account and link the Google Ads accounts you need to analyse. To create a Google Ads Manager accounts, go to ads.google.com/home/tools/manager-accounts

Give it your business name (no web addresses in the name), choose “Manage other people’s accounts”, and set your country, time zone and currency.

Write down the 10-digit Manager Customer ID shown in Google Ads. In the MCP configuration it is used as GOOGLE_ADS_LOGIN_CUSTOMER_ID, with the dashes removed.

Example

If your MCC ID is 123-456-7890, use 1234567890 in GOOGLE_ADS_LOGIN_CUSTOMER_ID.

Step 5: Get the Google Ads developer token

While signed in to the Manager account, open Admin and select API Center from the menu. Complete the API access form below as the developer token is required for Google Ads API calls.

Google Ads API Centre

Google Ads API Centre

Google now has four access levels: Test Account, Explorer, Basic and Standard. Explorer Access can query production accounts and is often enough for this read-only reporting setup. If Google gives you Test Account Access only, production accounts will not work until your access is upgraded. Basic Access raises the daily production quota and removes some Explorer restrictions.

Do not wait for Basic if you already have Explorer Access. For a read-only diagnostics setup, Explorer Access may be enough to start. Apply for Basic if you need the higher quota or functionality that Explorer restricts.

In the Manager account, go to Accounts, and select Sub-account settings. Use the + button and choose Link existing account. Enter the 10-digit customer IDs for the accounts you want to analyse.

The owner of each account must accept the manager-link request. Claude will only be able to query accounts available to the Google user you authenticate with.

Step 7: Install Google Cloud CLI and sign in with the Ads scope

Next, we need to download Google Cloud CLI for Windows from Google. You can go to PowerShell and run the command:

(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& $env:Temp\GoogleCloudSDKInstaller.exe

This will open up G Cloud SLI or you can download it using the link below

cloud.google.com/sdk/docs/install

 

Run the installer and keep Bundled Python selected. After installation, close any open PowerShell windows and open a new one so the PATH update is picked up.

 

CLI Bundled Python

CLI Bundled Python

Check the installation by pasting this into a new PowerShell window:

gcloud --version

Then authenticate the Application Default Credentials with the Google Ads and Cloud Platform scopes. If your OAuth client JSON is stored at C:\keys\google-ads-mcp.json, run this as one line. Modify this if you are using a different location.

gcloud auth application-default login --scopes="https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform" --client-id-file="C:\keys\google-ads-mcp.json"

A browser window should open. Sign in with the Google account that has access to the Ads accounts you want to query. When gcloud finishes, make a note of the Application Default Credentials file path it prints. This is a different JSON file from the OAuth client JSON you downloaded in Step 3.

 

Keep the scopes together. Run the command as one line and keep the scopes inside quotes. This avoids PowerShell splitting the command at the comma.

Step 8: Add the Google Ads MCP server to Claude Desktop

Before editing Claude, make sure Git is installed. The server is pulled from Google’s GitHub repository the first time it runs. You can install Git with Windows Package Manager:

winget install --id Git.Git

In Claude Desktop, open Settings, then Developer and Edit Config. This takes you to the folder where the Claude Config file is saved. Open the file and keep any existing MCP servers in the file. We will need to add the Google Ads server alongside them.

But before we do that, confirm the location of pipx by pasting this into a PowerShell window:

where.exe pipx

Use the path returned on your machine. The current Google Ads MCP documentation also recommends setting GOOGLE_APPLICATION_CREDENTIALS to the Application Default Credentials path printed by gcloud and GOOGLE_CLOUD_PROJECT to your Cloud Project ID. To keep it simple, I paste the existing Claude Config script into a Claude chat, alongside the new Google Ads MCP scipt, and ask it to modify the Config code. This helps prevent simple errors, such as too many or too few braces.

"google-ads": {
  "command": "C:\\path\\to\\pipx.exe",
  "args": [
    "run",
    "--spec",
    "git+https://github.com/googleads/google-ads-mcp.git",
    "google-ads-mcp"
  ],
  "env": {
    "GOOGLE_APPLICATION_CREDENTIALS": "C:\\path\\printed\\by\\gcloud\\application_default_credentials.json",
    "GOOGLE_PROJECT_ID": "YOUR_GOOGLE_CLOUD_PROJECT_ID",
    "GOOGLE_CLOUD_PROJECT": "YOUR_GOOGLE_CLOUD_PROJECT_ID",
    "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
    "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MCC_ID_WITHOUT_DASHES"
  }
}

What the three Google Ads values mean

SettingUse this value
GOOGLE_PROJECT_IDYour Google Cloud Project ID, not the display name and not the project number.
GOOGLE_ADS_DEVELOPER_TOKENThe token shown in the Google Ads Manager account under Admin > API Center.
GOOGLE_ADS_LOGIN_CUSTOMER_IDYour Google Ads Manager (MCC) Customer ID with the hyphens removed.

Step 9: Restart Claude and test the connection

Save the configuration and fully restart Claude Desktop. Closing the window may leave Claude running in the background, so use Task Manager if necessary and end the Claude processes before reopening it.

In Claude Desktop, check Settings, then Developer and  you will see all the Local MCP servers. Google Ads MCP should be displayed.

Claude Local MCP Servers

Claude Local MCP Servers

If it is present, open a new chat and ask:

“Using the google-ads server, call list_accessible_customers and show the customer IDs.”

A list of customer IDs confirms that Claude can reach the Google Ads API with your authenticated account. If you see “developer token only approved for test accounts”,

your MCP configuration may be fine. Check the Access level in Google Ads, Admin, API Center. You need Explorer, Basic or Standard Access to query production accounts.

Troubleshooting the common problems

The Google Ads server does not appear

Fully quit Claude, reopen it and confirm you edited the config file opened by Settings > Developer > Edit Config.

The server starts with an error

Check that Git is installed and that the command points to the real pipx executable returned by where.exe pipx.

Google says the Ads API is not enabled

Confirm the Google Ads API is enabled on the exact Google Cloud Project ID used in the configuration.

The OAuth sign-in is blocked

Confirm you are using your own OAuth client JSON and that your Workspace administrator has not blocked the app or requested scopes.

Authentication worked, then stopped after a week

Check Google Auth Platform > Audience. An External app left in Testing is subject to the seven-day refresh-token limit.

One account is missing

Check that the account is linked to the MCC where required and that the Google user you authenticated with can access it.

A few ways to use the connection

Once the server is working, start with questions that help you investigate an account rather than asking for a broad summary. For example:

  • Which campaigns spent the most in the last 30 days, and how did their conversion rate change?
  • Show me campaigns where spend increased but conversions fell compared with the previous period.
  • Which customer IDs can I access through this login?
  • For customer ID 1234567890, show campaign performance this week and flag the largest changes.

For most account-level questions, include the customer ID in your prompt. That is especially useful when one Google login can access several client accounts.

Frequently asked questions

Is the Google Ads MCP connection read-only?

The Google Ads MCP server described here exposes search, metadata and customer-listing tools for analysis. This setup is intended for reading and investigating Google Ads data, not changing campaigns.

Is GOOGLE_ADS_LOGIN_CUSTOMER_ID my MCC ID?

Yes, when your access to the client account goes through a manager account. Use the 10-digit Manager Customer ID without hyphens.

Do I need Basic Access for the developer token?

Not always. Explorer Access can query production accounts and is often enough for read-only diagnostics. Test Account Access cannot query live production accounts.

Why should I publish the OAuth app?

If an External OAuth app stays in Testing, Google normally expires its refresh tokens after seven days. Publishing it as In production removes that testing limitation.

Is the OAuth client JSON the same as the ADC credentials file?

No. The OAuth client JSON identifies your OAuth application. The Application Default Credentials file is created by gcloud after you sign in. Keep both private and use the path that applies to each step.

Keep the connection secure

  • Store OAuth and ADC JSON files in a private folder with suitable Windows permissions.
  • Treat the developer token and client secret as credentials.
  • Do not commit credential files to Git or paste them into public support threads.
  • Reset a token or secret if you believe it has been exposed, then update the local configuration.

What to do next

Once you can list accessible customers, test the connection on one account you know well. Ask Claude for a simple campaign or conversion report, compare the result with the Google Ads interface, then build up to more useful diagnostic questions.

The value is not in producing another generic account summary. It is in shortening the time between spotting a performance question and getting to the rows of data that can answer it.

Need help with the analysis?

Claude will answer whatever your Google Ads account tells it. If the conversion tracking behind those numbers is wrong, you still get a confident answer, just built on the wrong data.

That is the part we handle. Neal wrote the official GA4 and GTM audit course for CXL, and we check the tracking behind the accounts before anyone acts on what the numbers say. We also audit analytics setups and investigate conversion performance.

Book Your Free Audit

Prefer to talk it through first? Get in touch or email [email protected].

Related reading: connect Claude to Google Analytics 4, connect Claude to Google Tag Manager with a self-hosted MCP server, and the Google Analytics audit checklist.

Official resources:

Neal Cole

Neal Cole

Neal is the founder of Conversion Uplift and the author of the official GA4/GTM audit course for CXL. It's the course much of the industry trains on. He's spent over 20 years in digital analytics, including senior roles in online gaming and financial services, working out where businesses' numbers go wrong and what it costs them. His work now focuses on server-side tracking, GA4 and BigQuery: getting the data right, and being the person who's accountable for it when a decision depends on it.
Neal Cole

Neal Cole

Neal is the founder of Conversion Uplift and the author of the official GA4/GTM audit course for CXL. It's the course much of the industry trains on. He's spent over 20 years in digital analytics, including senior roles in online gaming and financial services, working out where businesses' numbers go wrong and what it costs them. His work now focuses on server-side tracking, GA4 and BigQuery: getting the data right, and being the person who's accountable for it when a decision depends on it.
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Free audit checklist to

Fix GA4 Tracking Like a Professional

Acceptance
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Free audit checklist to

Fix GA4 Tracking Like a Professional

Acceptance