Decir a estas alturas que ChatGPT puede ser un gran aliado para hacer casi cualquier acción de Marketing Online, es una obviedad.
Pero cuando necesitamos automatizar ciertos procesos de Google Ads con Scripts y, por desgracia, no lo dominamos tanto como nos gustaría, ahí es donde la IA viene al rescate.
¿Que es Google Ads Script?
En Google Ads, cuando nos ponemos a optimizar, muchas veces las acciones que hacemos son las mismas que repetimos para ir mejorando los resultados. Cualquier cosa que podamos estandarizar, la podemos implementar con Ads Script.
Aquí, algunos ejemplos de tareas que podemos automatizar con Google Ads Script:
- Modificar el presupuesto de las campañas.
- Realizar ajustes de puja en audiencias de las campañas.
- Modificar estado Pausado/Activado de anuncios en función del rendimiento que tienen.
- Automatizar el ajuste de anuncios para dispositivos móviles
- Creación de informes complejos.
- Sincronización con calendarios.
Una de las que usamos es la revisión de todos los Ads activos y, si alguno de 404, lo vemos en el documento Sheets que se actualiza cada día. Diciéndonos en qué campaña y adgroup está.
Otro más reciente, es la actualización de las Bid. Mod. de los dispositivos por grupo de anuncios. Lo que hace es comprobar que ROAS tiene de promedio la campaña y, en función de la diferencia, incrementará o reducirá el Bid Mod.
¿Qué prompt usar para crear el código en ChatGPT?
Lo primero que necesitamos es hacer una muy correcta definición de lo que queremos programar. Tan detallado como nos resulte posible. De la misma forma que se lo explicaríamos a alguien del equipo para que lo hiciera igual que nosotros.
En nuestro caso, el Prompt que hicimos es el siguiente:
Genera paso a paso y poco a poco el código de un script para Google Ads para cambiar el Bid Adj de todas las audiencias de los grupos de anuncio y de las campañas publicitarias de una cuenta.
La operación sumará al Bid Adj actual. Por ejemplo, si tenemos una oferta ajustada de +5%, el máximo será +25%, si está vacío, equivale a 0.
Si el coste no es superior 20€ de CPA, en lugar de máximo 20% será del 5%.
Si el objetivo de ROAS es del 3.67:ROAS > 4.40 –> +20%
ROAS > 4.22 > ROAS < 3.17 --> +15%
ROAS > 4.04 > ROAS < 3.00 --> +10%
ROAS > 3.85 > ROAS < 2.90 --> +5%
ROAS < 3.49 > ROAS < 2.64 --> -5%
ROAS < 3.30 > ROAS < 2.50 --> -10%
ROAS < 3.12 > ROAS < 2.40 --> -15%
ROAS < 2.94 --> -20%Por ejemplo, si una audiencia tiene en los últimos días un ROAS de 425% y el Bid Adj actual es del 10%, la nueva Bid adj será de +20% (10% que había, más otro 10% según la tabla anterior)
ROAS = (Conversion value)/coste
Para obtener el valor de conversión de Google Ads usando un script de Google Ads Scripts, puedes usar el método lo que dice aquí: «Reglas de valor de conversión»
Entonces, tras ir perfilando un poco y, los posibles errores o alertas que nos iba dando, llegamos a este código:
function main() {
var campaigns = AdWordsApp.campaigns().get();while (campaigns.hasNext()) {
var campaign = campaigns.next();
var campaignStats = campaign.getStatsFor(‘LAST_7_DAYS’);
var campaignCostPerConversion = campaignStats.getCost() / campaignStats.getConversions();var adGroups = campaign.adGroups().get();
while (adGroups.hasNext()) {
var adGroup = adGroups.next();
var stats = adGroup.getStatsFor(‘LAST_7_DAYS’);
var conversions = stats.getConversions();
if (conversions == 0) continue; // Ignora si no hay conversionesvar costPerConversion = stats.getCost() / conversions;
[‘Mobile’, ‘Desktop’, ‘Tablet’].forEach(function(deviceType) {
var currentBidModifier;
if (deviceType === ‘Mobile’) currentBidModifier = adGroup.devices().getMobileBidModifier() – 1;
if (deviceType === ‘Desktop’) currentBidModifier = adGroup.devices().getDesktopBidModifier() – 1;
if (deviceType === ‘Tablet’) currentBidModifier = adGroup.devices().getTabletBidModifier() – 1;var difference = costPerConversion – campaignCostPerConversion;
var adjustment = difference / campaignCostPerConversion;// Limita el ajuste al rango de -0.2 a 0.2
adjustment = Math.max(-0.2, Math.min(0.2, adjustment));// Calcula el nuevo bid modifier
var newBidModifier = currentBidModifier – adjustment;// Aplica el nuevo bid modifier
if (deviceType === ‘Mobile’) adGroup.devices().setMobileBidModifier(1 + newBidModifier);
if (deviceType === ‘Desktop’) adGroup.devices().setDesktopBidModifier(1 + newBidModifier);
if (deviceType === ‘Tablet’) adGroup.devices().setTabletBidModifier(1 + newBidModifier);
});
}
}
}
Ahora, solo quedará programarlo para que se ejecute una vez por semana y comprobar que no da errores.
Después, siempre podremos ver el historial de cambios para ver qué cambios hace, y si son de nuestro agrado o lo que esperábamos que hiciera. Y corregir en caso de que no nos esté dando los resultados obtenidos.
Dinos, tú que otros Scripts usas?