Инструкция: как настроить уведомления о бюджете Google Ads для Telegram и на почту?

photo
Надеюсь, вам понравится читать этот пост!
Если вы хотите, чтобы моя команда просто занималась вашим маркетингом, нажмите здесь.

Если вы продвигаете свои товары или услуги через контекстную рекламу, важно не забывать пополнять счёт аккаунтов. В этом поможет настройка уведомлений о текущем балансе на электронную почту и в Telegram. Читайте нашу инструкцию, чтобы отслеживать остаток на аккаунтах Google Ads автоматически, не заходя в аккаунт.

ВАЖНО! Скрипт работает только с аккаунтами, подключенными к My Client Center (MCC) Google Ads по предоплате и на уровне всех аккаунтов.

Подключение скрипта

1.  Заходим на уровень всех аккаунтов MCC, в блоке «Настройки» нажимаем на «Скрипты»

контекст, инструкция

2. Копируем скрипт, нажимаем на «Плюс» и вставляем его в открывшемся окне

2

Скрипт:

var CONFIG = {

// Указать минимальное количество дней до окончания средств на аккаунте для отправки уведомления.

days : 7,

// Указать почты для отправки уведомлений, через запятую, если больше одной

email : [’email@gmail.com’, ’email2@gmail.com’],

// Указать ники/имена тех, кому отправляется письмо, через запятую, если больше одного

names : [‘Nick’, ‘Name’],

// Помечаем необходимые для отслеживания аккаунты ярлыком, пример — ActiveP

labelName : [‘ActiveP’]

}

function main () {

var accounts = MccApp.accounts()

.withCondition(‘LabelNames CONTAINS «‘ + CONFIG.labelName + ‘»‘)

.executeInParallel(«budgetControl»)

}

function budgetControl() {

var accountName = AdWordsApp.currentAccount().getName();

var budgets = AdWordsApp.budgetOrders().withCondition(‘Status = ACTIVE’).get();

while (budgets.hasNext()) {

try {

var budget = budgets.next();

if (budget.getSpendingLimit() !== null ) {

var startDate = timeFormat(budget.getStartDateTime());

var cost = AdWordsApp.currentAccount().getStatsFor(startDate,today()).getCost();

var last7DaysCostByDay = (AdWordsApp.currentAccount().getStatsFor(«LAST_7_DAYS»).getCost() / 7).toFixed();

var limit = budget.getSpendingLimit();

var remainingDays = rDays(limit, cost, last7DaysCostByDay);

var budgetNow = (limit — cost).toFixed();

if (budgetNow < 0) {

var budgetNow = 0;

}

else {

var budgetNow = budgetNow;

}

Logger.log([accountName, budgetNow, last7DaysCostByDay, remainingDays]);

if (remainingDays < CONFIG.days) {

sendTelegramMessage(‘Аккаунт ‘ + accountName + ‘ . Текущий остаток = ‘ + budgetNow + ‘. Расход в день = ‘ + last7DaysCostByDay +

‘ . Денег хватит на ‘ + remainingDays + ‘ дня/дней.’);

MailApp.sendEmail(CONFIG.email,

CONFIG.names +’ / Заканчивается бюджет на аккаунте: ‘ + accountName,

‘Аккаунт ‘ + accountName + ‘ . Текущий остаток = ‘ + budgetNow +

‘. Расход в день = ‘ + last7DaysCostByDay + ‘ в валюте аккаунта. ‘ +

‘Денег хватит на ‘ + remainingDays + ‘ дня/дней. В аккаунте заканчиваются средства. Необходимо предупредить PM.’);

}

}

}

catch (e) {

Logger.log(e);

sendTelegramMessage(‘Ошибка выполнения скрипта контроль Бюджетов ‘ + accountName);

MailApp.sendEmail(CONFIG.email,

‘Ошибка выполнения скрипта Контроль бюджетов’,

‘Необходимо проверить работу скрипта Контроль бюджетов ‘ + accountName + ‘ ‘ + e);

}

}

}

function timeFormat (date) {

var year = date.year.toString();

var month = date.month.toString();

var day = date.day.toString();

if (month.length == 1) {

month = «0» + month;

}

if (day.length == 1) {

day = «0» + day;

}

return [year, month, day].join(«»);

}

