Как избежать перерасхода дневного бюджета в Google AdWords
Да, в Google AdWords есть ограничение бюджета на кампанию и на аккаунт в целом. Но они очень инертные. А по комментарию, который я слышал от специалиста техподдержки Гугла, кампания останавливается не сразу и сделано это нарочно.
Напишем скрипт, который раз в час будет проверять баланс на аккаунте, в кампаниях аккаунта и, если расходы больше определенной величины, пришлет нам email с оповещением.
Собственно, сам скрипт
Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| function main() {
var campaigns = AdWordsApp.campaigns()
.withCondition("Status = ENABLED")
.forDateRange("TODAY");
var campaignIterator = campaigns.get();
var cid = {};
cid['Название кампании Поиск Москва'] = 1;
var TotalLimit = 2;
var TotalCost = 0;
var yourEmail = '****@******.***';
var html='';
var AccName = AdWordsApp.currentAccount().getName();
while (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
var campaignName = campaign.getName();
var budgetAmount = campaign.getBudget().getAmount();
var costToday = campaign.getStatsFor("TODAY").getCost();
Logger.log ("Рассмотрим кампанию *** "+ campaignName+" ***");
if (cid[campaignName] == undefined) {
html = html +"\n"+ '*********** Лимит не установлен для ***'+campaignName+'***'+"\n";
Logger.log ('*********** Лимит не установлен для ***'+campaignName+'***');
} else
if(costToday > cid[campaignName]) {
html = html +"\n"+ campaignName + " расход первышен " + costToday+"\n";
Logger.log(campaignName + " \t\t\t\t расход первышен " + costToday);
//campaign.pause();
} else {
Logger.log(campaignName + " \t\t\t\t расход в норме " + costToday);
}
TotalCost = TotalCost + costToday;
}
if (html!='' || TotalCost>TotalLimit) {
html = html + '\nОбщий расход ' + TotalCost+'\n';
html = html + 'Лимит общего расхода ' + TotalLimit+'\n';
MailApp.sendEmail( yourEmail, 'Расход по кампании ' + AccName, 'Аккаунт ' + AccName +' \n' + html);
Logger.log("\n\nПисьмо отправлено");
}
Logger.log("\n\nhtml");
Logger.log(html);
} |
1. Скопируйте скрипт в AdWords и установите свое email в переменной yourEmail. Больше пока ничего не трогайте.
2. Запустите скрипт как есть в режиме просмотра и перейдите на вкладку журнал.
ВАЖНО! При первом запуске Гугл будет дважды спрашивать о безопасности доступа - оба раза надо согласиться.
Вы увидите что-то вроде такого сообщения
Код | 1 2
| Рассмотрим кампанию *** Кампания_Россия_ПК ***
*********** Лимит не установлен для ***Кампания_Россия_ПК*** |
Это означает, что надо добавить переменную в массив cid
Код | 1
| cid['Кампания_Россия_ПК'] = 80; |
где 80 - максимальный размер расхода.
3. Если все переменные cid настроены правильно, вы увидите лог только из подобных сообщений
Код | 1 2 3 4
| Рассмотрим кампанию *** Первая_Россия_ПК ***
Первая_Россия_ПК расход первышен 89.15
Рассмотрим кампанию *** Вторая_Казахстан_ПК ***
Вторая_Казахстан_ПК расход в норме 9.89 |
4. Установите максимальный расход на аккаунт в переменную TotalLimit
5. В Google AdWords в списке скриптов установите выполнение скрипта раз в час
Дата публикации: 22.02.2018 Прочитано: 8037 раз |