Created
January 13, 2021 15:02
-
-
Save m0pfin/dc056ad7ecfaab4ad306e3e07ed0a648 to your computer and use it in GitHub Desktop.
Уведомление в Telegram от Google ADS - с возможностью выставить сколько дней слать уведомления
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function main(){ | |
var currentAccount = AdsApp.currentAccount(); | |
var todayCost = AdsApp.currentAccount().getStatsFor("TODAY").getCost(); // Затраты сегодня | |
var todayClicks = currentAccount.getStatsFor("TODAY").getClicks(); // Клики сегодня | |
var todayCpc = currentAccount.getStatsFor("TODAY").getAverageCpc(); // Цена за клик сегодня | |
var todayImpressions = currentAccount.getStatsFor("TODAY").getImpressions(); // Цена за клик сегодня | |
var allCost = currentAccount.getStatsFor("ALL_TIME").getCost(); // Потрачено за всё время | |
var tagAccounts = 'Samara53'; // Тэг аккаунта для личной статистики | |
var countDays = 7; // Сколько дней присылать уведомления | |
var dateStart = "2021/01/10"; // Дата старта от которой считать дни | |
if(showDiff(dateStart) < countDays){ | |
sendTelegramMessage( | |
'\nАккаунт ID: ' + currentAccount.getCustomerId() + | |
'\nКликов сегодня: ' + todayClicks + | |
'\nПотрачено сегодня: ' + todayCost + ' ' + currentAccount.getCurrencyCode() + | |
'\nЦена за клик: ' + todayCpc + | |
'\nКол-во показов: ' + todayImpressions + | |
'\nПотрачено всего: ' + allCost + ' ' + currentAccount.getCurrencyCode() + | |
'\n#' + tagAccounts); | |
} | |
} | |
function sendTelegramMessage(text) { | |
var CONFIG2 = { | |
TOKEN: 'YOUR_BOT_TOKEN', | |
CHAT_ID: 'YOUR_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); | |
} | |
function showDiff(dateStart){ | |
var today = new Date(); // Сегодняшняя дата | |
var dateStart = new Date(dateStart); // Дата от которой начинать отсчёт | |
//Customise date2 for your required future time | |
var diff = (dateStart - today)/1000; | |
var diff = Math.abs(Math.floor(diff)); | |
var days = Math.floor(diff/(24*60*60)); | |
var leftSec = diff - days * 24*60*60; | |
return days; // Возвращаем кол-во дней прошедших с начала старта | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Здравствуйте, помогите, пожалуйста, мне с проблемой. Скрипт для уведомления по электронной почте о текущем балансе счета не работает. Мне нужно уведомление по электронной почте, когда текущий баланс счета аккаунта (не в MCC) меньше 500 руб. Можете ли вы посмотреть, что не так с кодом?
var CONFIG = {
days: 7,
alertLimit: 3000,
email: ['[email protected]'],
names: ['Nick', 'Nick2'],
}
function main() {
var accountName = AdWordsApp.currentAccount().getName();
var budgetNow = AdWordsApp.budgetOrders().get();
var messageHeader = CONFIG.names + ' / Заканчивается бюджет на аккаунте: ' + accountName;
var messageBody = 'Аккаунт ' + accountName + ' . Текущий остаток = ' + budgetNow +
'В аккаунте заканчиваются средства. Необходимо предупредить PM.';
if (budgetNow < CONFIG.alertLimit) {
MailApp.sendEmail(CONFIG.email, messageHeader, messageBody);
Logger.log([accountName, budgetNow]);
}
}