#7 Scripts útiles y prácticos para el día a día – 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)

1️⃣ Script: Pausar campañas los fines de semana

function main() {

  var today = new Date();

  var day = today.getDay(); // Domingo = 0, Sábado = 6

  // Comprobamos si es fin de semana (domingo o sábado)

  if (day === 0 || day === 6) {

    var campaigns = AdsApp.campaigns().withCondition(«Status = ‘ENABLED'»).get();

    // Verificamos si hay campañas activas

    if (campaigns.hasNext()) {

      while (campaigns.hasNext()) {

        var campaign = campaigns.next();

        campaign.pause(); // Pausamos la campaña

        Logger.log(«Campaña pausada: » + campaign.getName()); // Registramos el nombre de la campaña pausada

      }

    } else {

      Logger.log(«No hay campañas activas para pausar.»);

    }

  } else {

    Logger.log(«Hoy no es fin de semana, no se pausan campañas.»);

  }

}

🟢 ¿Qué hace este script?

👉 Funcionalidad principal:
Pausa todas las campañas activas durante los fines de semana (sábado y domingo).


📌 Desglose línea por línea:

function main() {

✅ Define la función principal main() que es donde se ejecuta el script.

 var today = new Date();

  var day = today.getDay(); // Domingo = 0, Sábado = 6

✅ Obtiene la fecha actual y el número del día de la semana:

  • Domingo = 0
  • Lunes = 1

  • Sábado = 6

 if (day === 0 || day === 6) {

✅ Comprueba si hoy es domingo (0) o sábado (6).
Si es uno de esos días, entonces sigue con la ejecución. Si es cualquier otro día, el script no hace nada.

   var campaigns = AdsApp.campaigns().withCondition(«Status = ‘ENABLED'»).get();

✅ Recupera todas las campañas que están activas (ENABLED).

   while (campaigns.hasNext()) {

      var campaign = campaigns.next();

      campaign.pause();

      Logger.log(«Campaña pausada: » + campaign.getName());

    }

✅ Por cada campaña activa:

  1. La pausa con campaign.pause().
  2. Escribe en el log el nombre de la campaña que ha pausado.

 }

}

✅ Cierra el if y la función.

Resumen:

  1. Comprobamos el día de la semana: El script sigue verificando si es domingo (0) o sábado (6). Si es uno de esos días, entra en la condición.
  2. Revisión de campañas activas:
    • Si hay campañas activas (campaigns.hasNext()), las pausamos una por una y registramos en los logs que se ha pausado la campaña.
    • Si no hay campañas activas, se muestra el mensaje: «No hay campañas activas para pausar.».
  3. Si no es fin de semana: Si no es ni sábado ni domingo, el script muestra el mensaje: «Hoy no es fin de semana, no se pausan campañas.».

2️⃣ Script: Enviar alerta si el gasto supera 100€/día

function main() {

  var campaigns = AdsApp.campaigns().get();

  // Definimos el límite de gasto

  var limiteGasto = 100;

  while (campaigns.hasNext()) {

    var campaign = campaigns.next();

    var stats = campaign.getStatsFor(«TODAY»);

    var cost = stats.getCost();

    // Si el gasto supera el límite, enviamos una alerta

    if (cost > limiteGasto) {

      MailApp.sendEmail(«tucorreo@tudominio.com», 

                        «¡Alerta de gasto!», 

                        «La campaña » + campaign.getName() + » ha gastado » + cost + «€ hoy.»);

    } 

    // Si el gasto no supera el límite, enviamos un informe

    else {

      MailApp.sendEmail(«tucorreo@tudominio.com», 

                        «Informe de gasto», 

                        «La campaña » + campaign.getName() + » ha gastado » + cost + «€ hoy, que está por debajo del límite.»);

    }

  }

}

Explicación:

  1. Definir el límite de gasto: En el script he añadido la variable limiteGasto que define el límite de 100€.
  2. Condición de gasto:
    • Si el gasto (cost) es superior al límite de 100€, se envía un correo con el asunto ¡Alerta de gasto! indicando que la campaña ha gastado más de lo permitido.
    • Si el gasto es inferior o igual al límite de 100€, se envía un correo con el asunto Informe de gasto indicando que el gasto está por debajo del límite.

¿Qué verás en los correos?

  1. Si el gasto es superior a 100€:

Asunto: ¡Alerta de gasto!

Cuerpo: La campaña [Nombre de la campaña] ha gastado [Cantidad]€ hoy.

  1. Si el gasto es inferior o igual a 100€:

Asunto: Informe de gasto

Cuerpo: La campaña [Nombre de la campaña] ha gastado [Cantidad]€ hoy, que está por debajo del límite.

Objetivo de la clase

Tener a mano scripts listos para automatizar las tareas más comunes en e-commerce.

📌 Ejercicio:

Al último script podrías hacer que no tengamos que añadir el correo dos veces, declarando una sola vez el correo?

💡 Idea:

Puedes añadir var para declarar el correo destino y remplazar el «tucorreo@tudominio.com» por “correoDestino” 

¿A ver cómo te queda?

📌 Contenidos:

function main() {

  var correoDestino = «tucorreo@tudominio.com»; // Correo declarado una sola vez

  var limiteGasto = 100;  // Definimos el límite de gasto

  var campaigns = AdsApp.campaigns().get();

  while (campaigns.hasNext()) {

    var campaign = campaigns.next();

    var stats = campaign.getStatsFor(«TODAY»);

    var cost = stats.getCost();

    // Si el gasto supera el límite, enviamos una alerta

    if (cost > limiteGasto) {

      MailApp.sendEmail(correoDestino, 

                        «¡Alerta de gasto!», 

                        «La campaña » + campaign.getName() + » ha gastado » + cost + «€ hoy.»);

    } 

    // Si el gasto no supera el límite, enviamos un informe

    else {

      MailApp.sendEmail(correoDestino, 

                        «Informe de gasto», 

                        «La campaña » + campaign.getName() + » ha gastado » + cost + «€ hoy, que está por debajo del límite.»);

    }

  }

}

Explicación:

Luego, esa variable correoDestino se utiliza en todas las llamadas a MailApp.sendEmail().

Correo declarado una sola vez: He creado la variable correoDestino al principio del script para que solo tengas que escribir el correo una vez.

¿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