Google Analytics: Capturar la posición en Google por keyword y landing.

Disclaimer: este es un antiguo artículo previo a la charla llevada a cabo para el Congreso Web 2013 y que volvemos a recuperar.

El próximo 7 de junio dará comienzo en Zaragoza el Congreso Web 2013, uno de los más grandes eventos dedicados al mundo web que existen en España. En el mismo voy a dar una charla sobre el tema que llevo ya tiempo trabajando: el nuevo modelo de reporting y análisis SEO basado en landings y que ya inicié en el pasado eShow. Un sistema que va evolucionando poco a poco y al que espero dar un poco más de luz y acciones concretas para que todo el que quiera pueda empezar ya mismo a trabajar su SEO sin complicaciones.

Índice de contenidos

La captura de la posición media de la keyword

Preparando esta charla he visto que iba a ser necesario poder profundizar en distintas técnicas y códigos de captura para Google Analytics por lo que he preferido crear con un poco de antelación el material necesario para realizar estas implementaciones.

La primera de ellas es la más conocida: la posibilidad que el sistema de Google Search nos da actualmente de capturar la posición del resultado en el que ha hecho clic el usuario al llegar a nuestra web. Este es un sistema que se basa en una variable que envía Google en su referrer: «cd» y que precisamente contiene esa posición en el propio SERP (Search Engine Results Page). Esta variable es una maravilla pues nos brinda información realmente útil para el análisis de nuestras keywords y landings.

Esta peculiaridad ha sido tratada por distintas personas dando lugar a distintas implementaciones, cada una con sus pros y sus contras. Entre las distintas fórmulas, sin duda, la más potente es la de Justin Cutroni, en cuyo post explica que decidió capturar esta variable como evento de Analytics para poder sacar un concepto nuevo y revolucionario: la posición media.

Veamos la lógica de este sistema:

  1. Un usuario entra en nuestra web desde Google.
  2. Muchas veces (pero no siempre) lleva asociado al referrer esa variable.
  3. Nosotros la capturamos y lanzamos un evento que tiene por categoría la keyword con la que llega el usuario (si es que existe, si no, el típico «not provided») y por etiqueta la URL de la landing.
  4. Esto nos permite generar informes con la posición media de cada keyword y landing.

El código de Cutroni está en su propio post, pero tiene un grave problema para nosotros: solo captura datos si la visita viene de Google.com. Además en su intento de hacer que el código fuese más legible por todos, separando cada paso del proceso, éste se ha convertido en un fragmento demasiado pesado para un simple añadido a Analytics. Por último y como detalle, las variables que usa son demasiado genéricas por lo que podrían entrar en conflicto con alguna otra variable javascript que tu web ya usase.

Por ese motivo me gustaría presentaros mi propio código de captura. Realiza casi los mismos procesos y termina capturando estos mismos datos (uso incluso en el mismo evento que usa Cutroni). No intento venderos la moto, lo mío es una simple adaptación, todo el mérito es suyo. Pero bueno, creo que este código soluciona estos tres detalles que comentaba: es más corto, usa solo una variable muy descriptiva y captura datos de cualquier dominio regional de Google.

Aquí lo tenéis:

// by iñaki huerta:

// inspired on justin cutroni post: http://cutroni.com/blog/2013/01/14/a-new-method-to-track-keyword-ranking-using-google-analytics/

