Remove a campaign-level targeting criterion
remove_campaign_criterionUndo one location, device exclusion, ad schedule block, or negative keyword set by set_campaign_targeting or add_negative_keywords - e.g. 'actually don't exclude mobile after all'. Criteria don't have a paused state like campaigns/ads do; this removes it outright.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | ||
| customerId | No | 10-digit Google Ads customer id. Omit only if this connection has exactly one reachable account - with more than one, omitting it errors and lists the available ids to pick from. | |
| criterionId | Yes | Criterion id - from the resourceNames returned by the tool that created it, or a GAQL query on campaign_criterion. | |
| extraFields | No | Escape hatch for a field Google requires that this tool doesn't set yet - use it when a prior call to this same tool failed naming a required field and its valid values (e.g. after adding `contains_eu_political_advertising`, retry with { contains_eu_political_advertising: "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" }). Keys are the Ads API's own snake_case field names; nest an object to add a field under one this tool already sets (e.g. a new network_settings sub-field). Only ADDS fields not already set by this tool's own arguments - it can never override `status` or any other field already set here, so it cannot be used to bypass validation or a safety default like a campaign's PAUSED-by-default status. | |
| validateOnly | No | Dry run. When true the Google Ads API validates the change and reports any errors but applies nothing. Use this first whenever you are unsure - it is free and cannot affect spend. |