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)
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:
- La pausa con campaign.pause().
- Escribe en el log el nombre de la campaña que ha pausado.
}
}
✅ Cierra el if y la función.
Resumen:
- 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.
- 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.».
- 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 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:
- Definir el límite de gasto: En el script he añadido la variable limiteGasto que define el límite de 100€.
- 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.
- 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.
¿Qué verás en los correos?
- Si el gasto es superior a 100€:
Asunto: ¡Alerta de gasto!
Cuerpo: La campaña [Nombre de la campaña] ha gastado [Cantidad]€ hoy.
- 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
Registrarse
Restablecer Contraseña