google_ads_negative_placements_remove
Remove negative placement exclusions in batch by criterion ID, verifying each is a valid negative placement first. Revert a bad exclusions pass and return removed and skipped entries.
Instructions
Lifts delivery-surface exclusions by criterion_id, in one batch, so a bad exclusion pass can be reverted in a single call. Returns removed (criterion_id + resource_name), removed_count, and skipped entries with a reason. Mutating — lifting an exclusion lets the placement serve again from the next serving cycle. Ids are verified against the live criteria first: anything that is not a negative placement criterion at the named level is skipped, never removed. Get ids from google_ads_negative_placements_list.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| ad_group_id | No | Ad group ID for an ad group-level exclusion. Supply exactly one of campaign_id or ad_group_id. Ad group-level exclusions do not cascade to sibling ad groups. | |
| campaign_id | No | Campaign ID for a campaign-level exclusion. Supply exactly one of campaign_id or ad_group_id — the two are separate criteria and campaign-level exclusions apply to every ad group under the campaign. | |
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| criterion_ids | Yes | Criterion IDs to lift, as returned by google_ads_negative_placements_list or by the 'created' entries of google_ads_negative_placements_add. All must belong to the level named above. |