Skip to content

google_ads_upload_customer_match

Add or remove Customer Match members on a CONTACT_INFO user list of the selected customer, through one OfflineUserDataJob (create, add operations, run).

View as Markdown

Add or remove Customer Match members on a CONTACT_INFO user list of the selected customer, through one OfflineUserDataJob (create, add operations, run). Emails and international phones are normalized and SHA-256 hashed by the server as Google documents; the preview and the answer carry counts, never the values. Google processes the job asynchronously: read offline_user_data_job.status, then user_list.size_range_for_search, with google_ads_run_gaql. Google requires the account's Customer Match terms and policy eligibility, and since 1 April 2026 refuses this API for developer tokens without earlier Customer Match uploads (Data Manager API instead). Preview returns planHash; confirm requires the matching expectedPlanHash. No automatic retry.

Kind
Write
Discovery
Reachable through search_tools and run_tool
Account parameter
customerId
Endpoint
https://mcp.getmcpads.com/google-ads/mcp

Parameters

Parameters
NameTypeRequiredNotes
customerIdstringRequiredSelected Google Ads customer ID, not the manager account.
currencystringRequiredActual account currency as a three-letter ISO code; verified natively before writes.
loginCustomerIdstringOptionalOptional MCC ID; defaults to the selected account's inferred manager.
testAccountOnlybooleanOptionalRequire customer.test_account=true before writing.
confirmbooleanOptionalApply only when true and expectedPlanHash matches the exact preview.
expectedPlanHashstringOptionalSHA-256 planHash from the preview of this exact request, required for application.
userListIdstringRequiredNumeric ID of a CONTACT_INFO Customer Match list owned by this customer.
operationstringOptionaladd uploads members; remove takes them off the list. One of: add, remove. Default: "add".
membersarrayRequiredPeople who agreed to it: an email and/or an international phone each. The server normalizes and hashes them with SHA-256; raw values are never sent to Google, returned or logged.
consentobjectRequiredConsent of the uploaded people, required by Google for EEA users. DENIED means Google does not use them.

Calling it

json · Through run_tool, since it is not announced
{
  "name": "run_tool",
  "arguments": {
    "name": "google_ads_upload_customer_match",
    "args": {
      "customerId": "<string>",
      "currency": "<string>",
      "userListId": "<string>",
      "members": "<array>",
      "consent": "<object>"
    }
  }
}

Manage your ads from your AI assistant

Start for free

Free with 1 ad account, no card. Pro is free for 7 days.

Esc

Type to search