01. Alerta de queima de orçamento
Dispara email quando uma campanha gasta mais de X% do budget diário antes das Y horas.
Problema que resolve
Campanhas Performance Max podem consumir o budget diário em 3-4 horas e deixar o resto do dia sem presença. Este script deteta e avisa antes de ser tarde.
Código
// Alerta de queima de orçamento — Bruno Matos / obruno.pt
// Executar: Hourly
// Ajusta os thresholds abaixo
const THRESHOLD_PERCENT = 75; // Alerta quando gastou >75% do budget diário
const CUTOFF_HOUR = 14; // Antes desta hora (14h)
const EMAIL = 'o-teu-email@exemplo.pt';
function main() {
const now = new Date();
const hour = now.getHours();
if (hour >= CUTOFF_HOUR) return;
const campaigns = AdsApp.campaigns()
.withCondition('Status = ENABLED')
.withCondition('AdvertisingChannelType IN [PERFORMANCE_MAX, SEARCH, SHOPPING]')
.get();
const alerts = [];
while (campaigns.hasNext()) {
const c = campaigns.next();
const spent = c.getStatsFor('TODAY').getCost();
const budget = c.getBudget().getAmount();
if (budget === 0) continue;
const pct = (spent / budget) * 100;
if (pct >= THRESHOLD_PERCENT) {
alerts.push(`• ${c.getName()} — ${pct.toFixed(0)}% (€${spent.toFixed(2)} de €${budget.toFixed(2)})`);
}
}
if (alerts.length > 0) {
const body = `Campanhas a queimar budget antes das ${CUTOFF_HOUR}h:\n\n${alerts.join('\n')}`;
MailApp.sendEmail(EMAIL, '⚠️ Budget burn alert — Google Ads', body);
}
}Como instalar
- 1Google Ads → Tools → Scripts → novo script
- 2Colar o código acima
- 3Substituir THRESHOLD_PERCENT, CUTOFF_HOUR e EMAIL
- 4Autorizar o script (precisa de acesso ao Mail)
- 5Agendar com frequência: Hourly