Контроль остатка бюджета аккаунта с помощью скрипта AdWords
В апреле этого года скрипты AdWords Scripts стали поддерживать BudgetOrder. Новая функция позволяет получать информацию о денежных лимитах аккаунта, бюджетах кредитной линии и другие полезные данные, которые связаны с пополнением аккаунта.
Это нововведение облегчает работу PPC-специалистов за счет возможности вычислять остаток аккаунта заранее, что позволяет избежать простоя аккаунта. Особенно это важно при пополнении аккаунта денежным переводом в банке, когда сам перевод может занимать несколько дней.
Остаток вычисляется из денежного лимита самого аккаунта — из суммы всех пополнений аккаунта мы вычитаем расход по кампаниям за все время с учетом средств, которые AdWords возвращает за недействительную активность. В итоге мы получаем более точный остаток аккаунта, чем в стандартном интерфейсе, так как там деньги списываются не в режиме онлайн, а частями в течение дня.
Делимся нашим скриптом для контроля остатка бюджета. Основные настройки скрипта:
- Limit — минимальный остаток средств для отправки уведомления.
- Days — количество дней, за которые нужно уведомить о завершении остатка.
- alertType — выбираем значение лимита, или остаток или количество дней.
- includeVAT — включен ли НДС на аккаунтах. НДС взимается в конце месяца и это важно учитывать при контроле бюджета.
Полный скрипт:
function main() {
//Настройки скрипта
var days = 7; // Минимальное число дней для отправки уведомления
var alertLimit = 1000; // Минимальный остаток для отправки уведомления
var email = ['Электронная@почта.ком']; //Добавляются адреса всех, кому должно прийти письмо с уведомлением
var alertType = true; // true - уведомление при малом остатке, при значении false - при количестве дней
var includeVAT = true;
var budgetOrder = AdWordsApp.budgetOrders().get().next();
var SpendingLimit = budgetOrder.getSpendingLimit(); // Общий лимит аккаунта
var adjustments = budgetOrder.getTotalAdjustments(); // Возвращенные средства на аккаунт
var Spent = AdWordsApp.currentAccount().getStatsFor('ALL_TIME').getCost(); // Расход за все время
var lastWeekSpent = AdWordsApp.currentAccount().getStatsFor('LAST_7_DAYS').getCost(); // Расход за последние 7 дней
var thisMonthSpent = AdWordsApp.currentAccount().getStatsFor('THIS_MONTH').getCost();
var vat = thisMonthSpent * 0.2;
if (includeVAT) {
SpendingLimit -= vat;
}
Logger.log(vat);
if (adjustments == null) {
var remainingBudget = SpendingLimit - Spent;
} else {
var remainingBudget = SpendingLimit - (Spent + adjustments);
}
Logger.log("Остаток аккаунта - " + Math.round(remainingBudget));
if (alertType) {
if (remainingBudget < alertLimit) {
sendSimpleTextEmail(email);
}
} else {
var limitsDays = remainingBudget / lastWeekSpent;
if (limitsDays < days) {
sendSimpleTextEmail(email);
}
}
function sendSimpleTextEmail(mail) {
MailApp.sendEmail( mail,
'Минимальный остаток бюджета! ' + AdWordsApp.currentAccount().getName(),
'В аккаунте заканчиваются средства. Внесите оплату!');
}
}
Настройки скрипта минимальные. Следует помнить, что данный скрипт запускается на уровне аккаунта, а не Центра клиентов. Также желательно его использовать в аккаунтах без кредитной линии, так как в них отличается метод подсчета остатка.
Пользуйтесь данным решением и получайте от ваших кампаний максимум!
Последние комментарии