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

Скрипт распределения бюджета в зависимости от дня недели

Студент ✭

Добрый вечер! Может кто-то знает, есть ли скрипт для установки различных дневных бюджетов в зависимости от дня недели? Например, нужно в понедельник установить бюджет 100 грн, во вторник 150, а в выходные по 200 и т.д.

4 Ответ экспертаverified_user
1 УТВЕРЖДЕННОЕ РЕШЕНИЕ

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Вита К
апреля 2016

Re: Скрипт распределения бюджета в зависимости от дня недели

Активные участники

Добрый день.

Давно хотел себе написать такую штуку, да все руки не доходили.

 

Вот Сам скрипт. Он еще отправляет данные о изменение бюджета на почту. если не хотите уведомления получать, то удалите строки 62-68.

Вместо 'Ремаркетинг' вводите имя своего бюджета, или имя кампании. Скрипт актуален только если бюджет. или кампания одна (Будет время можно будет допилить для нескольких бюджетов сразу):

function main() {
  
  // Задайте бюджет для каждого дня
  var mondeyBudget = 100; // Бюджет на Понедельник
  var tuesdayBudget = 100; // Бюджет на Вторник
  var wednesdayBudget = 100; // Бюджет на Среду
  var thursdayBudget = 100; // Бюджет на Четверг
  var fridayBudget = 100; // Бюджет на Пятницу
  var saturdayBudget = 100; // Бюджет на Субботу
  var sundayBudget = 100; // Бюджет на Воскресение

 
  var budgetSelector = AdWordsApp.budgets()
      .withCondition("BudgetName CONTAINS_IGNORE_CASE 'Ремаркетинг'").get(); // Сюда вводите имя бюджета, если он у Вас из библиотеки общих бюджетов, или имя кампании в которой хотите бюджет поменять.
   
  var budget = budgetSelector.next();
  
  var oldBudget = budget.getAmount();
  var nameBudget = budget.getName();
  
  Logger.log("Старый Бюджет '" + budget.getName() + "' = " + budget.getAmount());

  var myDate = new Date();
  var getMyDay = myDate.getDay();
  
  switch (getMyDay) {
    case 0:
      budget.setAmount(sundayBudget);
      Logger.log("Сегодня Воскресение!");
      break;
    case 1:
      budget.setAmount(mondeyBudget);
      Logger.log("Сегодня Понедельник!");
      break;  
    case 2:
      budget.setAmount(tuesdayBudget);
      Logger.log("Сегодня Вторник!");
      break;
    case 3:
      budget.setAmount(wednesdayBudget);
      Logger.log("Сегодня Среда!");
      break;
    case 4:
      budget.setAmount(thursdayBudget);
      Logger.log("Сегодня Четверг!");
      break;
    case 5:
      budget.setAmount(fridayBudget);
      Logger.log("Сегодня Пятница!");
      break;
    case 6:
      budget.setAmount(saturdayBudget);
      Logger.log("Сегодня Субботу!");
      break;
  }
  
 
  var newBudget = budget.getAmount();
  
  Logger.log("Новый Бюджет '" + budget.getName() + "' = " + budget.getAmount());
  
// Отправка уведомления на почту. Если не хотите их получать, то удалите строки 62-68  
    MailApp.sendEmail({
    to: 'test@gmail.com',
    subject: 'Бюджеты изменены',
    htmlBody: "Бюджет " + nameBudget + " был изменен с " + oldBudget + " на <span style='font-weight: bold;'>" + newBudget + "</span><br>"

  });
 
}
---------
С уважением Олег Поддубный

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

Re: Скрипт распределения бюджета в зависимости от дня недели

Активные участники

Добрый! Тоже буду рад, если кто-то поделится таким скриптом Веселый
Я однажды заморачивался так - делал автоматизированные правила, чтобы в определенные дни недели на нужную сумму у меня бюджет увеличивался/уменьшался.
По вашему примеру логика такая - начинается неделя у нас со 100 грн. дневного бюджета(т.е. правила настраиваем именно в этот день), значит делаем на вторник правило (на 3 утра, допустим), чтобы в нужных кампаниях бюджет увеличился на фикс 50 грн., в среду обратно снижаем на 50 грн., в субботу увеличиваем на 100 грн. и в понедельник уменьшаем на 100 грн.

Как-то так Веселый

 

Screenshot_10.jpg

Re: Скрипт распределения бюджета в зависимости от дня недели

Активные участники
Есть же автоматизированные правила.
Задаете требование и бюджет меняется. http://take.ms/h3RnW
Лучший ответ.
Решение
Утвердил автор темы Вита К
апреля 2016

Re: Скрипт распределения бюджета в зависимости от дня недели

Активные участники

Добрый день.

Давно хотел себе написать такую штуку, да все руки не доходили.

 

Вот Сам скрипт. Он еще отправляет данные о изменение бюджета на почту. если не хотите уведомления получать, то удалите строки 62-68.