if (document.referrer.match(/google\.[a-z]{2,4}(\.[a-z]{2,4})?\//gi) && document.referrer.match(/cd/gi)) {

var RankTrackerKw = document.referrer.match(/q=(.*?)&/)[1];

var RankTrackerKw = (RankTrackerKw.length > 0) ? decodeURI(RankTrackerKw) : '(not provided)';

_gaq.push(['_trackEvent', 'RankTracker', RankTrackerKw, document.location.pathname, parseInt( document.referrer.match(/cd=(.*?)&/)[1] ), true]);

}

O si ya estás usando el código de Universal Analytics, esta sería su versión:

// by iñaki huerta:

// inspired on justin cutroni post: http://cutroni.com/blog/2013/01/14/a-new-method-to-track-keyword-ranking-using-google-analytics/

if (document.referrer.match(/google\.[a-z]{2,4}\//gi) && document.referrer.match(/cd/gi)) {

var RankTrackerKw = document.referrer.match(/q=(.*?)&/)[1];

var RankTrackerKw = (RankTrackerKw.length > 0) ? decodeURI(RankTrackerKw) : '(not provided)';

ga("send", "event", {

eventCategory: "RankTracker",

eventAction: RankTrackerKw,

eventLabel: document.location.pathname,

eventValue: parseInt( document.referrer.match(/cd=(.*?)&/)[1] ),

nonInteraction: true

});

}

El sistema es muy simple: copiar y pegar bajo tu código de Analytics y a partir de entonces empezar a capturar como eventos las posiciones de llegada de tus usuarios.

¿Cómo usar estos nuevos datos capturados?

Una vez capturados unos cuantos datos (recuerda que no es inmediato, Analytics tiene un desfase de hasta 24h) podremos encontrarlos en Contenido > Eventos > Eventos Principales:

Con un clic en el evento «RankTracker» y seleccionando como segunda dimensión «Etiqueta de evento» podrás ver el desglose de toda la nueva información que estás capturando.

De esta información nos interesa sobre todo la posibilidad de poder unir keywords + landing + posición media en la que han hecho clic los usuarios, por lo que en este informe nos sobra mucha información.

Vamos a crear uno mucho más adecuado, que limpie la información y que, además, nos permita ver de distinta forma todos estos datos.

Puedes incorporar este informe a tu Google Analytics haciendo clic en el siguiente link:

🔗 Informe personalizado de posiciones medias en Google

Este informe nos mostrará la siguiente información:

Que nos permite ver (escogiendo pestaña) el desglose de visitas, total de entradas desde Google (total de eventos) y posición media por Landings o por Keywords. Clicando además en cualquiera de estas landings o keywords, veremos de qué subdimensiones se componen estas landings o keywords (si vemos landings, al clicar sobre ellas veremos las distintas keywords con las que se accede a estas landings).

¿Por qué es tan interesante la posición media?

Por lo general, en SEO se suele trabajar con posiciones one-shot. Es decir, yo mido la posición por una keyword cualquiera en Google una única vez cada cierto tiempo (un día, una semana), con un «navegador» sin cookies y lanzando siempre desde una misma IP o colección de IPs las mediciones.

Esto provoca que, en muchos casos, la información con la que trabajamos sea simplemente falsa. Google altera sus SERPS por demasiados parámetros como para que la búsqueda limpia represente siempre y de forma fiel la posición por la que están entrando los usuarios.

Por ese motivo, resulta tan gratificante disponer de posiciones de entrada reales y la media de estas. Si comparamos estos datos con los sacados con nuestras herramientas de posiciones one-shot veremos que son muy similares, en algunos casos como los TOP1 y cercanos son casi exactas (esas posiciones tienen poca variación cuando están bien asentadas). Pero en keywords más bajas empezaremos a ver realmente cómo nos encuentran y no cómo estaba el resultado cuando lo rastreamos. Sin duda es información más realista y, por lo tanto, más importante.

Problemas y cosas que hay que saber sobre este código

Sin embargo, este sistema no es perfecto. La gente muchas veces no se conforma con que les regalen información nueva (y muy útil) sino que, al no poder hacer con esta información algunas acciones, piensa que el sistema es malo o erróneo.

Por ese motivo creo que es importante que conozcas las limitaciones de este sistema:

1. No se recogen todos los datos, sólo aquellos que están disponibles.

Como con el propio «(not provided)», Google no envía siempre la variable cd en el referrer por lo que no siempre disponemos de las posiciones.

En consecuencia, lo normal es que veamos menos eventos lanzados que visitas reales SEO en nuestra web. Esto no debería sorprenderte, significa que no puedes tener en un mismo informe visitas exactas y posición media, pero sigue siendo perfectamente posible saber las posiciones medias de tus palabras clave y tus landings aproximadas.

Sí, es posible que estés basando tu posición media en un 50% o menos del tráfico (dependiendo de tu tipología de usuarios), pero al final el dato será mucho más válido que las mediciones one-shot de las que disponías hasta ahora.

2. Los datos no se pueden cruzar con las dimensiones reales.

Al lanzar estos eventos estamos intentando emular dos dimensiones que ya existen en Analytics: Keywords y Landings. Sin embargo, en realidad no estamos guardando los datos en esas dimensiones, sino en eventos sueltos (pues necesitamos la media de estos).

Por ese motivo resulta complejo poder ver estas posiciones medias asociadas al conjunto de dimensiones y métricas normal de Analytics. Sencillamente, como no hemos guardado los datos en este conjunto, no podemos mezclarlos.

Eso significa que a priori no podremos pasar del informe que ya tenemos: keyword a keyword o landing a landing, saber su posición media.

¿No puedo hacer nada con estas posiciones?

No, eso tampoco es cierto, realmente puedes hacer muchas cosas con ellas, pero no directamente: debes cruzar los datos con los del resto de tu analítica. Para eso, tienes dos opciones:

1) Sacar el dato de posición media con la API de Analytics, sacar el resto de datos que quieras comparar usando como dimensiones Landings o Keywords y cruzar por coincidencia exacta ambas extracciones. Para este tipo de operaciones quizás te venga bien alguno de estos dos posts:

🔗 Extraer datos de Google Analytics a Excel (Gratis)

🔗 Analítica web con Google SpreadSheets ( el Excel de Google Docs / Drive )

2) Dar un paso más y, ante cada nueva visita, guardar como variable personalizada la posición media de la keyword la semana pasada. Eso te permitiría poder sacar consultas a todo Analytics por ese valor de la variable personalizada. No obstante, esto requiere involucrar al equipo técnico para realizar las extracciones de Analytics a una base de datos propia cada semana y poder imprimirla en las páginas detectando la landing o la keyword. Para este tipo de implementaciones, si programas en PHP puede servirte este otro post:

