Accede a la lección en vídeo de la membresía. Cada martes, jueves y sábado aprende con una clase nueva. Puedes identificarte en este enlace o suscribirte a los cursos.
Contenido de la clase
(Recordar que este contenido es la escaleta del vídeo)
Cómo conectar un script a una hoja de cálculo:
var sheet = SpreadsheetApp.openByUrl(«URL_DE_TU_SHEET»);
var tab = sheet.getSheetByName(«Productos»);
Ejemplo: Reporte diario de campañas con clics e impresiones:
function main() {
var sheet = SpreadsheetApp.openByUrl(«TU_URL»);
var tab = sheet.getSheetByName(«Datos»);
tab.clear();
tab.appendRow([«Nombre de la campaña», «Clics», «Impresiones»]);
var campaigns = AdsApp.campaigns().get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
var stats = campaign.getStatsFor(«YESTERDAY»);
tab.appendRow([campaign.getName(), stats.getClicks(), stats.getImpressions()]);
}
}
Enviar el reporte por email:
MailApp.sendEmail(«tucorreo@tudominio.com», «Reporte diario», «El reporte está listo en tu Google Sheet.»);
🟢 Script con manejo de errores + log + envío de email:
function main() {
var EMAIL_RECIPIENT = ‘tu-correo@ejemplo.com’; // Cambia esto por tu correo
Logger.log(«🚀 Inicio del script: Volcado de datos de campañas a Google Sheets»);
var emailSubject = »;
var emailBody = »;
var count = 0;
try {
Logger.log(«📂 Abriendo la hoja de cálculo…»);
var sheet = SpreadsheetApp.openByUrl(«TU_URL»); // Reemplaza por la URL de tu Google Sheet
var tab = sheet.getSheetByName(«Datos»);
if (!tab) {
throw «❌ La pestaña ‘Datos’ no existe en la hoja de cálculo.»;
}
Logger.log(«🧹 Limpiando la pestaña y añadiendo encabezados…»);
tab.clear();
tab.appendRow([«Nombre de la campaña», «Clics», «Impresiones»]);
Logger.log(«🔎 Obteniendo campañas activas…»);
var campaigns = AdsApp.campaigns()
.withCondition(«Status = ‘ENABLED'») // Solo campañas activas
.get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
var stats = campaign.getStatsFor(«YESTERDAY»);
var name = campaign.getName();
var clicks = stats.getClicks();
var impressions = stats.getImpressions();
tab.appendRow([name, clicks, impressions]);
Logger.log(«✅ Datos añadidos: » + name + » | Clics: » + clicks + » | Impresiones: » + impressions);
count++;
}
Logger.log(«🎉 Script completado. Total de campañas procesadas: » + count);
emailSubject = ‘✅ Reporte Google Ads completado sin errores’;
emailBody = ‘El script se ha ejecutado correctamente.\n\nTotal de campañas procesadas: ‘ + count + ‘.\n\nSaludos,\nTu Script de Google Ads’;
} catch (e) {
Logger.log(«❌ ERROR DETECTADO: » + e);
emailSubject = ‘❌ ERROR en el Script de Google Ads’;
emailBody = ‘Ha ocurrido un error durante la ejecución del script:\n\n’ + e + ‘\n\nRevisa el log para más detalles.\n\nSaludos,\nTu Script de Google Ads’;
}
Logger.log(«📧 Enviando resumen por email a: » + EMAIL_RECIPIENT);
MailApp.sendEmail({
to: EMAIL_RECIPIENT,
subject: emailSubject,
body: emailBody
});
Logger.log(«🏁 Fin del script.»);
}
📬 ¿Qué hace el correo?
- Si todo fue bien → asunto: ✅ Reporte Google Ads completado sin errores, y te dice cuántas campañas se procesaron.
- Si hay un error → asunto: ❌ ERROR en el Script de Google Ads, y en el cuerpo del correo te cuenta qué ha fallado.
🛠️ Reemplaza antes de usar:
- «TU_URL» → por la URL de tu Google Sheets.
‘tu-correo@ejemplo.com’ → por tu email real.
Objetivo de la clase
Aprender a conectar Google Ads Scripts con Google Sheets para reportes automáticos.

¿Quieres comentar este post?
Regístrate gratis o inicia sesión para poder comentar
Iniciar Sesión
Registrarse
Restablecer Contraseña