function today () {

var date = new Date();

var timeZone = AdWordsApp.currentAccount().getTimeZone();

var format = ‘yyyyMMdd’;

return Utilities.formatDate(date, timeZone, format);

}

function rDays(limit, cost, last7DaysCostByDay) {

var remainingDays = ((limit — cost) / last7DaysCostByDay).toFixed();

if (remainingDays < 1 || remainingDays == «Infinity» || remainingDays == «-Infinity» || remainingDays == -0 ) {

remainingDays = 0;

}

return remainingDays;

}

function sendTelegramMessage(text) {

var CONFIG2 = {

TOKEN: ‘TOKEN’,

CHAT_ID: ‘CHAT_ID’

};

var telegramUrl = ‘https://api.telegram.org/bot’ + CONFIG2.TOKEN + ‘/sendMessage?chat_id=’ + CONFIG2.CHAT_ID + ‘&text=’;

var message = encodeURIComponent(text);

var sendMessageUrl = telegramUrl + message;

var options = {

method: ‘POST’,

contentType: ‘application/json’

};

UrlFetchApp.fetch(sendMessageUrl, options);

}

3. Изменяем значения в указанных полях

3

Чтобы отслеживать сразу несколько аккаунтов, необходимо в интерфейсе Google Ads назначить «Ярлык» аккаунтам, бюджет которых хотите отслеживать.

4

Вкладку со скриптом не закрывайте, к нему мы еще вернемся.

4. Следующий шаг – это создание бота в Telegram

Набираем в поиске Telegram @botfather и нажимаем «Запустить»

5

Вводим в сообщение /newbot

6

Нажимаем на указанное на скриншоте значение

7

Далее пишем название бота, name_bot, где значение nameэто оригинальное имя. Советую называть по проекту, который вы подвигаете посредством контекстной рекламы, если будете отслеживать бюджет 1 аккаунта. Если будете вести отслеживание бюджета нескольких – назовите таким образом, чтобы было понятно, что это бот отслеживания бюджета.

Если пришло данное сообщение, значит имя занято, попробуйте другое

8

Это сообщение говорит нам о том, что всё получилось, имя свободно.

9

Далее нажимаем на ссылку и переходим в созданный бот.

10

Нажимаем кнопку «Запустить» и отправляем любое сообщение:

11

После этого копируем и вставляем во вкладку браузера данную ссылку, где ТОКЕН – это значение из сообщения @BotFather   https://api.telegram.org/botТОКЕН/getUpdates

Бесплатное обучение маркетингу от Edugusarov.by на 7 дней
У нас вы сможете учиться в удобном темпе, понять, как работает маркетинг, и оценить необходимость его изучения.
Едугусаров картинка

Переходим по ссылке. Если в браузере не открылось окно с id чата, тогда скопируйте ссылку, еще раз вставьте и перейдите по ней.

12

Затем копируем id чата

13

5. Возвращаемся к нашему скрипту, в самом низу нужно будет вставить уже знакомые вам значения:

14

6. Нажимаем на кнопку «Авторизировать» и сохраняем скрипт. Затем выставляем время, когда хотим, чтобы нам приходили уведомления. Приходить сообщения в Telegram будут с задержкой. Время задержки может достигать 1 час.

15

7. Так выглядит сообщение об остатке бюджета в Telegram:

16

Готово! Теперь вы можете отслеживать бюджеты аккаунтов, не заходя в интерфейс Google Ads.

01.08.2019

Об авторах:

Андрей Гусаров

Андрей Гусаров

Директор компании, консультант и интернет-маркетолог. Автор статей по интернет-маркетингу, которые стали инструкциями у крупного бизнеса. Постоянный организатор и спикер на мастер-классах по юзабилити и отстройке от конкурентов.

Похожие записи:
Лучшие сервисы для email-рассылок
Лучшие сервисы для email-рассылок: создавай, отправляй и продавай
marginalia-design-process1
Визуальная иерархия в UX: Управление вниманием пользователя
Hu (1)
Полина Ганкович: что бы ты ни делал, делай это качественно
При нахождении на сайте Вы соглашаетесь с политикой обработки персональных данных.