AdWords Scripts

Las secuencias de comandos (AdWords Scripts) permiten consultar datos o modificar las cuentas de Adwords de una forma rápida y automática, mediante JavaScript.

Antes de seguir vamos a hablar brevemente de gestión de AdWords. Todo gestor de cuentas que se precie dedica la mayor parte de su tiempo a analizar el estado de las campañas de AdWords y a evaluar las diferentes opciones que existen para optimizarlas. Este trabajo se puede "diseccionar" en una serie de tareas periódicas (diarias, semanales, quincenales...) que, una vez completadas, nos dan visión de conjunto y nos facilitan la toma de decisiones.

Algunas de esas tareas se pueden automatizar para ahorrar tiempo. Por ejemplo, puedo programar que cada lunes reciba por mail un informe determinado; activar y detener anuncios a una hora y fecha concreta; o subir automáticamente el CPC de algunas palabras clave para que los anuncios aparezcan siempre en la primera página.

Estas tareas programadas se pueden hacer de dos maneras: mediante reglas automatizadas o mediante secuencias de comandos. La diferencia fundamental es que las reglas están predefinidas y están pensadas para la mayoría de las cuentas. Las secuencias de comandos son para todo lo demás...

Veamos un caso real. Tenemos dos campañas, una de Remarketing y otra de Display, con un límite de gasto mensual de 2.000€. El sector es peculiar, lo que provoca muchos altibajos en el rendimiento. Por eso el cliente decide aprobar un presupuesto diario para cada campaña que, de cumplirse, superaría en mucho los 2.000€ mensuales. Para evitarlo, el cliente quiere recibir un mail cuando la suma del coste de ambas campañas alcance los 1.900€.

Nos dirigimos a campañas. Seleccionamos la de Remarketing y la Display y creamos una regla para que envíe un correo electrónico cuando el coste sea mayor que 1.900€. Lo programamos para que se ejecute a diario con los datos del mes, sin embargo, al hacer clic en Vista previa de los resultados comprobamos, después de hacer algunas pruebas, que la regla trata cada campaña por separado. Es decir, enviaría un mail cuando la primera campaña alcance los 1.900€ y seguiría así hasta que la segunda también lo hiciera, en caso de ocurrir. Obviamente, el cliente no quiere eso. La solución está en un script de AdWords.

Así lo resolvimos. Fíjate en los comentarios y, si te interesa utilizarlo, modifica los datos que aparecen en negrita.

var costes = new Array();
var total = 0;
var todos = new Array();
var sumaLog = "";
var mail = "";
var datos = "";
var cadena = "";
var costeInt = 0;
var totalCoste = 0;
var limiteCampaign = 1900;    //Cambiar el límite para las campañas aquí. 

 

function campaigns (){   
   var campaignsName = ["Campaña 1","Campaña 2"];    //Añadir el nombre de las campañas dentro del array, entre comillas y separadas por comas.
   return campaignsName;  
   }

   function procesaDatos (objeto){    //Esta función escribe el log 
   var suma = "";
   suma = sumaCostes(costes);
   if(suma >= limiteCampaign){
   mail = todos + "\n" + sumaLog;        
   }     
   return (mail.replace(",",""));
   }
   function sumaCostes(costes){
   for(var cont=0;
   cont < costes.length;
   cont++){
   total = total + costes[cont];
   totalCoste = parseInt(total);
   }
   sumaLog = "El coste total de todas las campa\u00F1as es " + totalCoste + "\n";
   return (totalCoste);
   }
   function enviaMail(){    // Useful for long-running scripts: send yourself an email when the script is done!  
   var recipient = "xxx@zzz.com";    // Dirección para recibir el mensaje
   var subject = "Más de 1.900€";    // Asunto del mail
   var body = "Resultado de la consulta:\n\n" + datos;
   MailApp.sendEmail(recipient, subject, body);
   }
   function main() {
   var objeto = new Object();
   objeto.nombre = "";
   objeto.coste = 0;
   var nameCamp = "";
   var campaignsName = campaigns();    //Traemos nuestras campañas
   var campaignIterator = AdWordsApp.campaigns()    //Traemos las de Google AdWords
   .forDateRange("THIS_MONTH")
   .get();
   while (campaignIterator.hasNext()) {
   var campaign = campaignIterator.next();
   var stats = campaign.getStatsFor("THIS_MONTH");
   nameCamp = campaign.getName();
   for(var i=0; i<campaignsName.length;i++ ){
   if(nameCamp.match(campaignsName[i])){
   objeto.nombre = nameCamp;
   objeto.coste = stats.getCost();
   costeInt = parseInt(objeto.coste);
   costes.push(costeInt);
   cadena = "Este mes la campa\u00F1a " + objeto.nombre + " tiene un coste de " + costeInt;
   todos.push(cadena+"\n");
   }
   }
   }
   datos = procesaDatos(objeto);
   if(total >= limiteCampaign){
   enviaMail();
   //send mail
   }
   }

Cuando se producía el resultado, recibíamos un mail con este texto:

Resultado de la consulta:
Este mes la campaña Campaña 1 tiene un coste de 720 Este mes la campaña Campaña 2 tiene un coste de 1258
El coste total de todas las campañas es 1978

En teoría, los scripts de AdWords están pensados para administrar cuentas grandes pero nosotros creemos que son una solución para cualquier administrador de AdWords que dedique mucho tiempo a tareas repetitivas y tediosas. ¿Cuánto vale tu tiempo? ¿Cuánto tiempo dedicas a cada una de esas tareas? Calcúlalo y habla con nosotros: ya verás cómo te sale rentable y ahorrarás tiempo.

 


Utilizamos cookies propias o de terceros para mejorar la experiencia de navegación en la web. Si continúa navegando, consideramos que acepta su uso.  Aceptar