////////////////////////////////////////////////////////////////////
// Налаштування
var config = {
LOG: true, // Увімкнути логування
OPTISCORE_THRESHOLD: "90", // Порог оптимізаційного рейтингу
TELEGRAM_ENABLED: true, // Увімкнути надсилання повідомлень у Telegram
TELEGRAM_CHAT_ID: "", // Ваш Telegram Chat ID
TELEGRAM_BOT_TOKEN: "" // Ваш Telegram Bot Token
};
////////////////////////////////////////////////////////////////////
function main() {
// Дата для збору даних
var today = new Date();
var yesterday = new Date(today);
yesterday.setDate(yesterday.getDate() - 1);
// Збір даних по кампаніях
var campaignQuery =
"SELECT campaign.name, campaign.id, campaign.optimization_score " +
"FROM campaign " +
"WHERE campaign.status = 'ENABLED' AND campaign.serving_status = 'SERVING' AND segments.date DURING YESTERDAY";
var campaignReport = AdsApp.report(campaignQuery);
var telegramMessage = "⚠️ Кампанії з низьким рівнем оптимізації:\n";
var lowOptiScoreFound = false;
var campaignRows = campaignReport.rows();
while (campaignRows.hasNext()) {
var row = campaignRows.next();
// Якщо OptiScore нижче порога, додаємо в сповіщення та формуємо повідомлення для Telegram
if (row["campaign.optimization_score"] < config.OPTISCORE_THRESHOLD / 100) {
lowOptiScoreFound = true;
telegramMessage +=
`• ${row["campaign.name"]}: ${(row["campaign.optimization_score"] * 100).toFixed(2)}%\n`;
Logger.log(
"⚠️ Кампанії з низьким рівнем оптимізації (Optimization Score):" +
row["campaign.name"] +
" (" +
(row["campaign.optimization_score"] * 100).toFixed(2) +
"%)"
);
} else {
Logger.log(
"✅ Кампанія з прийнятним рівнем оптимізації: " +
row["campaign.name"] +
" (" +
(row["campaign.optimization_score"] * 100).toFixed(2) +
"%)"
);
}
}
// Надсилаємо повідомлення в Telegram, якщо є кампанії з низьким OptiScore
if (config.TELEGRAM_ENABLED && lowOptiScoreFound) {
sendTelegramMessage(telegramMessage);
} else {
Logger.log("✅ Усі кампанії мають прийнятний рівень оптимізації. Повідомлення в Telegram не відправлено.");
}
}
////////////////////////////////////////////////////////////////////
function sendTelegramMessage(message) {
var url =
"https://api.telegram.org/bot" +
config.TELEGRAM_BOT_TOKEN +
"/sendMessage?chat_id=" +
config.TELEGRAM_CHAT_ID +
"&text=" +
encodeURIComponent(message);
var response = UrlFetchApp.fetch(url);
if (config.LOG === true) {
Logger.log("📤 Відповідь Telegram: " + response.getContentText());
}
}
Post #120
168
Google Ads Expert Volodymyr Petrychenko Якщо ви ведете багато проєктів у Google Ads, то точно стикалися з «магічним» показником оптимізації, який раптово падає з 100% до 40%, 20% або навіть 0%. Щоб не перевіряти це вручну щодня — я створив повністю автоматизований скрипт, який сам відстежує Optimization…
Ось і сам код скрипта
- 👍 1
- 🔥 1