Вместо 'Ремаркетинг' вводите имя своего бюджета, или имя кампании. Скрипт актуален только если бюджет. или кампания одна (Будет время можно будет допилить для нескольких бюджетов сразу):

function main() {
  
  // Задайте бюджет для каждого дня
  var mondeyBudget = 100; // Бюджет на Понедельник
  var tuesdayBudget = 100; // Бюджет на Вторник
  var wednesdayBudget = 100; // Бюджет на Среду
  var thursdayBudget = 100; // Бюджет на Четверг
  var fridayBudget = 100; // Бюджет на Пятницу
  var saturdayBudget = 100; // Бюджет на Субботу
  var sundayBudget = 100; // Бюджет на Воскресение

 
  var budgetSelector = AdWordsApp.budgets()
      .withCondition("BudgetName CONTAINS_IGNORE_CASE 'Ремаркетинг'").get(); // Сюда вводите имя бюджета, если он у Вас из библиотеки общих бюджетов, или имя кампании в которой хотите бюджет поменять.
   
  var budget = budgetSelector.next();
  
  var oldBudget = budget.getAmount();
  var nameBudget = budget.getName();
  
  Logger.log("Старый Бюджет '" + budget.getName() + "' = " + budget.getAmount());

  var myDate = new Date();
  var getMyDay = myDate.getDay();
  
  switch (getMyDay) {
    case 0:
      budget.setAmount(sundayBudget);
      Logger.log("Сегодня Воскресение!");
      break;
    case 1:
      budget.setAmount(mondeyBudget);
      Logger.log("Сегодня Понедельник!");
      break;  
    case 2:
      budget.setAmount(tuesdayBudget);
      Logger.log("Сегодня Вторник!");
      break;
    case 3:
      budget.setAmount(wednesdayBudget);
      Logger.log("Сегодня Среда!");
      break;
    case 4:
      budget.setAmount(thursdayBudget);
      Logger.log("Сегодня Четверг!");
      break;
    case 5:
      budget.setAmount(fridayBudget);
      Logger.log("Сегодня Пятница!");
      break;
    case 6:
      budget.setAmount(saturdayBudget);
      Logger.log("Сегодня Субботу!");
      break;
  }
  
 
  var newBudget = budget.getAmount();
  
  Logger.log("Новый Бюджет '" + budget.getName() + "' = " + budget.getAmount());
  
// Отправка уведомления на почту. Если не хотите их получать, то удалите строки 62-68  
    MailApp.sendEmail({
    to: 'test@gmail.com',
    subject: 'Бюджеты изменены',
    htmlBody: "Бюджет " + nameBudget + " был изменен с " + oldBudget + " на <span style='font-weight: bold;'>" + newBudget + "</span><br>"

  });
 
}
---------
С уважением Олег Поддубный

Скрипт распределения бюджета в зависимости от дня недели

Студент ✭ ✭ ✭

Добрый день,

Добавил Ваш скрипт, но по расписанию он не вносит изменения, только когда вручную кликаю "Выполнить скрипт".

В чем может быть проблема? 

Скрипт распределения бюджета в зависимости от дня недели

Активные участники

А в логах что написано?

---------
С уважением Олег Поддубный

Скрипт распределения бюджета в зависимости от дня недели

Студент ✭ ✭ ✭

Например сегодня, после выполнения по расписанию:

Старый Бюджет 'ДБ' = 1540
Сегодня Понедельник!
Новый Бюджет 'ДБ' = 1540

Скрипт распределения бюджета в зависимости от дня недели

Активные участники

Опишите, пожалуйста условия выполнения. настройки, когда выполняете и т.п.

---------
С уважением Олег Поддубный

Re: Скрипт распределения бюджета в зависимости от дня недели

Студент ✭ ✭ ✭

Настроен общий бюджет с именем - ДБ. Один бюджет на все кампании. Скрипт выполняется ежедневно в 5:00 по Киеву.

Вот настройки по скрипту:

var mondeyBudget = 1540; // Бюджет на Понедельник
var tuesdayBudget = 801; // Бюджет на Вторник
var wednesdayBudget = 802; // Бюджет на Среду
var thursdayBudget = 803; // Бюджет на Четверг
var fridayBudget = 804; // Бюджет на Пятницу
var saturdayBudget = 424; // Бюджет на Субботу
var sundayBudget = 425; // Бюджет на Воскресение


var budgetSelector = AdWordsApp.budgets()
.withCondition("BudgetName CONTAINS 'ДБ'").get(); // Сюда вводите имя бюджета, если он у Вас из библиотеки общих бюджетов, или имя кампании в которой хотите бюджет поменять.

Скрипт распределения бюджета в зависимости от дня недели

Активные участники

Хм... Каких-то ошибок в последовательности, или логике скрипта не вижу... Попробуйте вот тут поменять 

 

Logger.log("Старый Бюджет '" + budget.getName() + "' = " + budget.getAmount());

 

на 

 

Logger.log("Старый Бюджет '" + budget.getName() + "' = " + oldBudget);

 

А если проверять по самим бюджетом, тоже не меняет?

---------
С уважением Олег Поддубный