Один из способов оптимизации рекламных кампаний в Контекстной-Медийной сети Google (далее КМС) это чистка мест размещения на основе собранной статистики.
Помимо ручного способа, когда специалист ориентируется на накопленное количество просмотров рекламы, визитов, CTR, % отказа, глубину просмотре, время на сайте, конечно же CPA (стоимость целевого действия), и % конверсии, существуют скрипт позволяющий упростить эту рутинную задачу в Google Рекламе.
Сразу скажу, что скрипт написан не мной, я публикую и сохраняю его здесь, в том числе, чтобы иметь возможность быстро его находить и применять на своих проектах.
Особенности работы скрипта:
- Скрипт собирается исключаемые площадки в список в “Общей Библиотеке”, которые создается автоматически;
- Не забудьте добавить созданный список из общей библиотеки к нужным кампаниям;
- Площадки собираются по всему аккаунту (дополнительные настройки не требуются.
Теперь чуть подробнее о том, как добавить скрипт в аккаунт Google Рекламы:
- Находим в аккаунт Google Рекламы и переходим в раздел Инструменты и Настройки -> Массовые действия - > Скрипты:
- Нажимаем на “+” для добавления нового скрипта:
- Задаём название скрипта и вставляем сам код скрипта (ниже, под скрином:
/*
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);
}
}
- В скрипте есть комментарии, которые помогают разобраться в настройке. Например, можем указать период учета статистики:
- Следующим шагом, сохраняем скрипт и зажимаем на кнопку "Просмотр", система выдаст сообщение о необходимости авторизоваться. Делаем это:
- Появится всплывающее окно с авторизацией. Выбираем наш аккаунт:
- И предоставляем права для скрипта на внесение изменений в аккаунт:
- После этого снова нажимаем на просмотр. Если все в порядке увидим следующее:
- Завершаем настройку скрипта. Нажимаем выполнить и в результате попадаем в раздел Истории скриптов:
- Возвращаемся в раздел Скрипты и настраиваем периодичность выполнения скрипта:
И последний этап, добавляем созданный список исключаемых мест размещений в нужным нам кампаниям.
- Переходим в раздел: Инструменты и настройки -> Общая библиотека -> Списки исключенных мест размещения:
- Выбираем наш список и добавляем к кампаниям на сеть для которых хотим применять скрипт.
Не забываем подключать скрипт к новым создаваемым кампаниям =)
Вот и все.
Успешных рекламных кампаний!