Placement Cleaner 24/7



The story of Google Ads scripts for placement cleaning isn't new. I already knew solutions from freeadwordsscripts and yaroshenko.by . These solutions exclude placement if domain includes predefined text.


  1. The script works with Display campaigns.
  2. Cleans unique placement 24/7 - hourly schedule highly recommended.
  3. Remote updates. One-time installing required.
  4. Script setup spreadsheet and exclusion list automatically.
  5. The script can be used for both account level types: Single or Manager account.


  1. Copy & Paste the script into your Google Ads account.
  2. Authorise the script
  3. Preview the script: It will create a folder "🤖 chiliad scripts" on Google Drive and upload to it all essential files. Set up negative keywords and tags to exclude placements in the "Placement Cleaner" spreadsheet.
  4. Add stop-words to the sheets ‘keywords’ and ‘domains’ for cleaning site titles and domains.
  5. Set script schedule to 'hourly' and run.
  6. All done!


This script is free but with limitations.

  • The quota for 500 unique placements per day
  • It excludes sites from domain zones .ru & .su.

Subscribe to our patreon and the script will work without any limitations

Become a Chiliad patron

 * Placement Cleaner - Universal version
 * Google Ads Script for excluding display placements, 
 * if placement containing negative keywords in domain or site title.
 * If you're not our patreon subscriber, this script will clean only 20 unique placements per run.
 * Our patrons have full versions of all our scripts!
 * Version        : 1.1
 * Date           : 01.04.2023
 * Created by : Dmytro Tonkikh, chiliad
 * Telegram channel : t.me/adwordsscripts
 * Site :  https://chiliad.agency
 *         https://adsapp.report
 * - Extended Quota
 * - Script excludes all sites from .ru & .su domain zones in free version
 * - Optimized code
 * - MCC & Single account level script

function main() {
    if (typeof AdsManagerApp !== 'undefined') {
    } else {

function placementlCleaner() {
    //After first run – you can comment setup() function below.
    new ScriptApp().placementCleaner();

function setup() {
    var drive = DriveApp.getFileById('1iVdtOQt0WsOyA5rtdSkZHhaiel9Pdqd2K2vIujLsrrM');

    if (!DriveApp.getFoldersByName('🤖 chiliad scripts').hasNext()) {
        var currentFolder = DriveApp.createFolder('🤖 chiliad scripts');
    var spreadsheet = SpreadsheetApp.open(drive);

Limitless available only for our subscribers on Patreon.

We send 100% from Patreon income to support AFU or The Come Back Alive Fund

Support us on Patreon. Support Ukraine 🇺🇦 !