# Google Ads in Claude.

Adwarp is an open-source MCP server and CLI that connects Claude Code and Claude Desktop to Google Ads. Set it up from your terminal, then ask Claude to research keywords, build paused Search campaigns and pull reports.

```text
$ claude
> Build a Search campaign for revops automation at 50 USD a day.
adwarp.gads_keyword_ideas "revops automation": 50 ideas
adwarp.gads_launch_search_campaign dry run, 50 USD/day: valid
Validated by Google. Nothing was created yet.
Confirm and it's created paused. You switch it on in Google Ads.
```

## Set up in 3 steps.

1. Get Google Ads API access. A developer token from your Google Ads manager account, plus a Desktop app OAuth client in Google Cloud.

   [ads.google.com/aw/apicenter](https://ads.google.com/aw/apicenter)
2. Sign in from your terminal. Add both to ~/.adwarp/google.json, and Adwarp opens your browser for Google's approval.

   `npx -y adwarp google auth login`
3. Add it to Claude Code. 1 command, and Claude can use all 9 Google Ads tools on your machine.

   `claude mcp add adwarp -- npx -y adwarp mcp`

### Using Claude Desktop instead?

Add Adwarp to your Claude Desktop config and restart the app. It runs on your machine, so the Google tools work there too.

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "adwarp": { "command": "npx", "args": ["-y", "adwarp", "mcp"] }
  }
}
```

## 5 prompts to try first.

### Find keyword ideas for revops automation in the US.

```text
$ claude
> Find keyword ideas for revops automation in the US.
adwarp.gads_keyword_ideas "revops automation", US, en: 50 ideas
Monthly searches, competition and top-of-page bid range for each
```

### Build a Search campaign for revops automation at 50 USD a day.

```text
$ claude
> Build a Search campaign for revops automation at 50 USD a day.
adwarp.gads_keyword_ideas "revops automation": 50 ideas
adwarp.gads_launch_search_campaign dry run, 50 USD/day: valid
Validated by Google. Nothing was created yet.
Confirm and it's created paused. You switch it on in Google Ads.
```

### Which search terms triggered my ads last week?

```text
$ claude
> Which search terms triggered my ads last week?
adwarp.gads_performance search_term, last_7_days: by cost
Clicks, cost and conversions for each term, highest cost first
```

### Is my Google Ads connection working?

```text
$ claude
> Is my Google Ads connection working?
adwarp.gads_list_accounts this login: connected
Developer token, OAuth client and account access all work.
```

### Show the headlines in my Brand ad group.

```text
$ claude
> Show the headlines in my Brand ad group.
adwarp.gads_list_campaigns with ad groups: Brand found
adwarp.gads_list_ads Brand: responsive search ads
```

## Why running Google Ads from Claude gets better results.

### Research and build together

Keyword research and the campaign build happen in 1 session, so the keywords you size are the ones you launch.

### Every write checked first

Google validates the whole build in a dry run before anything is created.

### Nothing spends by accident

Campaigns land paused, and only you can switch them on, in Google Ads.

## Questions, answered.

### Is there an official Google Ads MCP server?

Yes, and it's read-only. Adwarp is independent and open source, and it also researches keywords and builds paused Search campaigns.

### Can Claude launch Google Ads campaigns?

It builds them, always paused. Adwarp has no tool to enable a campaign, so you switch it on yourself in Google Ads.

### Does it work in Claude Desktop?

Yes. Add it to the Claude Desktop config shown above and restart the app. The Google tools run on your machine either way.

### Does it work with the hosted endpoint?

Not for Google Ads. The hosted endpoint serves many callers, and Google credentials there would come from shared server settings, so it never registers the Google tools. Run Adwarp on your machine with your own developer token and OAuth client.

### What access do I need?

A Google Ads developer token from a manager account and a Desktop app OAuth client. Campaigns and reporting work on Explorer access, and keyword research needs Basic access.

- A developer token from the API Center of a Google Ads manager account. A plain client account can't issue one.
- Explorer access arrives automatically and covers campaigns and reporting. Keyword research needs Basic access, a separate application on the same screen.
- An OAuth client of the Desktop app type, in a Google Cloud project with the Google Ads API enabled.
- A consent screen that isn't left in Testing, which issues sign-ins that stop working after 7 days.

### What goes in google.json?

Your OAuth client, developer token and account ids, kept on your machine.

loginCustomerId is your manager account, needed only when you reach the ad account through one. Then run npx -y adwarp google auth login.

`~/.adwarp/google.json`:

```json
{
  "clientId": "....apps.googleusercontent.com",
  "clientSecret": "...",
  "developerToken": "...",
  "loginCustomerId": "1234567890",
  "defaultCustomerId": "0987654321",
  "defaultConversionActionNames": ["Demo Booked"]
}
```

### Which Google Ads tools does it add?

9 tools, all running on your machine.

| Tool | What it does |
| --- | --- |
| `gads_list_accounts` | Every Google Ads customer your login can reach. Run it first to prove the setup works. |
| `gads_list_client_accounts` | The client accounts under a manager account. |
| `gads_keyword_ideas` | Search volume, competition and top-of-page bid range for seed terms or a landing page. |
| `gads_list_campaigns` | Campaigns with their ad groups, paused ones included. |
| `gads_list_ads` | The ads in an ad group, with their responsive search copy. |
| `gads_list_conversion_actions` | Conversion actions on the account, so a launch can name 1. |
| `gads_launch_search_campaign` | A paused Search campaign from a brief, in 1 atomic change, validated by Google first. |
| `gads_performance` | Rows at campaign, ad group, ad, keyword or search term level. |
| `gads_search` | A raw, read-only GAQL query. |

### Which house rules does every campaign follow?

Search network only, people in your target area, manual CPC to start, and created paused.

- Search network only. Display expansion and search partners are off.
- People physically in your target area. US means people in the US, not anyone who searched about it.
- Manual CPC to start. Switch to smart bidding in Google Ads once there's conversion data.
- Created paused, with no tool to enable it. You switch it on in Google Ads.
- Search campaigns only for now. No Performance Max, Display, Shopping, video or Customer Match yet.

## Related

- [Google Ads](https://adwarp.dev/google-ads): Search campaigns, keywords, reporting
- [Google Ads CLI](https://adwarp.dev/google-ads/cli): Script it instead
- [LinkedIn Ads in Claude](https://adwarp.dev/linkedin-ads/claude): The same setup for LinkedIn

Unofficial. Not affiliated with or endorsed by LinkedIn or Google.

Canonical page: https://adwarp.dev/google-ads/claude
Last updated: 2026-10-18
