Как настроить отправку уведомлений о состоянии бюджета аккаунтов 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: как достичь поставленной цели с помощью рекламы? Делимся советам по настройке КМС-кампаний....
01 04 2026 11:16:57
Как увеличить охват целевой аудитории ресторана или магазина с помощью рекламы на мобильных и сверхточного геотаргетинга...
31 03 2026 6:40:30
Аналитик Алексей Селезнев описал простой алогритм прогнозирования поисковой активности пользователей в Яндексе....
30 03 2026 13:45:47
Один из лучших способов выбрать подрядчика — провести брифинг для компаний. При этом важно предоставить максимум информации: откройте доступ к реальным данным по проекту. Узнать больше!...
29 03 2026 9:14:34
У нас на руках оказались все карты для создания собственного мини-рейтинга популярных сервисов email-рассылок....
28 03 2026 12:15:27
Как сэкономить на рекламе мобильных приложений в Facebook...
27 03 2026 17:17:37
Гайд по рекламе для SMM-, PPC-специалистов, блогеров и владельцев бизнеса...
26 03 2026 13:10:58
Для защиты конфиденциальной информации в организации вводят режим коммерческой тайны. Подписание NDA важно не только с сотрудниками, но и со сторонними компаниями, имеющими доступ к конфиденциальной информации...
25 03 2026 0:12:39
Инструкция для новичков по одновременной работе с кампаниями, а также объявлениями и группами в Яндекс.Директ...
24 03 2026 3:30:38
У каждого сайта в топе есть страница, о существовании которой знают только роботы и... SEO-специалисты. Это robots.txt или индексный файл....
23 03 2026 15:40:27
Из нового исследования вы узнаете, сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в третьем квартале 2018 года...
22 03 2026 20:11:40
Редполитика Netpeak Journal (ex блог Netpeak) — руководство по написанию понятных, полезных, продающих и удобочитаемых текстов. Документ для внутреннего использования в открытом доступе. Применяйте, адаптируйте. Читать!...
21 03 2026 12:17:19
Новая услуга для бизнесов, которым большое количество подписчиков не приносит продаж...
20 03 2026 19:22:40
Опрос экспертов. Как правильно искать подрядчиков, которые станут партнерами для вашего бизнеса? Как долго работать с партнерами и не испортить отношения? На что обращать внимание в первую очередь, а на что можно закрыть глаза?...
19 03 2026 11:57:44
Наибольшее количество онлайн транзакций было получено по брендовым запросам женского белья...
18 03 2026 8:21:26
Десктопная версия, совместная работа (collabs), сбор средств и новые эффекты в Reels. Рассказываем, что дают новые функции. Узнать больше....
17 03 2026 8:59:51
Поисковая реклама для службы доставки еды — пpaктические советы, как выделиться на фоне конкурентов в популярной нише. На примере харьковской доставки пиццы мы покажем, как правильно продавать еду. Читайте в статье!...
16 03 2026 4:44:35
Нужно организовать конференцию с участием многих пользователей? Этот пост будет полезен, если до важного ивента есть хотя бы несколько дней в запасе....
15 03 2026 18:29:49
Кейс: SEO для сайта эpoтического массажа — ROMI 980% за 10 месяцев...
14 03 2026 9:15:27
Что делать, если вы специально или нет попали под фильтр: руководство от выявления до спасения...
13 03 2026 21:11:17
Как GTM помогает настроить расширенную электронную торговлю (enhanced ecommerce)....
12 03 2026 11:54:36
Покажем, как продвигать сайты, продающие детскую обувь...
11 03 2026 20:38:50
Как сделать склейку и сохранить трафик, распространенные ошибки при склеивании. Узнать больше!...
10 03 2026 15:51:41
Правильная внутренняя перелинковка необходима, чтобы страницы не вылетали из индекса, а также чтобы увеличить ссылочный вес продвигаемых страниц...
09 03 2026 8:41:25
Гениальный математик создал систему, которая вполне может конкурировать с Google — Wolfram|Alpha. Или нет? Это не поисковик, тогда при чем здесь Гугл и теория вычислимости?...
08 03 2026 21:32:19
Агентство Netpeak закрыло сделку по покупке агентства мобильного маркетинга Радомира Новковича RadASO....
07 03 2026 20:47:43
В коробку [SEO 2.0] вместе с самим поисковым продвижением входят дополнительные ценности Netpeak: унифицированные действия по увеличению продаж, улучшения удобства работы и преимущества бренда Netpeak...
06 03 2026 14:19:57
Measurement Protocol — метод передачи данных о продажах или любых других взаимодействиях с покупателями на сервера Google ***ytics пpaктически из любого источника: внутренней CRM-системы, базы данных и даже платежного терминала...
05 03 2026 22:12:18
Про мобильный дизайн. С красивой и понятной презентацией внутри....
04 03 2026 0:55:25
Готовы ли вы доверить основные настройки кампании автоматическим алгоритмам?...
03 03 2026 5:58:28
Отличная работа SEO-специалистов прошлого, породила касту PPC-специалистов настоящего, которые все еще ориентируются на публикации из 2017, ведь они все еще в ТОПе выдачи....
02 03 2026 0:15:13
Бренду нужно зайти на Фейсбук? Несколько очень полезных советов об измерении эффективности SMM....
01 03 2026 10:25:15
Регулярный мониторинг позиций необходим для отслеживания истории их изменений после внедрения новых ключевых слов и других работ над сайтом...
28 02 2026 18:49:11
10 заданий, которые заставят пошевелить мозгами и придумать нестандартные решения. Используйте их (видоизмените, адаптируйте) под свой продукт или услугу. Создайте крутую кампанию, креатив или предложите это своей комaнде....
27 02 2026 2:33:46
Нескучный инструктаж на примере @netpeak_ua о том, зачем компании корпоративный Twitter для продвижения контента, компании или персоны. А еще про хештеги, поиск читателей, аналитику, стиль ведения вашего микроблога, создание сообщества и акции...
26 02 2026 13:15:45
Со старта сотрудничества, рост видимости сайтов клиента вырос в 15 раз....
25 02 2026 5:46:23
Иногда даже замена блока с промокодом или обновление хедера и футера способны освежить рассылки и принести продажи, заявки, повысить лояльность клиентов. Узнать больше!...
24 02 2026 2:48:39
В Казнете о маркетплейсе подрядчиков Naimi.kzприложении говорят все: от студентов до президента....
23 02 2026 15:56:43
Перевод статьи о стадиях формирования комaнд по Брюсу Такмену — полезно знать всем....
22 02 2026 13:46:51
После того, как мы разобрали виды мобильных версий сайтов, их плюсы и минусы — стоит поговорить о сервисах, которые облегчают аудит....
21 02 2026 15:13:41
12 идей для видеоконтента и расскажем, где их лучше размещать, чтобы зрители стали клиентами. Как использовать видео для повышения продаж? Длинный, но все равно неполный список форматов. Читайте дальше и предлагайте свои варианты!...
20 02 2026 23:39:28
Как настроить Google ***ytics и как открыть вход другому пользователю: подробный урок....
19 02 2026 16:43:42
Ноу-хау, интересные для бизнеса, которые вошли в ежегодный рейтинг журнала Time....
18 02 2026 6:24:39
Обзор новой версии краулера Netpeak Spider 3.0, которая включает в себя около 300 изменений: от супер-фич до небольших фиксов в юзабилити....
17 02 2026 23:27:45
Возможности и перспективы Clubhouse, лайфхаки для пользователей и бонус в конце...
16 02 2026 11:55:35
Изучаем на примере тестирования товарных кампаний в момент смены логотипа и ренейминга...
15 02 2026 14:17:52
Советы для фрилансеров и удаленных сотрудников: как строить рабочий процесс так, чтобы он вел к максимальной эффективности. О работе со временем, перерывами, необходимости выключать уведомления, статусе задач, празднованиях побед и организации рабочей среды...
14 02 2026 20:31:57
Крупным брендам не избежать негатива в сети. Но с ним можно и нужно работать. Читайте успешный кейс для DOM.RIA....
13 02 2026 4:24:51
Как автоматизировать рутину в Google Таблицах с помощью Google Apps Script...
12 02 2026 14:35:55
Как правильно читать отчеты в Панели вебмастеров Google — объясняем на примерах из пpaктики....
11 02 2026 22:46:50
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::