Ya conoces el problema de las campañas de Máximo Rendimiento o de concordancia amplia. Google oculta las consultas de búsqueda reales. Este script las recupera. Se conecta directamente a tu MCC, captura las consultas convertidas y las coloca en una Hoja de Cálculo de Google con el CPA y la tasa de conversión calculados.
Nuestro guión, "Cómo exportar los términos de búsqueda de Google Ads con mejor rendimiento a Hojas de cálculo de Google mediante Apps Script", es perfecto para agencias que gestionan varios clientes o especialistas en marketing que desean dejar de adivinar.
Vamos a desglosarlo.
La sección Scripts es donde se configura toda la automatización masiva dentro de Google Ads MCC.
1. Inicie sesión en su MCC (cuenta de administrador) y vaya a Herramientas > Acciones masivas > Scripts
2. Haga clic en el botón azul más (+) para crear un nuevo script
Esto abre el editor de scripts. No te preocupes, no estarás programando desde cero. Estarás pegando un script ya escrito. Al hacer clic en este botón, se crea un contenedor de scripts en blanco para tu automatización.
Nombrar su guión es esencial para la gestión y programación a largo plazo.
3. Nombra el guión para que sea fácil identificarlo más tarde
En la parte superior de la ventana del editor de scripts, verá un campo para introducir un nombre. Use algo claro como "Informe de términos de búsqueda con mejor rendimiento". Esto le ayudará a reconocer el script más adelante al administrar varios scripts o cuentas.
Puedes nombrarlo Términos de búsqueda reales con mayor rendimiento
y coloca el script (incluido al final de esta publicación).
Nombra el guión
4. Pegue el script completo en el editor.
function main() {
// Establecer la URL de destino de la Hoja de Cálculo de Google
var spreadsheetUrl = 'Pegar la URL de la Hoja de Cálculo de Google aquí';
// Obtener el nombre de la cuenta para asignar un nombre dinámico a la hoja
var accountName = AdsApp.currentAccount().getName();
// Usar el nombre de la cuenta para etiquetar la pestaña dentro de la hoja de cálculo
var sheetName = accountName + ' - Términos de mayor rendimiento PC 90 días';
// Abrir la hoja de cálculo por URL
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
// Obtener la hoja por nombre o crearla si no existe
var sheet = spreadsheet.getSheetByName(sheetName) || spreadsheet.insertSheet(sheetName);
// Borrar los datos existentes de la hoja
sheet.clear();
// Escribir la fila de encabezado en la hoja de cálculo
sheet.getRange('A1').setValue('Nombre de la campaña'); sheet.getRange('B1').setValue('Nombre del grupo de anuncios');
sheet.getRange('C1').setValue('Término de búsqueda');
sheet.getRange('D1').setValue('Conversiones');
sheet.getRange('E1').setValue('Valor de conversión');
sheet.getRange('F1').setValue('Coste por conversión (CPA)');
sheet.getRange('G1').setValue('Tasa de conversión (%)');
// Establezca el rango de fechas personalizado para los informes (formato: AAAAMMDD)
var startDate = '20230315';
var endDate = '20240915';
// Crear la consulta a partir del Informe de Rendimiento de Consultas de Búsqueda
var report = AdsApp.report(
"SELECT CampaignName, AdGroupName, Query, Conversions, ConversionValue, Cost, Clicks " +
"FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE Conversions > 0 " +
"DURING " + startDate + "," + endDate
);
// Obtener las filas del informe y establecer la fila inicial para la inserción de datos
var rows = report.rows();
var rowNumber = 2;
// Recorrer cada fila del informe
while (rows.hasNext()) {
var row = rows.next();
// Convertir el término de búsqueda en minúsculas para un filtrado de marca uniforme
var searchTerm = row['Query'].toLowerCase();
var conversions = parseFloat(row['Conversions']);
// Omitir filas con menos de una conversión
if (conversions < 1) continue;
// Excluir términos de marca para evitar contaminar el informe
if (searchTerm.includes('parker chase') || searchTerm.includes('parker-chase') || searchTerm.includes('endeavor schools')) {
continue;
}
// Filtro genérico opcional: añadir o eliminar términos aquí
if (
searchTerm.includes('creative') ||
searchTerm.includes('learning') ||
searchTerm.includes('content')
) {
continue;
}
// Extraer valores de coste y clics para calcular el rendimiento
var cost = parseFloat(row['Cost']);
var clicks = parseFloat(row['Clicks']);
// Calcular el coste por conversión (CPA)
var cpa = conversiones > 0 ? coste / conversiones : 0;
// Calcular la tasa de conversión
var tasaConversión = clics > 0 ? (conversiones / clics) * 100 : 0;
// Formatear valores
cpa = cpa.toFixed(2);
tasaConversión = tasaConversión.toFixed(2);
// Escribir la fila en la hoja de cálculo
sheet.getRange(rowNumber, 1).setValue(row['NombreDeCampaña']);
sheet.getRange(rowNumber, 2).setValue(row['NombreDeGrupoDeAnuncios']);
sheet.getRange(rowNumber, 3).setValue(row['Consulta']);
sheet.getRange(rowNumber, 4).setValue(conversiones); sheet.getRange(rowNumber, 5).setValue(row['ConversionValue']);
sheet.getRange(rowNumber, 6).setValue('$' + cpa); // Incluir el símbolo de dólar para el CPA
sheet.getRange(rowNumber, 7).setValue(conversionRate + '%'); // Añadir el símbolo de porcentaje
// Pasar a la siguiente fila de la hoja
rowNumber++;
}
// Registrar cuántas filas se procesaron
Logger.log('Exportación completada. Total de filas procesadas: ' + (rowNumber - 2));
}
El script incluye varias configuraciones marcadas que puedes ajustar antes de ejecutarlo. Todas se encuentran dentro de los bloques de comentarios del script y se pueden modificar según tus objetivos específicos, el alcance del informe o tus preferencias de formato.
A continuación, se muestra un desglose de lo que puede modificar y por qué:
1. URL de la hoja de cálculo
var hoja de cálculoUrl = 'https://docs.google.com/spreadsheets/d/xxxxx/edit';
Qué hace:
Aquí es donde el script envía tus datos. Reemplaza la URL del marcador de posición con el enlace a tu Hoja de Cálculo de Google. Si usas varias direcciones de correo electrónico, asegúrate de compartir la Hoja de Cálculo con la cuenta de Google vinculada a tu MCC.
2. Configuración del rango de fechas
var fecha de inicio = '20230315';
var fecha final = '20240915';
Qué hace:
Esto controla la ventana de informes. Las fechas deben tener el formato AAAA/MM/DD. Puede ajustarlas para que coincidan con el período que esté analizando: los últimos 30 días, los últimos 90 días, rangos trimestrales personalizados, etc.
3. Comportamiento del nombre de la hoja
var sheetName = accountName + ' - Términos de mayor rendimiento PC 90 días';
Qué hace:
Esta línea asigna un nombre dinámico a la pestaña Hoja según la cuenta que ejecuta el script. Puede cambiar la parte de la cadena de texto ('—Condiciones de mayor rendimiento PC 90 días') si desea etiquetar los informes de forma diferente. Esto resulta útil al ejecutarse en varias marcas o subcuentas.
4. Filtrado de términos de marca
if (searchTerm.includes('parker chase') || searchTerm.includes('parker-chase') || searchTerm.includes('escuelas endeavor')) {
continuar;
}
Qué hace:
Esta sección excluye los términos de marca del informe. Puede actualizar esta lista añadiendo o eliminando condiciones .includes(). Por ejemplo, si desea excluir "MiMarca", simplemente añada:
|| searchTerm.includes('mimarca')
Utilice minúsculas de forma uniforme, ya que el script convierte todas las consultas a minúsculas.
5. Filtrado de términos genéricos
if (
searchTerm.includes('creativo') ||
searchTerm.includes('aprendizaje') ||
searchTerm.includes('contenido')
) {
continuar;
}
Qué hace:
Este filtro opcional descarta términos que no son específicos de la marca, pero que aún así enturbian los datos, como "aprendizaje" o "creatividad". Puedes agregar o eliminar filtros según lo que consideres ruido.
6. Umbral de rendimiento
si (las conversiones < 1) continúan;
Qué hace:
Esta línea elimina las consultas sin conversiones. Puede aumentar este umbral si lo desea, solo para los términos con mayor rendimiento. Por ejemplo, cámbielo a:
si (conversiones < 3) continúan;
...para incluir solo términos de búsqueda con 3 o más conversiones en el rango de fechas.
7. Formato de salida de la hoja
hoja.getRange(filaNumber, 6).setValue('$' + cpa); hoja.getRange(filaNumber, 7).setValue(tasaDeConversión + '%');
Qué hace:
Esto controla cómo se escriben el CPA y la tasa de conversión en la hoja. Puede editar o eliminar las cadenas añadidas para eliminar símbolos (p. ej., $ o %).
Una vez que el script se ejecute correctamente, se llenará tu Hoja de Cálculo de Google con una tabla estructurada. Cada fila representa un término de búsqueda que generó al menos una conversión dentro del rango de fechas especificado.
El ejemplo de la hoja de cálculo de Google
El script genera un conjunto de columnas de rendimiento en su Hoja de Cálculo de Google, lo que proporciona una visión clara de la contribución de cada término de búsqueda. Estas incluyen los nombres de las campañas y los grupos de anuncios para rastrear dónde se activó el término, el término de búsqueda introducido por el usuario, el número de conversiones generadas, el valor total de conversión, el coste medio por conversión y la tasa de conversión general. Cada campo es fundamental para comprender qué funciona y qué se desperdicia.
Nombre de la campaña
Nombre de la campaña donde se activó el anuncio
Nombre del grupo de anuncios
Un grupo de anuncios que coincidió con el término de búsqueda
Término de búsqueda
La frase exacta que el usuario escribió en Google
Conversiones
Número de conversiones rastreadas de ese término
Valor de conversión
El valor total de esas conversiones, según la configuración de su cuenta
Costo por conversión (CPA)
El costo promedio para generar una conversión a partir de ese término de búsqueda
Tasa de conversión (%)
Porcentaje de clics que resultaron en una conversión
Este script es una base sólida, pero puede ir más allá según la profundidad que desee para sus informes. Si gestiona varias marcas o cuentas en un MCC, añadir etiquetas o filtros de campaña puede ayudar a aislar los datos por marca o unidad de negocio. Programar el script para que se ejecute automáticamente semanal o mensualmente ahorra tiempo y garantiza informes consistentes. Puede crear una lógica para enviar alertas cuando métricas clave, como el CPA o la tasa de conversión, superen ciertos umbrales. Para un análisis más detallado, puede combinarlo con otros informes. PALABRAS CLAVE_INFORME_DE_RENDIMIENTO
Para obtener desgloses por tipo de coincidencia. Dentro de la Hoja de Cálculo, agregar tablas dinámicas o formato condicional permite obtener información más rápidamente. Y si prefiere un enfoque visual, puede importar los datos a Looker Studio para crear paneles que sus clientes puedan comprender.
Agregue etiquetas de campaña o filtros a nivel de cuenta para segmentar datos en MCC grandes
Utilice la programación incorporada para automatizar informes semanales o mensuales
Active alertas por correo electrónico cuando el CPA supere un valor específico o la tasa de conversión caiga por debajo de un umbral
Combine datos de otros informes, como KEYWORDS_PERFORMANCE_REPORT, para desglosar los tipos de coincidencia
Agregue resúmenes dinámicos básicos o formato condicional directamente en Hojas de cálculo
Conecte la salida a Looker Studio para obtener paneles de rendimiento visual
En Bright Vessel, creamos herramientas de automatización personalizadas como esta para clientes que necesitan información clara sobre el rendimiento en entornos publicitarios saturados. Si está cansado de revisar paneles deficientes o de realizar cinco exportaciones manuales para obtener los datos que necesita, este script es solo una de las muchas maneras en que agilizamos el proceso.
Consulta nuestro tutorial relacionado sobre “Cómo supervisar el estado de los objetivos de Google Ads en cuentas de MCC con Hojas de cálculo de Google y Apps Script” para conocer otro método para automatizar el seguimiento a escala.
¿Necesita una versión que se integre con Slack, cree paneles de Looker o conecte varias cuentas publicitarias en una hoja maestra? Podemos crearla. Vamos a hablar .
"*" indica campos obligatorios
"*" indica campos obligatorios
"*" indica campos obligatorios