#4 Lenguaje y sintaxis de Google Ads Scripts – 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 identificarte en este enlace o suscribirte a los cursos.

SUSCRIBIRME POR 15€ / MES

Contenido de la clase

(Recordar que este contenido es la escaleta del vídeo)

Concepto¿Qué hace?Ejemplo
VariableGuarda un datovar presupuesto = 100;
Condición (if/else)Ejecuta algo solo si se cumple una condiciónif (presupuesto > 50) {…}
Bucle (for)Repite una acción varias vecesfor (var i = 0; i < 5; i++)
FunciónOrganiza código que puedes reutilizarfunction saludar(nombre)
Objeto y métodoManeja campañas, anuncios, etc.campaign.pause();
Logger.log()Muestra información en la consolaLogger.log(«Texto»);

1️⃣ Variables (Guardar información)

Una variable es como una caja donde guardas datos: números, textos, etc.

var presupuesto = 100;

var nombreCampaña = «Ventas Ecommerce»;

➡️ Usamos var para declarar la variable.
➡️ Puedes darle el nombre que quieras (sin espacios, usa camelCase).
➡️ Las variables pueden almacenar números, texto (entre comillas) o incluso otros elementos como listas u objetos (lo veremos más adelante).


2️⃣ Condiciones (if / else)

Sirven para decirle al script:
“Si pasa esto, haz esto otro”.

if (presupuesto > 50) {

  Logger.log(«Presupuesto alto»);

} else {

  Logger.log(«Presupuesto bajo»);

}

🟢 Si la condición se cumple (presupuesto > 50), hace lo que hay dentro del primer bloque.

🔴 Si no se cumple, hace lo que hay dentro de else.


3️⃣ Bucles (for)

Los bucles permiten repetir acciones varias veces. Por ejemplo: mostrar los números del 0 al 4.

for (var i = 0; i < 5; i++) {

  Logger.log(«Número: » + i);

}

  • i = 0: empezamos en 0.
  • i < 5: mientras i sea menor que 5, sigue.
  • i++: suma 1 a i cada vez.

💡 Resultado en el log:

Número: 0

Número: 1

Número: 2

Número: 3

Número: 4


4️⃣ Funciones (Organizar el código en bloques reutilizables)

Una función es un bloque de código que puedes llamar cuando quieras.

function saludar(nombre) {

  Logger.log(«Hola, » + nombre);

}

saludar(«Ecommerce»);

➡️ Puedes pasarle información (como nombre) al llamar a la función.

➡️ La función puede usarse las veces que quieras sin repetir el código.


5️⃣ Concepto de objetos y métodos

En Google Ads, casi todo se basa en objetos: campañas, anuncios, palabras clave…
Y cada objeto tiene métodos (acciones que puedes hacer con ellos).

Todo gira en torno a objetos y métodos, y entender esto es clave para automatizar y personalizar tareas.

Ejemplo básico de objeto y método:

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

  • AdsApp: Es el objeto principal que conecta con tu cuenta de Google Ads.
  • .campaigns(): Método que llama a las campañas.
  • .get(): Método que obtiene todas las campañas activas en ese momento.

Otro ejemplo:

campaign.pause(); 

Vamos con un ejemplo

function main() {

  // Crea un iterador para recorrer todas las campañas habilitadas

  var campaignIterator = AdsApp.campaigns()

    .withCondition(«Status = ENABLED») // Solo campañas activas

    .get();

  // Bucle para revisar cada campaña individualmente

  while (campaignIterator.hasNext()) {

    var campaign = campaignIterator.next(); // Obtiene la siguiente campaña

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

    // Si el nombre de la campaña contiene la palabra «Marca»

    if (campaign.getName().includes(«Marca»)) {

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

      Logger.log(«→ Campaña pausada.»); // Informa en el registro que la campaña fue pausada

    }

  }

}

✅ Aquí campaign es un objeto, y .pause() es un método que pausa esa campaña.

Aquí te dejo una tabla simplificada con algunos de los objetos más comunes y ejemplos de métodos que se pueden usar con ellos:

ObjetoMétodo comúnDescripción breve
AdsApp.campaigns()Accede a todas las campañas
campaign.pause() / .enable()Pausa o activa una campaña
adGroup.keywords() / .ads()Accede a las palabras clave o anuncios del grupo
keyword.getText() / .pause()Obtiene el texto de la keyword o la pausa
ad.getHeadline() / .pause()Muestra el titular del anuncio o lo pausa
campaign.getBudget().getAmount() / .setAmount()Obtiene o establece el presupuesto

🟠 Bonus: ¿Qué es Logger.log()?

Logger.log() sirve para ver resultados en la consola del script.
No afecta a las campañas, solo muestra mensajes o resultados mientras el script corre.

Logger.log(«Esto es un mensaje de prueba»);

Objetivo de la clase

RETO DEL MÓDULO 

Reto 1: Define una variable y úsala en una condición

