Как настроить отправку уведомлений о состоянии бюджета аккаунтов 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) ; }
Комментарии:
Основные этапы раскрутки сайта. Что такое и как работает поисковая оптимизация, ее виды, особенности, преимущества...
03 09 2026 14:14:23
Как распредляются зарплаты по грейдам и специализации: ежегодное исследование Serpstat....
02 09 2026 2:34:27
Бесплатные CMS помогают решить много задач без привлечения программиста или самостоятельного изучения кодов. Но у таких движков есть свои недостатки. Узнать больше!...
01 09 2026 6:13:53
Есть офлайн-точка продаж и нужно привлечь сюда больше клиентов. Что делать? Настраиваем локальные кампании. Показываем и рассказываем, как это делать....
31 08 2026 5:22:59
Комaнда Serpstat проанализировала стратегии продвижения лидеров ниши онлайн-образования. Читайте о главных инсайтах в посте....
30 08 2026 8:19:12
Как узнать срок хранения товаров в корзине и настроить ремаркетинг для завершения покупок...
29 08 2026 22:17:28
Здесь не нужно часами собирать семантику, прописывать уйму расширений и создавать максимально релевантные объявления под каждый товар, а потому вам нужен этот понятный и короткий мануал! Читайте дальше!...
28 08 2026 22:59:43
Метод настройки с помощью Google Tag Manager. Мануал с подробным описанием каждого шага — показываем на примере, как отслеживать веб-конверсии в рекламных кампаниях LinkedIn. Узнать больше!...
27 08 2026 3:12:46
Гифка — это зациклиненное видеоизображение, рисунок-ролик, крохотный фильм, без которого трудно представить современный сайт. Как быстро создавать гифки и получать профит....
26 08 2026 4:29:45
Отрывок из книги «Статистика: базовый курс в комиксах» Грейди Клейн и Алана Дебни...
25 08 2026 1:30:55
Мотивация сотрудников к работе с текстами. Опыт бюро копирайтинга Texbroker...
24 08 2026 11:23:11
Активно юзая Google Tag Manager, узнали много нового о dataLayer и методах отслеживания статистики в Google ***ytics для SPA-сайтов и лендингов. Об этом и расскажем...
23 08 2026 4:37:23
Как работать с Facebook ***ytics — бесплатным инструментом с богатым инструментарием и лучшей из всех существующих решений интеграцией с платформой Facebook...
22 08 2026 14:49:37
Суть бренда на одном дыхании: о рекламе с любовью. Изначально под большой идеей мы пониманием ту пользу, которую несет бренд в окружающий его мир. Помимо этого, большая идея — это те «рельсы», по которым будут ехать все коммуникации бренда в течение нескольких лет...
21 08 2026 20:19:53
Перво-наперво для мониторинга ошибок SEO-специалист открывает вебмастерку с подсказками Google — она же панель вебмастеров, она же Google Search Console...
20 08 2026 18:14:18
Самые популярные блоги Рунета по интернет-маркетингу — все RSS-фиды в одном месте...
19 08 2026 11:48:36
Как заинтересовать инвесторов, сколько времени это займет, а также стратегии поиска....
18 08 2026 22:12:18
Уверены, что аппы в украине не приносят денег? В этом кейсе мы расскажем, как увеличить доход с мобильного приложения, и поделимся результатами продвижения LeBoutique...
17 08 2026 5:10:35
Специалисты дропшиппинг-платформы делятся данными по самым продаваемым товарам на крупных онлайн-площадках. Информация для масштабирования бизнеса. Читать!...
16 08 2026 9:26:35
Как формируется цена на услугу SEO, как достигается результат и почему поисковое продвижение выгодно только в долгосрочной перспективе от руководителя отдела продаж агентства Netpeak. Узнайте больше!...
15 08 2026 22:53:34
«Что такое диджитал и чем это отличается от услуги продвижения в социальных сетях» — о цифровой стратегии, креативных концепциях и том, как это все происходит в крупных агентствах....
14 08 2026 20:18:36
Объявление в тематике автошин — отличная тема для рекламы в интернете....
13 08 2026 8:34:36
Десять вопросов, которые чаще всего задают люди, столкнувшиеся с необходимостью создания landing page....
12 08 2026 12:45:53
Ссылки нужно не только наращивать, но и постоянно посещать и мониторить качество уже существующих....
11 08 2026 5:28:35
Подробная инструкция по интеграции с облачной базой данных и сравнение BI-платформ....
10 08 2026 8:15:33
Анализ цены за клик в 25 тематиках и 852 городах Украины, России, Казахстана, Болгарии...
09 08 2026 16:19:50
Самые точные данные статистики, которые вы получите с помощью Google Tag Manager....
08 08 2026 15:43:47
Правильное распределение кодов ответов сервера позволяет поисковым системам экономить ресурсы на работу с сайтом. Поисковые роботы будут получать только необходимую информацию...
07 08 2026 9:27:35
C какими сложностями пришлось столкнуться при создании интернет-магазина....
06 08 2026 10:46:52
Как грамотно раскрутить пиццерию. Сняли фильтр и достигли хороших результатов....
05 08 2026 13:17:41
Что делать, если вы столкнулись со спамом в отчетах Google ***ytics? Значит ли это, что кто-то имеет доступ к вашему аккаунту, или что кто-то специально влияет на данные сайта в GA? Как они это делают? И как исключить подобные данные из отчетов?...
04 08 2026 9:39:50
Расчет вероятности конверсии, быстрое и эффективное создание дашбордов, строение моделей KPI. Примеры аналитики кампаний с помощью Excel и Power BI от спикера 8P 2016 Максима Уварова....
03 08 2026 11:15:38
Эффективность рекламы в поиске падает, но растут YouTube, контекстно-медийная сеть и другие платформы...
02 08 2026 2:10:18
Подробно рассказываем, как создать, внедрить и проверить XML-карту сайта....
01 08 2026 1:43:54
Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане — цифры за первый квартал 2019 года...
31 07 2026 14:24:26
Женский и мужской таргет отличаются друг от друга. Кейс магазина обуви, одежды и аксессуаров....
30 07 2026 13:34:28
Идем в Бразилию: опыт Depositphotos + полезные факты....
29 07 2026 8:57:21
Что учитывать при продвижении недвижимости, клиник красоты, магазинов косметики, сайтов по продаже семян, шин?...
28 07 2026 15:18:51
Признаки того, что магазин находится под фильтром и шаги по выводу из него...
27 07 2026 3:18:30
Проверка структурированных данных поисковыми роботами нуждается в нашей поддержке...
26 07 2026 20:59:28
Интерфейс прикладного программирования для работы с аккаунтами десятка сайтов....
25 07 2026 18:20:45
1 — меняй работу внутри работы, 2 — выбери то, что нравится больше всего и старайся делать это чаще, 3 — придумай себе развлечения. Подробности — в посте. Читать дальше....
24 07 2026 5:30:32
Сергeй Бахарь неустанно исследует Google Рекламу и рассказывает о новинках нашим читателям....
23 07 2026 4:29:41
Простой способ отслеживания как внутренних, так и внешних битых ссылок. Узнать больше!...
22 07 2026 3:57:48
PR должен решать задачи бизнеса и для этого мало мониторить упоминания компании или бренда, нужно анализировать. С появлением соцсетей пиар изменился. Узнать больше!...
21 07 2026 11:14:50
Как подготовить фиды в Яндекс.Директ для разных тематик...
20 07 2026 11:24:34
Что делать, если вы специально или нет попали под фильтр: руководство от выявления до спасения...
19 07 2026 10:10:49
Учим правильно платить за верхние строчки показов объявления: настройка быстрых звонков из поисковых объявлений «Только номер телефона» Google Ads...
18 07 2026 11:43:35
Как продавать новую и б/у технику, ювелирные изделия в интернете. Эксперимент показал, что в Google Shopping можно продавать не только новые товары. Узнать больше!...
17 07 2026 16:15:14
Увеличение трафика из поисковых систем Азербайджана на 30% за три месяца. И он продолжает расти...
16 07 2026 2:32:50
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::