×
Россия +7 (495) 139-20-33

Google AdWords: как отобрать хорошие места размещения при помощи скриптов

Россия +7 (495) 139-20-33
Шрифт:
5 15766

Google Display Network (GDN) – одна из двух рекламных сетей в Google AdWords, позволяющая показывать рекламные объявления на большом количестве различных сайтов. Хоть этот инструмент и более «пассивен», чем реклама Google в поиске, он охватывает значительно большую аудиторию.

Проблема GDN

«Темной стороной» контекстной рекламы в Google Display Network является то, что ее настройка требует много времени на отбор качественных площадок. Ведь эффективной реклама будет только в том случае, если объявления будут показываться на подходящих площадках. А фильтрация тысяч площадок – это настоящая проблема для специалиста по контекстной рекламе.

Хорошая новость в том, что Google AdWords дает возможность управлять вашими рекламными кампаниями при помощи скриптов. Так что существует возможность автоматического отбора качественных площадок.

Мы решили разобраться с этим вопросом и разработать эффективное решение. За основу взяли подходы Алексея Ярошенка и Derek Martin и разработали свою методологию работы скрипта для «чистки» площадок в Google Display Network.

Решение

Для понимания, как работает наше решение в целом, разберем вначале его базовые этапы.

Начальные условия

Наш скрипт обращается к отчету по площадкам AdWords за определенный период времени и отбирает места размещения, удовлетворяющие различным условиям:

  • затраты на площадку составляют более X USD и нет конверсий;
  • стоимость конверсии с площадки больше X USD;
  • количество показов площадки больше X, CTR меньше Y и нет конверсий;
  • количество показов площадки больше X, CTR больше Y и нет конверсий.

Перечисленные выше условия могут меняться вручную в конфигурационном файле Google Spreadsheet.

Нежелательные домены

Следующая проверка отсеивает площадки без конверсий, в домене которых присутствуют нежелательные слова, и заносит их в black list.

Рис. 1.png

Рис. 1. Пример Google Spreadsheet со словами, по которым отсеиваются домены

Список исключений

Отобранные скриптом площадки заносятся в лист исключений на уровне «Shared library» в аккаунте AdWords.

Рис. 2.png

Рис. 2. Пример списков исключений в «Shared library»

Рис. 3.png

Рис. 3. Пример отчета работы скрипта в Google Spreadsheet

Уведомления о работе скрипта по email

После выполнения скрипта результаты его работы высылаются на email, указанный в конфигурационном файле. В письме содержится сводная статистика по обработанным площадкам и ссылка на документ с полным отчетом.

Пошаговое решение

1. Определение рабочего Google Spreadsheet и имя проекта.

