#6 Reportes automáticos con Google Sheets – Google ADS Scripts

Accede a la lección en vídeo de la membresía. Cada martes, jueves y sábado aprende con una clase nueva. Puedes o suscribirte a los cursos.

SUSCRIBIRME POR 15€ / MES

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

¿Has olvidado tu contraseña?

Registrarse

Restablecer Contraseña

Volver al login

¿Dudas? Te leemos

Si necesitas mas ayuda escríbenos en el apartado de soporte. Y te ayudaremos encantados :)

Siguientes cursos

INICIAR SESIÓN