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

Делимся скриптом, который проверяет остаток денежных средств на отдельных аккаунтах Google Ads. Скрипт отправляет уведомление на почту и в Telegram — это поможет вовремя пополнить счёт.
Первая версия статьи вышла в 2019 году. Обновление информации и доработку кода выполнил Дмитрий Конарев, Upper-Junior PPC Specialist агентства Netpeak.
Важно: скрипт работает только с аккаунтами Google Ads по предоплате.
Пост и скрипт создан и доработан по материалам телеграм-канала Скрипты Google Ads, скриптов на GitHub (1, 2).
Артем Бородатюк о бизнесе и том, как он меняет мир Андрей Чумаченко о маркетинге, управлении собой и агентством Читать ЧитатьПодписывайтесь на Telegram-каналы основателей Netpeak
Как подключить скрипт
1. Копируем скрипт и вставляем его в аккаунт.
2. Добавляем скрипт.
3. Перед запуском обязательно изменяем значения в первом блоке.
- days — количество дней, на которое должно хватить остатка. То есть, если денег меньше, чем на семь дней, вы получите уведомление;
- email — указываем почту/почты, на которые должны приходить уведомления. Важно: почтовые адреса нужно указывать в кавычках;
- names — заменить ‘Nick’, ‘Name’ на свои значения (используется в теме письма при отправке) ;
- labelName: ActiveP — ярлык для аккаунтов, которые нужно контролировать.
4. Создаем бота для Telegram.
- открываем телеграмм, находим бота:
- придумываем имя и username. Рекомендую назвать одним значением, например Name_Bot. Вместо Name подставьте свое название;
- вводим своё название для бота;
- забиваем в строку username такое же название;
- если высветит ошибку «Sorry, this username is already taken. Please try something different», нужно выбрать другое название;
- если все верно, получаем ответ:
- открываем нашего бота, отправляем ему любое сообщение;
- после этого переходим по ссылке в браузере https://api.telegram.org/bot<ТОКЕН>/getUpdates. Здесь вместо <ТОКЕН> вставьте значение из ответа бота;
- видим ответ. Копируем цифры: \"chat:{\"id\":ХХХХХХХХХ
Не всегда показывается ID Chat. Если ID Chat не появился в окне браузера, то необходимо в Bot_Father сделать функцию /revoke и отправить повторно любое сообщение боту. После этого необходимо снова перейти в браузере по ссылке, заменив <ТОКЕН> на новое значение, полученное после функции /revoke.
- вставляем полученные значения в переменные в скрипте (следующий пункт).
5. Измените значения во втором блоке скрипта (в самом низу):
- TOKEN— номер токена;
- CHAT_ID— номер чата.
6. Авторизуйте скрипт.
7. Поставьте запуск скрипта по удобному вам расписанию.
8. Итог — вот такие уведомления на почту:
Так выглядят сообщения в Telegram:
Код скрипта
var CONFIG = { // Указать минимальное количество дней до окончания средств на аккаунте для отправки уведомления. days: 7, // Указать почты для отправки уведомлений, через запятую, если больше одной email: [\\\'email@gmail.com\\\', \\\'email2@gmail.com\\\'], // Указать ники/имена кому отправляется письмо, через запятую, если больше одного names: [\\\'Nick\\\', \\\'Nick2\\\'], } function main() { var accountName = AdWordsApp.currentAccount().getName() ; var budgets = AdWordsApp.budgetOrders().withCondition(\\\'Status = ACTIVE\\\').get() ; try { var budget = budgets.next() ; if (budget.getSpendingLimit() !== null) { var startDate = timeFormat(budget.getStartDateTime()) ; var cost = AdWordsApp.currentAccount().getStatsFor(startDate, today()).getCost() ; var limit = budget.getSpendingLimit() ; var last7DaysCostByDay = (AdWordsApp.currentAccount().getStatsFor(\"LAST_7_DAYS\").getCost() / 7).toFixed() ; var remainingDays = rDays(limit, cost, last7DaysCostByDay) ; var adjustments = AdWordsApp.budgetOrders().get().next().getTotalAdjustments() ; var budgetNow = (limit - cost).toFixed() ; if (budgetNow < 0) { var budgetNow = 0; } else { var budgetNow = budgetNow; } Logger.log([accountName, budgetNow, last7DaysCostByDay, remainingDays, adjustments]) ; var messageHeader = CONFIG.names + \\\' / Заканчивается бюджет на аккаунте: \\\' + accountName; var messageBody = \\\'Аккаунт \\\' + accountName + \\\' . Текущий остаток = \\\' + budgetNow + \\\'. Расход в день = \\\' + last7DaysCostByDay + \\\' в валюте аккаунта. \\\' + \\\'Денег хватит на \\\' + remainingDays + \\\' дня/дней. В аккаунте заканчиваются средства. Необходимо предупредить PM.\\\'; if (remainingDays < CONFIG.days) { MailApp.sendEmail(CONFIG.email, messageHeader, messageBody) ; sendTelegramMessage(messageHeader + \\\'. \\\' + messageBody) ; } } } catch (e) { Logger.log(e) ; var messageHeader = \\\'Ошибка выполнения скрипта Контроль бюджетов\\\'; var messageBody = \\\'Необходимо проверить работу скрипта Контроль бюджетов \\\' + accountName + \\\' \\\' + e; MailApp.sendEmail(CONFIG.email, messageHeader, messageBody) ; sendTelegramMessage(messageHeader + \\\'. \\\' + messageBody) ; } } 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: \\\'ID_CHAT_BOT\\\' }; 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) ; }
Комментарии:
Google Shopping и Smart Shopping Campaign сами себя не оптимизируют....
08 06 2026 5:36:31
Менеджер экспортного направления Гугл Украина — об особенностях выхода на рынки разных стран мира....
07 06 2026 23:56:54
Сооснователь и главред Forbes Ukraine о вовлечении читателей в смысловое поле бизнеса...
06 06 2026 7:11:12
Больше пятисот человек из Украины, России, Болгарии и Казахстана. Я зашел в зал и увидел толпу каких-то гопарей и воровайок родом из 90-х, а само помещение было оформлено под свадьбу. Выпьем за молодых!...
05 06 2026 16:27:48
Положительная динамика с первых месяцев работы....
04 06 2026 2:56:13
На что обратить внимание при покупке интернет-ресурса, какие факторы влияют на цену и что помогает определить качество сайта? Ответы на все эти вопросы в статье. Читать!...
03 06 2026 20:37:49
160 символов — размер рекламного сообщения, 2 млн евро — минимальный бюджет для запуска. Уже интересно?...
02 06 2026 11:22:37
Слорварь сленга, без которого к 25-летним не подходи...
01 06 2026 0:37:14
Что нужно, чтобы реклама в интернете приносила прибыль....
31 05 2026 18:31:50
Какую тактику выбрать, чтобы написать внятный доклад. Хедлайнеры интернет-маркетинговых конференций делятся опытом...
30 05 2026 0:46:56
Не все события удобно отслеживать в Google ***ytics, иногда удобнее сделать связку с таблицами Google. А поможет в этом Google Tag Manager...
29 05 2026 23:45:37
Все, что нужно знать об UTM-метках: зачем использовать, как правильно сгенерить и анализировать....
28 05 2026 6:26:58
Когда email-маркетинг становится точкой роста. Кейс интернет-магазина книг Book24....
27 05 2026 12:31:34
Аналитики из SalesForce уже в четвертый раз опубликовали исследование о приоритетах, составе комaнд и распределении бюджетов ведущими маркетологами мира...
26 05 2026 8:16:33
О том, как рассчитать коэффициент ROI (ROMI) для выявления эффективности и прибыльности рекламных кампаний...
25 05 2026 21:59:35
Как рекламировать смартфоны в YouTube — советы крупному бизнесу по настройке и запуску эффективной рекламы. Важно: корректный анализ результатов. Узнайте как его сделать!...
24 05 2026 11:52:22
Настройка целей в Google ***ytics, а также отслеживание событий....
23 05 2026 19:43:36
Метод не для всех, но увлеченным веб-аналитикой точно понравится!...
22 05 2026 10:54:22
Всё, что нужно знать заказчикам услуг о внутренней кухне PM-специалистов...
21 05 2026 2:25:53
Анализ цены за клик в 25 тематиках и 852 городах Украины, России, Казахстана, Болгарии...
20 05 2026 21:17:28
Перед обращением за услугами продвижения задайте себе вопрос: готов ли я выделить львиную долю своего времени и сил на серьезное развитие проекта? При отрицательном ответе не стоит и начинать. И другие вопросы о SEO-продвижении...
19 05 2026 1:17:46
Зачем нужно работать с отчетами по ассоциированным конверсиям и сравнивать различные модели атрибуции?...
18 05 2026 16:13:25
Идея ORM состоит в том, чтобы вызывать положительное мнение о вашей деятельности, работая с отзывами или комментариями, в результате чего больше людей будут покупать ваши товары или услуги. Узнать больше!...
17 05 2026 20:34:21
Короткая история Serpstat — от сервиса «для своих» до международной SEO-платформы....
16 05 2026 20:22:58
Чем радовала, удивляла и шокировала таргетированная реклама в социальных сетях...
15 05 2026 5:13:52
Google Adwords: типы рекламных кампаний и объявлений, тонкостях настройки... Все, о чем вы боялись спросить... Или не боялись, а просто не знали, о чем спрашивать....
14 05 2026 17:16:59
Создатель scrum model Джефф Сазерленд написал книгу о том, как использовать методику разработки программного обеспечения для развития бизнеса....
13 05 2026 14:47:53
Как новичкам в ecommerce выбрать первую CMS. Преимущества и трудности работы для крупных и небольших интернет-магазинов, русскоязычные и мультиязычные, с активной техподдержкой и без нее. Узнать больше!...
12 05 2026 15:53:44
Пример, как 4000+ гривен превращаются в 45000+ гривен. Ниша интернет-магазинов, да еще и бытовой техники уже давно является высококонкурентной. Но при правильном продвижении даже новичок может добиться результатов....
11 05 2026 21:28:44
Сет по контекстной рекламе в тематике «разработка программного обеспечения»: снижение стоимости клика на 89%....
10 05 2026 22:26:41
В конце октября Яндекс начал открытое бета-тестирование новой версии Коммaндера. Я решила уже сейчас проверить все плюсы и минусы новой версии сервиса...
09 05 2026 21:57:18
Инструкция для новичков: как быстро отправить почтовую рассылку клиентам...
08 05 2026 4:59:18
Контент может информировать, вовлекать и продавать, при этом для каждой цели нужен свой тип контента...
07 05 2026 8:21:32
Данные о стоимости клика в наиболее популярных рекламных интернет-площадках страны....
06 05 2026 19:22:20
Рост количества транзакций на 417%, дохода на 560%, среднего чека на 28%....
05 05 2026 6:38:29
Почему синергия штатных специалистов и рекламное дело агентства SEO/PPC выгодна бизнесу...
04 05 2026 23:14:32
Как разобраться в типах соответствия ключевых слов и определить, что минус-слова блокируют показы нужных ключевых слов....
03 05 2026 18:14:20
Как сделать склейку и сохранить трафик, распространенные ошибки при склеивании. Узнать больше!...
02 05 2026 4:22:58
Находим пользователей, которые не знали, что им нужен ваш товар или услуга....
01 05 2026 2:17:40
Обзор ресурса по подбору ключевых запросов www.SEMRUSH.com на Netpeak.ua...
30 04 2026 8:51:30
Работа велась с конца августа прошлого года до конца декабря и включила в себя анализ рынка, конкурентов, целевой аудитории, поиск инсайта, разработку стратегии, подготовку медиаплана, создание промо-сайта и само проведение рекламной кампании, в котором б...
29 04 2026 10:58:10
Чек-лист для РРС-специалистов. Всегда быстрее учиться на опыте других людей, а не набивать шишки самостоятельно. А также советы, как исправить рекламные кампании. Обо всем читайте в этой статье!...
28 04 2026 2:30:46
История от первого лица про звуковые сигналы в Facebook....
27 04 2026 5:32:11
Дублирование контента на разных сайтах, ориентированных на рынки разных стран, например, на публику Канады...
26 04 2026 23:21:50
Получаем реальную статистику эффективности использования AMP-страниц с помощью АМР Client ID API....
25 04 2026 0:15:29
Бесплатно, быстро и безопасно. Но есть и минусы. Узнать больше!...
24 04 2026 16:23:53
Быстрый и бесплатный способ настройки целей через Google Tag Manager....
23 04 2026 18:46:47
Как понять, что проект нуждается в новых текстах и сделать читателя счастливым...
22 04 2026 20:30:27
Для максимальной прибыли с YouTube-канала нужно выбрать одну из наиболее посещаемых ниш. Не всегда прибыльная тема соответствует личным предпочтениям владельца канала...
21 04 2026 7:47:45
Всё, что вы хотели знать о функциях вычисляемых полей, но боялись спросить....
20 04 2026 19:35:46
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::