Exclusion List Checker
Ensures all Search, Shopping, Display, Video, and PMax campaigns have required placement exclusion lists and negative keyword lists associated, automatically adding missing ones.
by Dmytro Tonkikh·chiliad.io
Overview
Exclusion List Checker checks every active campaign of the configured types for required shared exclusion lists. Any missing associations are added automatically via the Google Ads API mutateAll method — useful for agencies enforcing brand safety standards across all campaigns. The sharedSets arrays are empty by default, so the script does nothing until you list at least one of your shared-set names in CONFIG.
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code.
- 3In the CONFIG object, add your placement exclusion list names to the NEGATIVE_PLACEMENTS.sharedSets array.
- 4Add negative keyword list names to NEGATIVE_KEYWORDS.sharedSets (or leave empty to skip).
- 5Adjust campaignTypes arrays if needed (e.g. add 'SEARCH').
- 6Schedule the script to run daily.
- 7Preview the script once to verify it detects your campaigns, then save and enable.
Configuration Variables
| Variable | Default |
|---|---|
CONFIG.NEGATIVE_PLACEMENTS.campaignTypes | ["DISPLAY", "VIDEO"] |
CONFIG.NEGATIVE_PLACEMENTS.sharedSets | [] |
CONFIG.NEGATIVE_KEYWORDS.campaignTypes | ["DISPLAY", "VIDEO", "PERFORMANCE_MAX"] |
CONFIG.NEGATIVE_KEYWORDS.sharedSets | [] |
Expected Output
Campaign "Display - Remarketing" missing "chiliad | common negative", adding... Campaign "YouTube - Brand" missing "chiliad | common negative", adding... Applying 2 association(s)... Added 2 of 2 association(s). All campaigns have required NEGATIVE_KEYWORDS lists.
Notes
List names must match exactly (case-sensitive) with existing shared lists in your account. With empty sharedSets arrays the script is a no-op, so add at least one list name to activate it. Uses mutateAll for instant, synchronous updates. Only active, serving campaigns of the configured types are checked.