🔗 Google Analytics API V3 con Google API PHP Client y Service Account

Esta sería la situación ideal, pero no nos engañemos, el coste de tu tiempo para realizar la opción (1) no es comparable al tiempo que tardaría tu equipo técnico en realizar la opción (2) por lo que no puedo aconsejarla salvo casos muy claros y con departamentos técnicos muy activos en el negocio de la web.

Conclusión

A pesar de todas las explicaciones y consideraciones que he incluido en este post, realmente, obtener la posición media de nuestras landings o keywords es un proceso muy simple que podemos realizar con dos sencillos pasos:

  1. Copiar y pegar el código en nuestra web.
  2. Importar el informe personalizado a tus perfiles de Analytics.

Con lo sencillo que es, resulta difícil encontrar un motivo para no capturar desde ya estos datos. Los problemas que podamos tener luego para cruzar los datos o darles credibilidad son otro tema. El mundo no es perfecto, pero no hay que agobiarse, veamos las cosas como son: hemos avanzado, nuestros datos son más creíbles y aun estando sueltos están más unidos al resto de lo que lo estaban con las típicas herramientas one-shot que todos usamos…

¿Ha llegado el momento de dejar de pagar estas herramientas?

En absoluto, pensemos solo en este detalle para responder a esta pregunta: ¿Podremos en Analytics saber las posiciones por las que aparece nuestra competencia? La respuesta es un NO rotundo, por lo que estas herramientas siguen siendo tremendamente útiles.

Y con esto acabo mi primer post sobre implementaciones en Analytics para conseguir seguir el modelo de reporting basado en landings.

Iñaki Huerta
CEO de IKAUE

Director de IKAUE. Analista Digital y SEO hace más de 15 años. Internet Lover, Creador de Hilillos y DataHacker.

Iñaki Huerta Profile Picture

También te puede interesar

¡Suscríbete!

RECIBE NUESTRA NEWSLETTER

Registrar nueva cuenta

IKAUE MARKETING ONLINE, S.L. es la Responsable del Tratamiento de tus datos, con la finalidad de gestionar tu registro y remitirte nuestra Newsletter con las últimas novedades y/o promociones. Tienes derecho de acceso, rectificación, supresión, limitación, oposición al tratamiento y portabilidad. Puedes ejercitar tus derechos [email protected]. Más información en la Política de privacidad.