🎯 Objetivo:
Crea una variable llamada presupuestoDiario con el valor 70.
Si el presupuesto es mayor o igual a 50, muestra en el log «Presupuesto suficiente».
Si es menor, muestra «Presupuesto bajo».

💡 Pista: Usa if / else y Logger.log().


✅ Reto 2: Haz un bucle para mostrar los días de la semana

🎯 Objetivo:
Crea un bucle que muestre en el log los números del 1 al 7, cada uno con el texto «Día: X».

🟢 Resultado esperado en el log:

Día: 1

Día: 2

Día: 3

Día: 7


Reto 3: Crea una función que pause campañas (sin ejecutarla realmente)

🎯 Objetivo:
Define una función llamada pausarCampaña(nombreCampaña) que reciba el nombre de la campaña como parámetro y muestre en el log:
«Pausando la campaña: [nombre]».

➡️ Importante: Este ejercicio es solo de práctica, no pausarás campañas reales.


Reto 4: Combina variables, condición y función

🎯 Objetivo:

  • Crea una variable nombreCampaña = «Campaña de Prueba».
  • Crea una variable presupuestoCampaña = 30.
  • Si el presupuesto es menor a 50, llama a la función pausarCampaña(nombreCampaña) del reto anterior.

Reto 5: BONUS – Lee campañas activas y muestralas por consola (sin pausar)

🎯 Objetivo:
Utiliza este código y trata de entender qué hace línea por línea:

var campaigns = AdsApp.campaigns()

  .withCondition(«Status = ‘ENABLED'»)

  .get();

while (campaigns.hasNext()) {

  var campaign = campaigns.next();

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

}

💬 Pregunta para reflexionar:
¿En qué parte del código se obtiene cada campaña?
¿Y dónde se imprime el nombre?

🏆 SOLUCIONES RETOS PRÁCTICOS: JavaScript para Google Ads


🎯 Reto 1: Variable + Condición

function main() {

  var presupuestoDiario = 70;

  if (presupuestoDiario >= 50) {

    Logger.log(«Presupuesto suficiente»);

  } else {

    Logger.log(«Presupuesto bajo»);

  }

}

💡 ¿Qué hace?

  • Define la variable presupuestoDiario con valor 70.
  • Comprueba si es mayor o igual a 50.
  • Si sí → muestra «Presupuesto suficiente».
  • Si no → muestra «Presupuesto bajo».

🎯 Reto 2: Bucle (for) mostrando días de la semana

function main() {

  for (var i = 1; i <= 7; i++) {

    Logger.log(«Día: » + i);

  }

}

💡 ¿Qué hace?

  • Empieza i = 1.
  • Mientras i <= 7, repite el log y suma 1 a i en cada vuelta.
  • Termina cuando i llega a 8.

🎯 Reto 3: Función que muestra campaña a pausar

function pausarCampaña(nombreCampaña) {

  Logger.log(«Pausando la campaña: » + nombreCampaña);

}

// Puedes probarla así:

function main() {

  pausarCampaña(«Campaña de Prueba»);

}

💡 ¿Qué hace?

  • Define la función pausarCampaña.
  • Recibe como dato el nombre de la campaña.
  • Muestra en el log el texto con el nombre.

🎯 Reto 4: Combinar variable, condición y función

function pausarCampaña(nombreCampaña) {

  Logger.log(«Pausando la campaña: » + nombreCampaña);

}

function main() {

  var nombreCampaña = «Campaña de Prueba»;

  var presupuestoCampaña = 30;

  if (presupuestoCampaña < 50) {

    pausarCampaña(nombreCampaña);

  } else {

    Logger.log(«Presupuesto adecuado, no se pausa»);

  }

}

💡 ¿Qué hace?

  • Define el nombre y el presupuesto de la campaña.
  • Si el presupuesto es menor de 50 → llama a la función para pausar.
  • Si no → muestra un mensaje diciendo que el presupuesto es adecuado.

🎯 Reto 5: Leer campañas activas y mostrarlas por consola

function main() {

  var campaigns = AdsApp.campaigns()

    .withCondition(«Status = ‘ENABLED'»)

    .get();

  while (campaigns.hasNext()) {

    var campaign = campaigns.next();

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

  }

}

💡 ¿Qué hace?

  • Usa AdsApp.campaigns() para acceder a todas las campañas.
  • Con .withCondition(«Status = ‘ENABLED'») filtra solo las campañas activas.
  • .get() inicia la colección de campañas.
  • while (campaigns.hasNext()) recorre todas las campañas una a una.
  • campaigns.next() obtiene la siguiente campaña en la lista.
  • campaign.getName() recupera el nombre de esa campaña.
  • Lo muestra en el log.

🟢 ¿Qué aprendiste con estos ejercicios?

ConceptoAplicado en el reto
VariablesGuardar presupuesto, nombres
CondicionesControlar cuándo pausar campañas
BuclesRepetir acciones (días, campañas)
FuncionesOrganizar acciones que se repiten
Objetos y métodosTrabajar con campañas de Google Ads

Recursos

¿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