var config = { SPREADSHEET_URL:Link to the Google Spreadsheet', PROJECT_NAME:'Name of the project' }

2. Определение списка, в который будут заноситься «плохие», отфильтрованные площадки.

function getConfigData(spreadsheet) { var excludeDomainSheet = spreadsheet.getSheetByName('exclude_domain'), values = exclude DomainSheet.getSheetValues(1,1,excludeDomainSheet.getLastRow(),1); config.exclude = []; if (typeof values == "object") { for (i=0; i

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

var except DomainSheet = spreadsheet.getSheetByName('except_domain'), values = except DomainSheet.getSheetValues(1,1,exceptDomainSheet.getLastRow(),1); config.except = []; if(typeof values == "object") { for (i=0; i

4. Определение условий отбора площадок:

  • название списка,
  • контактный email,
  • отчетный период,
  • максимальная стоимость клика,
  • максимальная стоимость конверсии,
  • минимальное количество показов,
  • максимальный CTR.
var configSheet = spreadsheet.getSheetByName('config'); config.email = configSheet.getRange(1,2,1,1).getValues(); config.timeperiod = configSheet.getRange(2,2,1,1).getValue(); config.listCost = configSheet.getRange(3,2,1,1).getValue(); config.list2ConversionCost = configSheet.getRange(4,2,1,1).getValue(); config.list3Impressions = configSheet.getRange(5,2,1,1).getValue(); config.list3Ctr = configSheet.getRange(6,2,1,1).getValue(); config.list4Impressions = configSheet.getRange(7,2,1,1).getValue(); config.list4Ctr = configSheet.getRange(8,2,1,1).getValue()

5. Обновление названия документа с учетом даты запуска скрипта.

function main() { var spreadsheet = SpreadsheetApp.openByUrl(config.SPREADSHEET_URL); var curDate = Utilities.formatDate(new Date(), "GMT+3", "yyyy-MMMM-dd"); getConfigData(spreadsheet); spreadsheet.setName("GDN Report " + config.PROJECT_NAME + " " + curDate); }

6. Генерация отчета.

var body = "[h2]Google Display Network – Report on underperforming placements[/h2]"; body += "[h3]Placements that spent more than " + config.listCost + " USD and did not bring conversions:[/h3]"; body += "[ul]"; var list = runHightCostAndNoConvertingReport(); varrows = []; for (i=0; i

7. Отправка email с результатами.

if(config.email.length){ MailApp.sendEmail(config.email,'Display Network Alerts - ' + config.PROJECT_NAME + " - " + curDate, body, {htmlBody: body}); }

8. Использование функций для добавления площадок в исключения.

function addPlacementList(nameList,list,spreadsheet) { var rows = [], sheet, range, listSharedExcludedPlacementIterator; sheet = spreadsheet.getSheetByName(nameList); sheet.clear(); range = sheet.getRange(1, 1, 1, 7).setValues([['Exclusion URL','Impressions','Clicks','CTR','Cost','Conversions','Cost Per Conversion']]); range.setBackground("yellow"); listSharedExcludedPlacementIterator = AdWordsApp.excludedPlacementLists() .withCondition("Name CONTAINS '" + nameList + "'").get(); while (listSharedExcludedPlacementIterator.hasNext()) { listSharedExcludedPlacement = listSharedExcludedPlacementIterator.next(); } for (i=0; i

9. Определение площадок, которые потратили более X USD и не принесли конверсий.

var report = AdWordsApp.report( 'SELECT Domain, Clicks, Impressions, CostPerConversion, Conversions, Cost ' + 'FROM AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT ' + 'WHERE Cost > ' + config.listCost * 1000000 + " " + 'AND Conversions

10. Определение площадок с конверсиями, которые стоят более X USD.

var report = AdWordsApp.report( 'SELECT Domain, Clicks, Impressions, CostPerConversion, Conversions, Cost ' + 'FROM AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT ' + 'WHERE CostPerConversion > ' + config.list2ConversionCost * 1000000 + " " + 'AND Conversions > 1 ' + periodString); var rows = report.rows(); while (rows.hasNext()) { var row = rows.next(); var anonymous = row['Domain'].match(new RegExp(config.except.join('|').replace(/\./g,'\\.'),'g')); if (anonymous == null) { var placementDetail = new placementObject(row['Domain'], row['Clicks'], row['Impressions'], row['CostPerConversion'], row['Conversions'], row['Cost']); list.push(placementDetail); } } function runBadCtrNoConversionsReport() { list = []; var periodString = ''; if(config.timeperiod) { periodString = 'DURING ' + config.timeperiod; Logger.log(periodString); } else { Logger.log('DURING ALL TIME'); } }

11. Определение площадок без конверсий с более чем X показами CTR менее Y %.

var report = AdWordsApp.report( 'SELECT Domain, Clicks, Impressions, CostPerConversion, Conversions, Cost ' + 'FROM AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT ' + 'WHERE Impressions > ' + config.list3Impressions + " " + 'AND Ctr

12. Определение площадок без конверсий с более чем X показами и CTR большим, чем Y %.

var report = AdWordsApp.report( 'SELECT Domain, Clicks, Impressions, CostPerConversion, Conversions, Cost ' + 'FROM AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT ' + 'WHERE Impressions > ' + config.list4Impressions + " " + 'AND Ctr > ' + config.list4Ctr * 0.01 + " " + 'AND Conversions

13. Добавление в исключения площадок без конверсий, в домене которых содержатся нежелательные слова.

var report = AdWordsApp.report( 'SELECT Domain, Clicks, Impressions, CostPerConversion, Conversions, Cost ' + 'FROM AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT ' + 'WHERE Conversions

Результаты

Мы тестировали работу скрипта, используя следующие критерии отбора площадок:

результаты.png

Содержание письма:

Размещения, которые потратили более 300 USD и не принесли конверсий: 0
Размещения со стоимостью конверсии более чем 500 USD: 0
Размещения с более чем 100 показами и CTR, менее 0.05%: 3
Размещения с более чем 50 показами и CTR более 8%: 7
Размещения, содержащие в домене нежелательные слова: 382

Заключительные комментарии

При использовании нашего решения нужно помнить о следующих моментах:

  • «Отсеивающие» параметры можно и нужно прописывать с учетом особенностей вашего проекта.
  • Вы можете настроить автоматический запуск скрипта, например, еженедельно.
  • Если ваш аккаунт достаточно старый, мы рекомендуем проверить площадки за весь период его работы. Чтобы сделать это, просто оставьте поле с отчетным периодом пустым.
(Голосов: 2, Рейтинг: 5)
Читайте нас в Telegram - digital_bar

Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
  • Феликс Неботов
    1
    комментарий
    0
    читателей
    Феликс Неботов
    больше года назад
    Вадим, здравствуйте.
    Чем отличается от этого скрипта?
    gist.github.com/derekmartinla/06e51b8a4298b8bbb8ff
    -
    0
    +
    Ответить
  • Гость
    1
    комментарий
    0
    читателей
    Гость
    больше года назад
    Вадим, спасибо за отличный скрипт!
    Скажите, пожалуйста, а можно привязать выполнение скрипта к определенной кампании?
    -
    0
    +
    Ответить
  • Гость
    больше года назад
    Спасибо за полезную информацию. Можете ли поделится шаблоном файла настроек и содержимым скрипта, сложенным в один файл?
    -
    2
    +
    Ответить
    • Vadim Chernik
      1
      комментарий
      0
      читателей
      Vadim Chernik
      Гость
      больше года назад
      Добрый день,

      Ссылка на шаблон таблицы с настройками: goo.gl/oOKdER
      Ссылка на весь скрипт: goo.gl/aIA0FL
      -
      2
      +
      Ответить
  • Гость
    больше года назад
    ого
    -
    1
    +
    Ответить
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Ссылочный апдейт Google: что изменится для SEO-специалистов в рунете
Тимур
6
комментариев
0
читателей
Полный профиль
Тимур - Понял, спасибо за информацию.
3 основные ошибки, которые допускают владельцы сайтов при продвижении
Виктор Гаврюков
31
комментарий
1
читатель
Полный профиль
Виктор Гаврюков - Не обращай внимания_) Если у тебя хороший ресурс, то ты будешь первоисточником, и все кто своровал, автоматически начнут на тебя ссылаться, точнее, так гугл будет считать_)
Тильда для SEO-продвижения и бизнеса: плюсы и минусы конструктора сайтов
Сергей Садовничий
2
комментария
0
читателей
Полный профиль
Сергей Садовничий - Есть страницы где 79 для мобайла / 97 для десктопа без вообще каких либо заморочек. Есть страницы на Тильда у которых показатели для мобайла 60 - и эти страницы находятся в ТОП 1-3 по всем интересующим ключам. С показателями по скорости 60 Google Search Console заявляет, что страница оптимизирована для мобильных устройств и является удобной для пользователей. Рекомендую в первую очередь делать акцент на контенте, качестве внутренней оптимизации, наличии коммерческих факторов (если это не инфо страница) и над ссылочным а уж потом пытаться подтягивать показатели по PageSpeed Insights. Но как правило страницы выходят в ТОП и необходимости добиться PageSpeed Insights за 80 нет!
Зарабатываем с помощью текстов: как создать уникальный контент и монетизировать сайт
Максим Зубарев
1
комментарий
0
читателей
Полный профиль
Максим Зубарев - Просто каждый должен заниматься своим делом и о нем и писать ))) сапа хороша в ссылках, вот о линкбилдинге их материалы заходят хорошо. Сапа не пишет статьи ))) Поэтому ничего удивительного
Сравнительная статистика уровня жизни SEO-специалистов в семи странах, включая Россию
Рустам
1
комментарий
0
читателей
Полный профиль
Рустам - Средняя температура по больнице, подсчет даже близко не отображает действительность, особенно учитывая разность цен и уровня зп в разных частях больших стран (США, Канада, Россия)
Скучное, но эффективное SEO: 3 кита успешной поисковой оптимизации
Bquadro
2
комментария
0
читателей
Полный профиль
Bquadro - Не совсем так) Совет про техническую оптимизацию и структуру сайта равноценен как для коммерческого сайта, так и для информационного. Эти два правила универсальны и влияют на ранжирование в поиске вне зависимости от типа ресурса.
Известность бренда SEO-компаний 2021
Mike
9
комментариев
0
читателей
Полный профиль
Mike - я конкретного человека спросил. ваша реклама не особо интересует. тем более вы даже не удосужились дать примеры статей
Как доработка структуры вывела сайт в ТОП-10 Google и увеличила трафик в 2 раза. Кейс Связной Трэвел
Дмитрий
3
комментария
0
читателей
Полный профиль
Дмитрий - Вероятнее всего было обновление Google и позиции были снижены в связи с низкой скоростью загрузки страниц (так как доработке ведутся не только по SEO, но и в целом по функционалу сайта, появляются новые скрипты). В этот период в Google Search Console увеличилось количество страниц с низкой скоростью загрузки. Мы выявили несколько проблем, которые снижают скорость загрузки страниц и выдали рекомендации по их устранению. Пока данные рекомендации находятся в работе. Также был проведен анализ EAT факторов и проверка сайта на соответствие требованиям Google к YMYL сайта, выданы рекомендации по доработке данных факторов (ждем внедрения наших рекомендаций, поделимся потом результатами).
Как оптимизировать картинки для SEO-продвижения: чек-лист
Алексей Махметхажиев
6
комментариев
0
читателей
Полный профиль
Алексей Махметхажиев - Надо упомянуть про ленивую загрузку lazy load, что её можно сделать с вредом для картинок и их индексации и можно сделать всё правильно. Есть отложка вредная.)
Рост ботных переходов на сайт: как интерпретировать и что делать
Mike
9
комментариев
0
читателей
Полный профиль
Mike - как это проверить? что товары выводится именно на основе спроса, а не по заданным алгоритмам?
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
385
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
121
Комментариев
115
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
94
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
62
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!