# google_ads_create_user_list

> Create a Google Ads user list (audience segment) in the selected customer: website visitors from URL rules on the account's Google tag, a Customer Match…

[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 Google Ads user list (audience segment) in the selected customer: website visitors from URL rules on the account's Google tag, a Customer Match (CRM) list filled with google_ads_upload_customer_match, a combination of existing lists (ALL, ANY, NONE) or a Demand Gen lookalike. Use it by resource name in google_ads_apply_plan: adGroupCriterion.userList on Search and Display (negative:true excludes), or an Audience userList segment for Demand Gen groups and Performance Max signals. A list serves only once Google counts enough active members. Preview returns planHash; validateOnly asks Google; confirm requires the matching expectedPlanHash. No automatic retry: after an uncertain result, read user_list 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 user list name in this customer. |
| `description` | string | Optional | Optional description of the list. |
| `kind` | string | Required | website_visitors: rule on the URLs seen by the account's Google tag. customer_match: CRM-based list, filled with google_ads_upload_customer_match. combined: ALL, ANY or NONE of existing lists. lookalike: Demand Gen segment grown from seed lists. One of: `website_visitors`, `customer_match`, `combined`, `lookalike`. |
| `membershipLifeSpanDays` | integer | Optional | Days a member stays on the list after their last addition (website visitors 30 by default, customer match 540). |
| `urlRules` | array | Optional | website_visitors: URL rules of the visitors to include. |
| `urlMatch` | string | Optional | website_visitors: ALL requires every URL rule (default), ANY accepts one of them. One of: `ALL`, `ANY`. |
| `excludeUrlRules` | array | Optional | website_visitors: URL rules of visitors to leave out, for example the confirmation page. |
| `lookbackWindowDays` | integer | Optional | website_visitors: only visits in the last N days count. |
| `prepopulate` | boolean | Optional | website_visitors: true asks Google to add matching visitors of the last 30 days (Display only). |
| `uploadKeyType` | string | Optional | customer_match: CONTACT_INFO for hashed emails and phones, CRM_ID for your own user IDs. One of: `CONTACT_INFO`, `CRM_ID`. |
| `rules` | array | Optional | combined: rules ANDed together, each one an operator over existing lists. |
| `seedUserListIds` | array | Optional | lookalike: numeric IDs of the first-party seed lists. |
| `expansionLevel` | string | Optional | lookalike: size of the segment, from closest to broadest. One of: `NARROW`, `BALANCED`, `BROAD`. |
| `countryCodes` | array | Optional | lookalike: two-letter countries of the segment. |

## Calling it

Through run_tool, since it is not announced

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

- [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_user_list
Every page under /docs is available as Markdown: append `.md`, or send `Accept: text/markdown`.
