Los scripts de Google Ads son fragmentos de código JavaScript que se ejecutan directamente dentro de tu cuenta de Google Ads. Pueden leer los datos de tu campaña, realizar cambios, enviar correos y escribir en Google Sheets, todo automáticamente, según un horario, sin ningún servidor ni infraestructura de programación.
Son completamente gratuitos. Los escribes en la interfaz de Google Ads, los autorizas una vez, y se ejecutan en la propia infraestructura de Google. Sin claves de API, sin hosting, sin dependencias.
No necesitas ser programador. Si puedes seguir una receta, puedes usar scripts. Esta guía te da tres scripts completos y funcionales, solo necesitas leerlos y entenderlos, luego personalizar las variables al principio.
Los scripts PUEDEN:
Los scripts NO PUEDEN:
Este script te envía un correo si alguna campaña está gastando más del 90% de su presupuesto diario a las 3pm, dándote tiempo para actuar antes de que termine el día.
// CONFIG — edit these values var ALERT_EMAIL = 'you@example.com'; var THRESHOLD = 0.90; // 90% of daily budget var ALERT_HOUR = 15; // 3pm account timezone function main() { var now = new Date(); if (now.getHours() < ALERT_HOUR) return; var campaigns = AdsApp.campaigns() .withCondition('Status = ENABLED') .get(); var alerts = []; while (campaigns.hasNext()) { var camp = campaigns.next(); var budget = camp.getBudget().getAmount(); var spent = camp.getStatsFor('TODAY').getCost(); if (spent / budget >= THRESHOLD) { alerts.push(camp.getName() + ': spent ' + spent.toFixed(2) + ' of ' + budget.toFixed(2)); } } if (alerts.length > 0) { MailApp.sendEmail(ALERT_EMAIL, 'Budget Alert: Campaigns near limit', alerts.join('\n')); } }
Programa este script para que se ejecute cada hora. Solo enviará correos cuando se cumplan las condiciones (la hora es las 3pm o más tarde Y una campaña supera el 90% del gasto).
Este script encuentra todas las palabras clave con Quality Score 4 o inferior Y coste superior a 50€ en los últimos 30 días, y luego te envía un informe en Google Sheets.
// CONFIG — edit these values var SHEET_URL = 'YOUR_GOOGLE_SHEET_URL'; var QS_THRESHOLD = 4; var COST_THRESHOLD = 50; // minimum cost to flag function main() { var sheet = SpreadsheetApp .openByUrl(SHEET_URL).getActiveSheet(); sheet.clearContents(); sheet.appendRow(['Campaign','Ad Group','Keyword', 'QS','Cost (30d)']); var keywords = AdsApp.keywords() .withCondition('QualityScore <= ' + QS_THRESHOLD) .withCondition('Cost >= ' + COST_THRESHOLD) .forDateRange('LAST_30_DAYS') .get(); while (keywords.hasNext()) { var kw = keywords.next(); sheet.appendRow([ kw.getCampaign().getName(), kw.getAdGroup().getName(), kw.getText(), kw.getQualityScore(), kw.getStatsFor('LAST_30_DAYS').getCost() ]); } }
Este script lee una Google Sheet donde defines multiplicadores de ajuste de puja para cada día de la semana, luego los aplica a tus campañas automáticamente. Es útil cuando sabes que los fines de semana o días específicos convierten a tasas diferentes.
La estructura: tu Google Sheet tiene dos columnas, Día (de lunes a domingo) y Multiplicador (p.ej., 1,2 para +20%, 0,8 para -20%, 1,0 sin cambio). El script lee estos valores cada día y aplica el multiplicador correcto.
Al leer de una Google Sheet en lugar de codificar valores directamente en el script, personas sin conocimientos técnicos pueden actualizar los ajustes de puja sin tocar el código. El equipo de marketing actualiza la Sheet; el script la lee automáticamente.
Después de guardar un script, haz clic en "Frecuencia" para establecer un horario. Opciones disponibles:
Nunca programes un script sin previsualizarlo primero. El modo Vista previa te muestra exactamente lo que haría el script (qué correos enviaría, qué pujas cambiaría) sin ejecutar ningún cambio.
Haz clic en cada pregunta para ver la respuesta.