Рубрики
Статьи

Скрипт автоматической чистки площадок в КМС AdWords. Версия 1.1

По просьбам коллег доработал скрипт чистки площадок в КМС. Теперь все площадки будут собираться в список в «Общей библиотеке», который тоже создается автоматически.

Площадки собираются по всему аккаунту, т.е. добавлять ярлыки теперь нет необходимости.

Т.е. теперь нужно только:

  1. Добавить скрипт и настроить на автоматический запуск
  2. Применить созданный скриптом список «PlacementCleanerList» к нужным вам кампаниям

Если что, старая версия с описанием принципа работы доступна здесь.

Вот сам код обновленного скрипта:

/*
1) Поиск мест размещений идет по всему аккаунту. Эти исключения мест размещений автоматически общий список "PlacementCleanerList", который создается автоматически.

2) Проверьте, подходят ли вам исключения. Добавьте или удалите ненужные. Можно добавить для исключения и доменную зону. Пример: '.kz'
*/

var exclude = ['gta', 'dota', 'minecraft', 'resheb', 'referat', 'igry','igra', 'igri', 'game', 'flash', 'apk', 'android', 'mp3', 'fb2', 'dating', 'goroskop', 'astro', 'film', 'video', 'movie', 'book', 'download', 'torrent', 'kino', 'radio', 'weather', 'pesni', 'chords', 'anekdot', 'zodiak', 'minusovk', 'knig', 'recept', 'recipe', 'spongebob', 'barbie', 'skyrim', 'ferma', 'dom2', 'mafia', 'gadani', 'mario', 'epub', '2048', 'dendy', 'sega', 'zuma', 'aforizm', 'citat', 'pdf'];

var EXCLUDED_PLACEMENT_LIST_NAME = 'PlacementCleanerList';

/* 
3) Выберите период учета статистики или очистите поле, чтобы обработать данные в аккаунте за весь период.

Возможные периоды:
LAST_7_DAYS
LAST_WEEK
LAST_MONTH
LAST_14_DAYS
LAST_30_DAYS
LAST_BUSINESS_WEEK
THIS_WEEK_SUN_TODAY
THIS_WEEK_MON_TODAY
LAST_WEEK_SUN_SAT
THIS_MONTH
ALL_TIME

*/

var period = 'LAST_30_DAYS';


function main() {
 var periodString = '';
 
 if(period && period != 'ALL_TIME') {
 periodString = "DURING " + period;
 Logger.log(periodString);
 } else {
 Logger.log('DURING ALL TIME');
 }
 var report = AdWordsApp.report("SELECT Domain " +
 "FROM AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT " +
 periodString);
 
 var rows = report.rows();
 var excludePlacementArray = [];
 
 while (rows.hasNext()) {
 var row = rows.next();
 var placement = row['Domain'];
 if (containsAny(placement.toString(), exclude)) {
 excludePlacementArray[excludePlacementArray.length] = placement.toString();
 }

}
 
 addNegativeKeywordToList(excludePlacementArray);
 
}

function containsAny(str, substrings) {
 for (var i = 0; i != substrings.length; i++) {
 var substring = substrings[i];
if (str.indexOf(substring) != - 1 && str.indexOf('mobileapp::') == -1) {
 return substring;
 }
 }
 return null; 
}


function addNegativeKeywordToList(negativePlacements) {
 var excludedPlacementListIterator =
 AdWordsApp.excludedPlacementLists().withCondition("Name = '" + EXCLUDED_PLACEMENT_LIST_NAME + "'").get();
 
 if (excludedPlacementListIterator.totalNumEntities() == 1) {
 var excludedPlacementList = excludedPlacementListIterator.next().addExcludedPlacements(negativePlacements);
 } else {
 AdWordsApp.newExcludedPlacementListBuilder()
 .withName(EXCLUDED_PLACEMENT_LIST_NAME)
 .build().getResult().addExcludedPlacements(negativePlacements);
 }
 
}

UPD 2021-01-22:

Дмитрий Тонких сделал свою версию скрипта с дополнительными фичами. Подробнее здесь: https://telegra.ph/Google-Ads-Script-Tut-vsyo-kruto-ili-kak-dejstvitelno-bystro-pochistit-ploshchadki-GDN-10-29

Автор: Алексей Ярошенко

Data Scientist / ML Engineer. Раньше занимался интернет-маркетингом и учил людей контексту. Сертифицированный тренер Google в Беларуси.

2 ответа к “Скрипт автоматической чистки площадок в КМС AdWords. Версия 1.1”

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.