Мой первый скрипт Adwords

901

Приветствую вас друзья!

В этой статье мы поговорим о скриптах adwords, а точнее об одном из них – моем первом скрипте который я написал.скрипт adwords

А начну с небольшой предыстории, почему мне пришлось это сделать.

Передо мной стояла задача: останавливать все рекламные кампании по достижению определенного дневного лимита во всем аккаунте. При этом кол-во рекламных кампаний периодически меняется, добавляются новые, некоторые старые останавливаются и т.д.

Вы можете сказать: что решить этот вопрос можно простой встроенной функцией в adwords, такой как общий бюджет.

Но не тут то было!

Проблема номер один: при общем бюджете одна рекламная кампания на которую у меня стоит ограничение в день 50 грн может скушать все 200 грн бюджета, и при этом остальные недополучат нужные им финансы.
Проблема номер два: у каждой рекламной кампании стоят свои настройки в скорости расхода бюджета в сутки (ускоренный или равномерный)

По этим двум причинам общий бюджет тут не подходит.

Так же есть вариант – ограничивать каждую рекламную кампанию по дневному бюджету, но это тоже мне не подходит, так как бюджеты постоянно распределяются между РК по новому, сегодня надо этой больше задать дневного бюджета а завтра другой.

Ну и вспомнив что когда-то я ходил на курсы по JavaScript, да и в целом уже не один раз копипастил готовые скрипты в adwords, я решил что настало время попытать свои силы в настройке своего собственного скрипта.

Думал что это займет намного больше времени, но я потратил около 3-4 часов и вот мой первый скрипт в 14 строк готов 😃 конечно я воспользовался русскоязычной справкой по скриптам adwords

Что делает этот скрипт? Он останавливает все Рекламные Кампании при достижении ими общей суммы более 500 грн за сегодняшний день.

А вот и сам скрипт:
function main() {
  var campaignIterator = AdWordsApp.campaigns().get();
  var x = 0;
  while (campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();
    var i = campaign.getStatsFor("TODAY").getCost();
    x += i;
    if (x > 500) {
      var campaignIterator2 = AdWordsApp.campaigns().get();
      while (campaignIterator2.hasNext()) {
        campaignIterator2.next().pause();
      }
    }
  }
}