¿Cómo hacer un primer barrido o depuración de las palabras clave de varios archivos CSV sin mucho esfuerzo?
La respuesta es este script que te quiero compartir con el fin de aumentar la productividad en tus flujos de trabajo del keyword research. Tienes aquí una guía paso a paso para depurar y combinar los datos descargados en diferentes archivos CSV desde una cuenta de Google Ads usando la herramienta keyword planner tool.
Este artículo está dirigido especialmente a las personas que hacen parte del grupo de estudiantes de Google Ads 2024 de Luis Betancourt o las personas que ya conocen el proceso para descargar la información de ideas de palabras clave con sus respectivos volúmenes de búsqueda.
Recorderis # 1: Recuerda que debes hacer este ejercicio de keyword research cada cierto tiempo para tu negocio. Te recomiendo guardar esta página para cuando lo vayas a necesitar.
Preguntas Frecuentes
¿Cuáles son los pre-requisitos?
- Conocimientos básicos sobre el análisis de palabras clave.
- Saber lo básico de cómo descargar archivos CSV (o Google Data Sheets) del Keyword Planner Tool.
- Contar con una cuenta gratuita de Google y usarla en todo el proceso. No debes cambiar de cuenta.
¿Entonces.....qué puedo esperar de este script?
Esta herramienta te ayuda a reducir el tiempo que toma el análisis de palabras clave usando el Keyword Planner Tool de Google Ads.
OJO: NO te ayuda a clasificarlas, hacer agrupaciones semánticas o clusterizar tus palabras clave (Ese es un proyecto que hoy Abril 2024 llevo en un 8%).
Debes saber que previamente debiste hacer tu lluvia de ideas, tu lista de palabras clave según tus clientes o posibles clientes, y haber descargado en formato CSV las palabras clave (igual lo vamos a ver en el primer paso) o haberlas agregado a una carpeta de tu Google Drive.
Ahora, si te preguntas exactamente para qué te va a servir este script, esta es la respuesta:
- Eliminar las dos primeras filas de cada archivo CSV.
- Eliminar las columnas innecesarias para el ejercicio según indica Luisbetancourt.co en su curso de Google Ads 2024. (Columna de divisa y a partir de la J en adelante)
- Eliminar las palabras clave con volúmenes de búsqueda menores a 10.
- Eliminar las palabras clave sin valores en el volumen de búsquedas.
- Combinar los archivos CSV en uno solo (El actual donde ejecutas el script).
- Eliminar duplicados en los valores de la columna A.
Esta es una buena base para alimentar de manera eficiente herramientas como clusio.ai de Alejandro. Un desarrollo con el cual puedes clusterizar keywords según los resultados SERP de Google.
¿Cuánto tiempo demora la herramienta en darme resultados?
Cada ejercicio es diferente. Tú puedes tener 5 archivos CSV’s pequeños, o muy grandes. En mi ejercicio inicial el script tuvo un tiempo de ejecución menor a 1 minuto en combinar y limpiar 26 archivos CSV (casi 4 MB: 3800 KB) que como resultado me dieron más de 12 mil palabras clave (12k+ filas de datos) combinadas en un solo archivo y depuradas según los parámetros anteriores. Inicialmente tuve que hacer pruebas, y me generaba error por el tiempo de ejecución, luego optimicé el script y eso es lo que te estoy entregando, un script optimizado en su versión 1.0.
MAUTIP* # 1: Con esto aprendí que el tiempo máximo de ejecución de Google Apps es de 6 minutos. Luego de ese tiempo se aborta la ejecución de código.
*Marketing Automation Tip
Recorderis # 2: En el Keyword Planner Tool de Google Ads te permiten hacer búsquedas de hasta 10 palabras clave por vez y efectivamente este límite es el que nos tiene aquí!. Gracias Google!
¿Vas a liberar más scripts o al menos a actualizar este script?
Claro que sí, voy a agregar más funcionalidades. En algún punto lo podemos hacer en herramientas como Github para que otros puedan usarlo o mejorarlo.
Todo depende en parte del interés de la comunidad. De hecho te tengo una invitación, si dentro de tus posibilidades está hacer un pequeño aporte porque crees que puedes sacar algo de provecho de esta herramienta, o ya lo estás sacando, te invito a dar tu granito de arena (al final del post puedes ver los botones).
Paso 1 | Descargar Archivos en formato CSV ó formato Google Data Sheets
Con lista de palabras clave en mano (la de la lluvia de ideas y demás) empieza a consultar las ideas que te da el keyword planner tool y descarga los archivos CSV (4.1) que te da la herramienta. Si deseas ahorrarte un paso, puedes descargarlo directamente a tu Drive si seleccionas la opción de descargar en formato de Hojas de cálculo de Google (4.2 Google Sheets).
Debes repetir estos pasos por cada 10 palabras clave nuevas según tu ejercicio. Por ejemplo, si tienes 200 palabras clave producto de tu lluvia de ideas, deberás entonces descargar 20 archivos de CSV (200 palabras clave / 10 palabras clave por consulta = 20 archivos CSV).
En este ejemplo obtuvimos 4 archivos, resultantes de 40 palabras clave de una primer iteración para la lluvia de ideas.
Paso 2 | Cargar en carpeta de Google Drive y copiar el ID de la carpeta
Además de lo anterior debes copiar y pegar el ID de tu carpeta de Google Drive. Lo vamos a necesitar más adelante.
El ID de tu carpeta de Google Drive es todo el hash (letras, números y algunos símbolos) único que google asigna a esa carpeta en particular. Dicho hash está al final de la URL como indica la siguiente gráfica:
Debes copiar todo el hash. No debes incluir el slash ‘/’, solamente debes copiar todo lo que está después del último ‘slash’ de la URL de tu carpeta de google drive.
Por ejemplo en ese ejercicio, copié desde el número 1 hasta la letra e.
Paso 3 | Copiar y pegar el Google App Script en un nuevo archivo y correr el script
Primero vas a crear un nuevo archivo de Google Data Sheets en una carpeta diferente a donde tienes los archivos anteriores. Lo ideal es que sea diferente porque a futuro puede generarte un error o estarías reprocesando los datos:
Este es el código que debes copiar en tu apps script.
Donde dice ‘Reemplazar_esto_por_tu_codigo‘, debes pegar el ID de la carpeta donde previamente has subido y convertido de CSV a archivos de Google Data Sheets.
NOTA: Para copiar el código busca el botón en la esquina superior derecha, te debe salir la opción «copy»:
//Desarrollado por Diego Jerez - https://wa.me/573113452280 para comunidad LuisBetancourt.co
//Script de Google Apps para combinar y limpiar keywords extraídas de las ideas de palabras clave de Google Ads
function importGoogleSheets() {
const folderId = 'Reemplazar_esto_por_tu_codigo'; //Reemplazar con el ID real de tu carpeta de google Drive
const folder = DriveApp.getFolderById(folderId);
const files = folder.getFilesByType(MimeType.GOOGLE_SHEETS);
const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let allData = [];
let headers = []; // Variable para almacenar las cabeceras
let headerIncluded = false; // Indicador para controlar la inclusion de cabeceras
while (files.hasNext()) {
let file = files.next();
let spreadsheet = SpreadsheetApp.openById(file.getId());
let sheet = spreadsheet.getSheets()[0]; // Asume que los datos estan en la primera hoja
let range = sheet.getDataRange();
let values = range.getValues();
if (!headerIncluded) {
// Extraer las cabeceras del primer archivo y las ajusta
headers = values[2].filter((_, index) => index !== 1 && index < 9);
headerIncluded = true;
}
// Agregar los datos de cada hoja en un array, omitiendo las dos primeras filas
values.slice(3).forEach(row => {
if (row[2] !== undefined && row[2] >= 10) { // Incluye valores igual a 10 y mayores
let cleanedRow = row.filter((_, index) => index !== 1 && index < 9);
allData.push(cleanedRow);
}
});
}
// Eliminar duplicados en la columna 'A'
const uniqueData = {};
allData.forEach(row => {
const key = row[0]; // Columna 'A'
if (!uniqueData[key]) {
uniqueData[key] = row;
}
});
// Convertir el objeto de datos únicos de nuevo a un array
const finalData = Object.values(uniqueData);
// Limpiar la hoja antes de agregar nuevos datos
targetSheet.clear();
// Agregar los headers primero
targetSheet.appendRow(headers);
// Agregar los datos limpios a la hoja usando setValues para escritura en lote
const numRows = finalData.length;
const numColumns = finalData[0].length;
targetSheet.getRange(2, 1, numRows, numColumns).setValues(finalData);
SpreadsheetApp.flush(); // Asegura que todas las operaciones pendientes se apliquen en la hoja
}
Una vez pegado el código debes reemplazar el ID de tu carpeta. Recuerda siempre mantener los apóstrofes que encierran el código, no los debes borrar porque te fallaría la ejecución.
Paso 4 | Sugerirme funcionalidades y compartir o donar! 🤑
Felicitaciones si has llegado hasta aquí. No ha sido tan difícil ¿Verdad?
Te dejo aquí la posibilidad de que nos sugieras alguna funcionalidad que desees que agregue al script.
Y si está dentro de tus posibilidades, haz una pequeña donación.
Un comentario on Automatips 001| Automatiza los Primeros pasos del análisis de palabras clave
Aquí puedes dejar tu comentario o tu sugerencia para agregar funcionalidades al script.