# google_ads_create_custom_audience

> Create a custom segment (CustomAudience) from keywords, URLs and Android apps in the selected customer.

[Documentation](https://www.getmcpads.com/docs) / [Sources](https://www.getmcpads.com/docs/sources) / [Google Ads](https://www.getmcpads.com/docs/sources/google-ads)

Create a custom segment (CustomAudience) from keywords, URLs and Android apps in the selected customer. Use it by resource name in google_ads_apply_plan: adGroupCriterion.customAudience on Display, or an Audience customAudience segment for Demand Gen groups and Performance Max signals. Preview returns planHash; validateOnly asks Google; confirm requires the matching expectedPlanHash. No automatic retry: after an uncertain result, read custom_audience by name with google_ads_run_gaql.

> **Warning** This tool changes the account. It is absent from the tool list on the Free plan, and it previews by default: without `confirm: true` it describes the change and applies nothing.

|  |  |
| --- | --- |
| Source | [Google Ads](https://www.getmcpads.com/docs/sources/google-ads) |
| Kind | Write |
| Discovery | Reachable through `search_tools` and `run_tool` |
| Account parameter | `customerId` |
| Endpoint | https://mcp.getmcpads.com/google-ads/mcp |

## Parameters

| Name | Type | Required | Notes |
| --- | --- | --- | --- |
| `customerId` | string | Required | Selected Google Ads customer ID, not the manager account. |
| `currency` | string | Required | Actual account currency as a three-letter ISO code; verified natively before writes. |
| `loginCustomerId` | string | Optional | Optional MCC ID; defaults to the selected account's inferred manager. |
| `testAccountOnly` | boolean | Optional | Require customer.test_account=true before writing. |
| `confirm` | boolean | Optional | Apply only when true and expectedPlanHash matches the exact preview. |
| `expectedPlanHash` | string | Optional | SHA-256 planHash from the preview of this exact request, required for application. |
| `validateOnly` | boolean | Optional | Ask Google to validate without creating. Takes priority over confirm. |
| `name` | string | Required | Unique custom segment name in this customer. |
| `description` | string | Optional | Optional description of the segment. |
| `type` | string | Optional | AUTO lets Google read the members as interests or intent; SEARCH matches people by what they searched on Google. One of: `AUTO`, `SEARCH`. Default: `"AUTO"`. |
| `keywords` | array | Optional | Keywords or phrases of the people to reach, at most 10 words each. |
| `urls` | array | Optional | Web pages whose content these people are interested in. |
| `apps` | array | Optional | Android package names of apps these people use. |

## Calling it

Through run_tool, since it is not announced

```json
{
  "name": "run_tool",
  "arguments": {
    "name": "google_ads_create_custom_audience",
    "args": {
      "customerId": "<string>",
      "currency": "<string>",
      "name": "<string>"
    }
  }
}
```

- [Google Ads metrics](https://www.getmcpads.com/docs/sources/google-ads/metrics): What you can ask for.
- [Google Ads dimensions](https://www.getmcpads.com/docs/sources/google-ads/dimensions): How you can break it down.

---

This page as HTML: https://www.getmcpads.com/docs/sources/google-ads/tools/google_ads_create_custom_audience
Every page under /docs is available as Markdown: append `.md`, or send `Accept: text/markdown`.
