# Google Ads

9 Google Ads tools, each with its inputs, hosted support and CLI command.

Registered by the local server only, never by the hosted endpoint. See [Google Ads](https://adwarp.dev/docs/google-ads).

## gads_list_accounts

Every Google Ads customer the login can reach. Run it first to prove the setup works.

List every Google Ads customer this login can reach. Run this first: it proves the OAuth client, developer token, and account access all work.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google accounts list
```

No inputs.

## gads_list_client_accounts

The client accounts under a manager (MCC) account.

List the client accounts under a Google Ads manager (MCC) account.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google accounts clients <managerId>
```

| Input | Type | What it is |
| --- | --- | --- |
| `managerId` (required) | string | Manager customer id, digits only |

## gads_keyword_ideas

Search volume, competition, and top-of-page bid range for seed terms or a landing page.

Keyword research: search volume, competition, and top-of-page bid range for seed terms and/or a landing page. The sizing step before committing budget, equivalent to estimating audience reach on LinkedIn.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google keywords <seeds...> [-u <url>] [-l <codes>] [--language <code>] [-n <limit>]
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string |  |
| `seeds` (required) | string[] | Seed keywords or phrases |
| `pageUrl` | string |  |
| `locations` | string[] |  |
| `languages` | string[] |  |
| `limit` | integer |  |

## gads_list_campaigns

Campaigns with their ad groups, paused campaigns included.

Account structure: campaigns with their ad groups nested. Paused campaigns are included.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google campaigns list [--all]
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string |  |
| `includeRemoved` | boolean |  |

## gads_list_ads

The ads in an ad group, with their responsive search copy.

Ads in an ad group, with their responsive-search headlines and descriptions.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google ads <adGroupId>
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string |  |
| `adGroupId` (required) | string |  |

## gads_list_conversion_actions

Conversion actions on the account, so a launch can name one.

Conversion actions on the account, so a launch can name one instead of guessing an id.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google conversions list
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string |  |

## gads_launch_search_campaign

A paused Search campaign from a brief, in a single atomic mutate. It validates without creating anything unless told otherwise.

Create a PAUSED Search campaign from a brief: budget, campaign, geo/language targeting, ad groups, keywords, and responsive search ads, all in one atomic mutate. Defaults to validateOnly=true, which asks Google to validate the whole batch and persist nothing. Show the returned plan to the user and only re-call with validateOnly=false after they confirm. House rules are applied automatically and cannot be overridden: search network only (display expansion and search partners off), physical-presence-only location targeting, and Manual CPC. Nothing created here can serve. Activation is a human step in the Google Ads UI.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google launch --brief <brief.json> [--apply]
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string | 10-digit customer id; falls back to config default |
| `campaignName` (required) | string |  |
| `dailyBudget` (required) | number | Amount in the ad account's currency, e.g. 150 for $150 |
| `budgetName` | string | Defaults to the campaign name |
| `cpcBid` | same as dailyBudget | Amount in the ad account's currency, e.g. 150 for $150 |
| `finalUrl` (required) | string | Landing page for ads that do not override it |
| `locations` | string[] | ISO country codes (US, GB) or raw geoTargetConstant ids |
| `languages` | string[] | ISO language codes |
| `adGroups` (required) | object[] |  |
| `negativeKeywords` | same as adGroups.keywords[] |  |
| `negativeKeywordListId` | string |  |
| `conversionActionNames` | string[] | Conversion actions to set as this campaign's goals; falls back to the config default |
| `startDateTime` | string |  |
| `endDateTime` | string |  |
| `validateOnly` | boolean |  |

## gads_performance

Performance rows at campaign, ad group, ad, keyword, or search term level.

Performance rows at campaign, ad_group, ad, keyword, or search_term level, with totals and derived KPIs (CTR, CPC, CPM, conversion rate, cost per conversion).

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google report perf <level> [-p <period>] [--campaign <id>]
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string |  |
| `level` | campaign \| ad_group \| ad \| keyword \| search_term |  |
| `period` | last_7_days \| last_30_days \| last_90_days \| month_to_date \| last_month |  |
| `startDate` | string | YYYY-MM-DD |
| `endDate` | string | YYYY-MM-DD |
| `campaignId` | string |  |

## gads_search

A raw, read-only GAQL query.

Run a raw GAQL query against the account. Read-only escape hatch for anything the other tools do not cover.

Google Ads. Local only. Not registered on the hosted endpoint. Run it on the local MCP server or the CLI.

CLI:

```
adwarp google query "<GAQL>"
```

| Input | Type | What it is |
| --- | --- | --- |
| `customerId` | string |  |
| `query` (required) | string | A GAQL query. Read-only: SELECT ... FROM ... |

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