AdWords
Сейчас в сети: 862
Сейчас в сети: 862
Советы и вопросы по использованию скриптов AdWords
Подсказки
star_border
Ответить

Скрипт поочередного отключения всех кампаний на аккаунте

Студент ✭

Добрый день, подскажите, разрабатывался ли когда-либо скрипт, позволяющий поочередно, каждый час, включать и выключать все кампании? Например: в нечетный день включать кампании каждый четный час, выключать в нечетный час; в четный день включать кампании каждый нечетный час, выключать в каждый четный час. То есть скрипт должен понимать, что есть только день А и день Б, и включать по правилам этих дней уникальное расписание.

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

1 УТВЕРЖДЕННОЕ РЕШЕНИЕ

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Егор Ш
Октябрь

Re: Скрипт поочередного отключения всех кампаний на аккаунте

Аспирант ✭
function main() {
  
  var date = new Date();
  var timeZone = AdWordsApp.currentAccount().getTimeZone();
  var dayFormat = 'dd';
  var hourFormat = 'HH';
  var day = Utilities.formatDate(date, timeZone, dayFormat);
  var hour = Utilities.formatDate(date, timeZone, hourFormat);
  var dayCheck = day % 2;
  var hourCheck = hour % 2;
  Logger.log(day+" "+hour+" "+dayCheck+" "+hourCheck);
  if ((dayCheck == 0 && hourCheck == 1) || (dayCheck == 1 && hourCheck == 0)) {
    //Включить кампании
  } else {
    //Выключить кампании
  }
 
}

Просмотреть решение в исходном сообщении

Скрипт поочередного отключения всех кампаний на аккаунте

Аспирант ✭

Готовых не видел, но сам такие использую.
Если конкретно по нечетности, то вам нужно вытянуть числовой показатель дня, часа, месяца и посчитать остаток при помощи %2, например:
сегодня 23, 24, 5, 8 число

   var a = 23%2;  //результат 1

   var a = 24%2;  //результат 0

   var a = 5%2;  //результат 1

   var a = 8%2;  //результат 0

 

Дальше условие:

  if (a == 0){запустить/кампани/группу/ключи/объявления}

  else if (a == 1){приостановить..}

 

 

Скрипт поочередного отключения всех кампаний на аккаунте

Студент ✭

Василий, спасибо за ответ!

Подскажите что вы подразумеваете под подсчетом остатка и что именно означает %2? И я не совсем вижу момент в вашем примере (только если 8%2, например, также может расцениваться как час), в который нужно добавить часы, чтобы учитывалось их варьирование.

Скрипт поочередного отключения всех кампаний на аккаунте

Аспирант ✭

@Егор Ш  % 2 означает деление числа на 2. Если есть остаток - то возвращает 1, если его нет - 0. Таки образом проверяется четность. Таким образом можно настроить скрипт, чтобы он отключал кампании таким образом.

 

Лучший ответ.
Решение
Утвердил автор темы Егор Ш
Октябрь

Re: Скрипт поочередного отключения всех кампаний на аккаунте

Аспирант ✭
function main() {
  
  var date = new Date();
  var timeZone = AdWordsApp.currentAccount().getTimeZone();
  var dayFormat = 'dd';
  var hourFormat = 'HH';
  var day = Utilities.formatDate(date, timeZone, dayFormat);
  var hour = Utilities.formatDate(date, timeZone, hourFormat);
  var dayCheck = day % 2;
  var hourCheck = hour % 2;
  Logger.log(day+" "+hour+" "+dayCheck+" "+hourCheck);
  if ((dayCheck == 0 && hourCheck == 1) || (dayCheck == 1 && hourCheck == 0)) {
    //Включить кампании
  } else {
    //Выключить кампании
  }
 
}