Перейти к содержимому
ГлавнаяСкрипты/budget-pacing-sentinel

Контроль темпа расхода бюджета и аномалий в Google Ads

Прогнозирует расход на конец месяца по факту MTD и текущей дневной скорости и присылает письмо, когда прогноз выходит за допуск или когда кампания перестала тратить.

Попробовать
Показывает пример отчёта, а не запуск в вашем аккаунте.
dataLayer
Пока пусто
Google Ads Script (JavaScript)
/**
 * Goodlabs Google Ads script: budget pacing alerts
 * Schedule: Daily at 08:00
 */
var CONFIG = {
  MONTHLY_BUDGET: 5000,
  ALERT_EMAIL: "media@yourdomain.com",
  MAX_OVERPACE_PERCENT: 15
};

function main() {
  var now = new Date();
  var totalDays = new Date(now.getFullYear(), now.getMonth() + 1, 0).getDate();
  var currentDay = now.getDate();
  var daysRemaining = totalDays - currentDay;

  var campaignIterator = AdsApp.campaigns()
    .withCondition("Status = ENABLED")
    .get();

  var mtdSpend = 0;
  while (campaignIterator.hasNext()) {
    var c = campaignIterator.next();
    var stats = c.getStatsFor("THIS_MONTH");
    mtdSpend += stats.getCost();
  }

  var dailyAverage = currentDay > 0 ? (mtdSpend / currentDay) : 0;
  var projectedTotal = mtdSpend + (dailyAverage * daysRemaining);
  var diffPercent = ((projectedTotal - CONFIG.MONTHLY_BUDGET) / CONFIG.MONTHLY_BUDGET) * 100;

  Logger.log("MTD Spend: $" + mtdSpend.toFixed(2) + " | Projected: $" + projectedTotal.toFixed(2) + " (" + diffPercent.toFixed(1) + "%)");

  if (Math.abs(diffPercent) > CONFIG.MAX_OVERPACE_PERCENT && CONFIG.ALERT_EMAIL) {
    MailApp.sendEmail(
      CONFIG.ALERT_EMAIL,
      "🚨 Google Ads Pacing Alert: " + (diffPercent > 0 ? "Overpacing" : "Underpacing") + " by " + diffPercent.toFixed(1) + "%",
      "Current MTD Spend: $" + mtdSpend.toFixed(2) + "\n" +
      "Projected Month-End Spend: $" + projectedTotal.toFixed(2) + "\n" +
      "Target Monthly Budget: $" + CONFIG.MONTHLY_BUDGET + "\n\n" +
      "Recommended adjusted daily budget: $" + ((CONFIG.MONTHLY_BUDGET - mtdSpend) / Math.max(daysRemaining, 1)).toFixed(2)
    );
  }
}

Как это работает

  1. Рассчитывает плановый дневной лимит исходя из месячного бюджета и количества дней.
  2. Прогнозирует итог месяца на основе факта MTD и текущей дневной скорости.
  3. Вычисляет процентное расхождение между прогнозом и плановым бюджетом.
  4. При отклонении более чем на ±15–20% отправляет email с рекомендациями по корректировке дневных лимитов.

Инструкция по установке

  1. Создайте скрипт в Google Ads > Инструменты и настройки > Скрипты.
  2. Укажите месячный бюджет в MONTHLY_BUDGET и ваш email.
  3. Установите запуск каждое утро в 08:00.

Частые вопросы

Меняет ли скрипт бюджеты автоматически?

По умолчанию он только отправляет рекомендации на почту, исключая случайные списания.

Нужен скрипт под вашу задачу?

Пишем скрипты Google Ads, настраиваем server-side GA4 и собираем отчётность под конкретные вопросы бизнеса.