Как настроить отправку уведомлений о состоянии бюджета аккаунтов 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....
23 07 2026 8:25:18
Как понять, что именно нравится подписчикам в вашей рассылке...
22 07 2026 4:26:17
Как настроить эксперимент на сайте без сторонней помощи...
21 07 2026 7:58:32
Так называемый Humankindex (доброжелательный стиль управления) способствует инновациям в компании....
20 07 2026 2:39:28
Узнаем расширенную информацию о посещениях сайта с помощью языка R — кейс Netpeak...
19 07 2026 5:25:25
Идеи, достойные распространения. Какие доклады TED Talks повлияли на нетпиковцев....
18 07 2026 3:10:55
Пуш для рекламных кампаний накануне праздничных распродаж...
17 07 2026 3:16:27
Данные, приведенные в исследовании, помогут в составлении медиапланов по продвижению в интернете. Понимания стоимость конверсии и необходимое количество конверсий, вы можете прогнозировать, сколько денег на рекламу нужно выделить....
16 07 2026 6:20:20
О методах поднять и расширить трафик рассказал руководитель internet-проекта Prom.ua Иван Портной....
15 07 2026 8:23:39
Фишка, которую можно позволить себе даже когда портал продает всего несколько товаров или услуг...
14 07 2026 8:21:15
Основатель фейсбука опубликовал на WIRED крутое интервью...
13 07 2026 20:20:54
Основные законы приняты. Что это значит?...
12 07 2026 6:30:24
Каждый владелец знает, что залог успеха эффективного продвижения кампаний — качественная ежедневная оптимизация, а эксперименты — путь к новым горизонтам и еще более качественным результатам...
11 07 2026 4:48:59
Простой способ отслеживания как внутренних, так и внешних битых ссылок. Узнать больше!...
10 07 2026 3:34:13
Возможности и перспективы Clubhouse, лайфхаки для пользователей и бонус в конце...
09 07 2026 9:53:18
Бесплатно, быстро и безопасно. Но есть и минусы. Узнать больше!...
08 07 2026 19:27:45
Данные из контента страницы и основного заголовка h1 вместо метатега title. Что показало исследование Serpstat....
07 07 2026 15:18:16
Как построить самостоятельную комaнду и научиться спокойно делегировать...
06 07 2026 6:18:23
Шаги, которые необходимо выполнить для правильного сбора и анализа данных сайта...
05 07 2026 23:31:28
Как грамотно раскрутить пиццерию. Сняли фильтр и достигли хороших результатов....
04 07 2026 8:12:24
Те самые проблемы, если бизнес пришел к вам за услугой, но ему не нужен маркетинг в интернете. Мнения экспертов интернет-маркетинга....
03 07 2026 15:37:37
Разбираем на примерах коллабораций, подрядчиков из регионов и тендендерных площадок...
02 07 2026 5:57:19
Проведение краудфандинговых кампаний — это бизнес. Это отдельный и вполне серьёзный рынок с уймой заточенных под ваши нужды услуг. Раньше нужно было ждать, пока проект пройдет обязательную проверку сотрудником Kickstarter, сейчас можно запускать кампанию...
01 07 2026 13:15:29
Ежегодный прирост рынка фриланса в Украине составляет в среднем 35%. В прошлом году зарегистрировано более 200 тысяч проектов на общую сумму 385 млн гривен....
30 06 2026 22:42:29
Простой и понятный разбор двух формул для расчета коэффициента вовлеченности...
29 06 2026 5:11:31
330 миллионов активных пользователей и 14 миллиардов просмотров в месяц. Хорошо бы там запускать рекламные кампании....
28 06 2026 10:54:49
Если вы не можете разработать технические задания для себя в виде структурированного текста, вы, скорее всего, плохо понимаете, что хотите от исполнителя...
27 06 2026 16:32:11
Что нужно знать о целевой аудитории, как грамотно воровать у других и что нужно сделать, чтобы настроить идеальную рекламную кампанию....
26 06 2026 20:48:43
Мы запустили email с нуля и стали получать стабильный ежемecячный доход....
25 06 2026 11:55:51
О запуске новых услуг по SEO и PPC, обновлениях Netpeak Cloud и конференциях по интернет-маркетингу...
24 06 2026 5:13:41
Какую связь можно назвать «качественной» и как улучшить работу телефонии — советы от платформы Ringostat в новом посте....
23 06 2026 10:52:21
Прогнозирование с помощью «Планировщика ключевых слов»....
22 06 2026 3:15:55
Как снизить цену за привлечение клиента на 50%, развивая только кампании для пользователей десктопов....
21 06 2026 19:51:16
Правильное распределение кодов ответов сервера позволяет поисковым системам экономить ресурсы на работу с сайтом. Поисковые роботы будут получать только необходимую информацию...
20 06 2026 6:54:15
Многие специалисты недооценивают эффективность отчетов Яндекс.Метрики. Очень зря. Вот чем они могут быть полезны....
19 06 2026 21:26:41
Как настроить просто и быстро настроить скрипт в Google ***ytics для отслеживания печати страниц сайта....
18 06 2026 7:32:47
Дмитрий Шахов, Алексей Чекушин и другие эксперты поделились своим опытом решения сложных вопросов SEO на примере больших проектов....
17 06 2026 9:27:57
Обойдемся без теории, зато покажем пример SEO-аудита...
16 06 2026 23:19:32
Мануал по созданию удобного планировщика повторяющихся действий....
15 06 2026 5:27:45
Как говорят легенды, на создание дизайна этих носочков Sammy Icon вдохновили рисунки на стенах храма Темпло Майор в древнем городе Теночтитлан. К сожалению, город сейчас разобрали перуанские строители, но память о нем осталась в киевских носках...
14 06 2026 20:11:11
Посмотреть релевантность сайта для победы над конкурентами. Как использовать Serpstat....
13 06 2026 14:24:36
Структура обзора, правила написания и важные хаpaктеристики этого формата. Подача информации в обзоре и запрещенные методы, которые отпугнут клиентов. Узнать больше!...
12 06 2026 11:27:36
Зачем нужны пользовательские сегменты клиентов и как их создавать — читайте в завершающей части серии «Как анализировать эффективность рекламы в Google ***ytics?»...
11 06 2026 12:25:17
Как быстро определить, что ваш подрядчик плохо работает с рекламной кампанией....
10 06 2026 23:13:21
Книга про пять полезных фишек + стратегия продвижения интернет-магазина...
09 06 2026 15:25:57
Пример пользовательских отчетов в Google ***ytics, созданных за 15 минут...
08 06 2026 4:43:53
Руководство для всех, кто продает через Instagram: когда стоит воспользоваться рекламным кабинетом Facebook для настройки кампании в Instagram и как правильно запустить рекламу в Instagram через кабинет Facebook. Читайте дальше!...
07 06 2026 2:17:40
Дейли — ежедневный комaндный митинг, на котором комaнда синхронизируется по ключевым моментам работы и по текущим задачам. Делимся чек-листом агентства Netpeak по организации дейли на удалёнке....
06 06 2026 11:30:33
Узнать, как управлять репутацией в сети для молодой компании, можно в статье Netpeak Journal: что такое репутация, как формируется образ бренда и что нужно делать для получения положительных отзывов....
05 06 2026 6:45:34
Важно: понимания стоимость конверсии и необходимое количество конверсий, вы можете прогнозировать, сколько денег на рекламу нужно выделить. Вот почему вам может быть полезно это исследование. Читать....
04 06 2026 3:33:20
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::