Perdiendo la información de las cookies en la navegación entre dominio y subdominios…

Publicado en Análisis el 05 de mayo de 2008 por .

Seguro que muchos de vosotros os habréis preguntado más de una vez como son de fiables los reportes de un programa de Analítica Web, sea éste Google Analytics, sea un programa de pago, los logs de vuestro sistema o cualquier sistema interno desarrollado.

De mi experiencia en empresas líderes de mercado, observé y aprendí que nunca había una coincidencia exacta, siempre había una ligera discrepancia, entorno al 5-10%, que siempre se intentaba pulir, revisando la forma de configurar la herramienta o entendiendo el cómo medir resultados utilizando un mismo patrón.

De lo que hoy os quiero hablar es de discrepancias en informes y en especial en los informes de los informes de referencia (“referrals”), que se acentúa en Google Analytics.

Sucede en muchos sitios web y sobretodo en los de e-commerce, que disponemos de dos o más url´s distintas de diferentes dominios. Pongo por ejemplo la url de un hotel “barcinonova” (nombre inventado) con una url: www.barcinanova.com. A lo largo de la navegación por el sitio web voy entrando por páginas internas de éste dominio, hasta que llego a la página donde tengo que introducir los datos de pago.

En la mayoría de webs donde se autorizan transacciones comerciales observaremos que la url del dominio cambia de www.barcinonova.com a ssl.barcinanova.com.

Aparentemente no sucede nada, pero si entramos en los informes de fuentes de tráfico veremos que hay datos que no concuerdan. Si nos adentramos en el informe “todos las fuentes de tráfico” veremos que como sitio de referencia aparecen url´s de nuestro propio dominio, aka: www.barcinonova.com. ¿Y como puede ser esto posible? Más surrealista es abrir el informe de “e-commerce” y observar que se registran transacciones a nivel de tráfico directo (los usuarios que entran a nuestro sitio web tecleando www.barcinonova.com), orgánico y curiosamente a través de un “referral” que corresponde a nuestro sitio web. Totalmente incongruente. ¿Cómo puede un programa de Analítica web asignar tráfico de referencia externa a “urls” de nuestro propio dominio? ¿Porqué las transacciones (conversiones) de e-commerce de url´s de nuestro propio dominio no se asignan en todo caso a “tráfico directo”?

Algo está pasando para que el programa de Analítica web que utilizamos no esté procesando los datos de forma correcta. ¿Será culpa del programa? ¿Será culpa del sitio web?

¿Qué es lo que está sucediendo en realidad?

Lo que sucede es que el programa de Analítica web entiende que los dominios www.barcinonova.com y ssl.barcinonova.com no son el mismo. Como tales, cuando pasamos de una “url” del dominio www.barcinonova.com” a “ssl.barcinonova.com” (cuando pasamos de landing page a conversión”) toda la información guardada en la cookie (origen de la visita, campaña, etc…) se pierde. Cuando entramos en el dominio ssl.barcinonova.com la cookie se re-escribe y se guarda la información de la visita según el último referrer www.barcinonova.com).

Consecuencias directas de éste fenómenos. Seguramente muchas de éstas visitas vienen a través de tráfico orgánico, adwords-msn-yahoo de pago, campañas de mail marketing, banners, etc… Tráfico por el que hemos pagado o hemos dedicado recursos e inversión para ganar en audiencia y conversiones. En este momento los informes que vemos y su interpretación es totalmente errónea y es necesaria una configuración simple pero avanzada de nuestro programa de analítica web, porque sino, los datos que obtenemos no son verídicos.

Un blog muy interesante de Analítica web en inglés, ROI Revolution realiza una “transcripción virtual” de una conversación entre el código de GA y el Navegador de un visitante a un sitio web. He creído conveniente traducirlo y compartirlo con vosotros.

¿Cuál es la explicación de todo es to según por ejemplo Google Analytics?

Cuando un visitante llega a nuestro sitio web, el Código de GA le “pregunta” al navegador del visitante las siguientes preguntas?

1. Tienes alguna “cookie” para éste dominio?

Si la respuesta es “no”, entonces le siguen las siguientes preguntas…

2. ¿De dónde vienes?

Es entonces cuando se crean las “cookies”, en valores basados en la información que viene de la respuesta a ésta segunda pregunta. Mientras el visitante se mantenga en un “solo-único” dominio, no hay confusión. Si el visitante se mueve de un dominio a un sub-dominio, el navegador del usuario le responderá a la primera pregunta con un “No, no tengo ninguna cookie para este subdominio”. Por lo tanto, pasará a la segunda pregunta, y la respuesta del navegador del usuario será “Vengo desde el dominio.com”. Las cookies del dominio.com no se reconocerán, así que entonces la “fuente”, “Medio”, “nombre de campaña”, “palabras clave”, etc. No estarán disponibles mientras el visitante navegue por el subdominio.com.

Para hacerlo aún peor, si el visitante vuelve desde el subdominio.com al dominio.com, la información original al medio-origen-fuente, se puede volver a perder. El código de Google Analytics le preguntará al navegador del usuario las siguientes preguntas:

1. ¿Tienes alguna cookie para el dominio.com?

Aunque la respuesta obvia del navegador pueda ser “Si, tengo cookies para este dominio”, hay otra pregunta que el código de GA le preguntará al Navegador de forma inmediata, si la respuesta ha sido positiva.

2. ¿Es esta una nueva visita?

Si la respuesta es no, entonces no pasará nada. Pero si han pasado más de 30 minutos desde que el navegador se cerró, desde la última página vista en el dominio.com, la respuesta entonces será “si” y entonces el código volverá a preguntarle al Navegador la siguiente pregunta:

3. ¿De dónde vienes?

Cómo el visitante viene desde el subdmonio.com, la fuente-medio serán sobre-escritas con una referencia del subdominio.com.

Solución:

Afortunadamente la solución al problema parece fácil de resolver. Más fácil de resolver que de detectar. Para la versión del código Ga.js solamente tenemos que añadir la siguiente línea de código en todas las páginas de tu dominio.com y sus subdominios.com: pageTracker._setDomainName(“domain.com”);

Entonces el código de seguimiento de Ga quedará de la siguiente forma:

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “
https://ssl.” : “http://www.“);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>
<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-XXXXXX-X”);
pageTracker._setDomainName(“domain.com”);
pageTracker._initData();
pageTracker._trackPageview();
</script>

Si aún utilizáis la version Antigua del código, urchin.js, la línea a añadir es: _udn=”domain.com”;.

Esta línea debe aparecer en todas las páginas del dominio y del subdominio.com y quedará así:

<script src=”http://www.google-analytics.com/urchin.js” type=”text/javascript”>
</script>
<script type=”text/javascript”>
_uacct = “UA-XXXXXX-X”
_udn=”domain.com”;
urchinTracker();
</script>

Por favor no copiar y pegar este código tal cual. Acordaros de remplazar la variable “dominio.com” por el nombre de vuestro dominio”; en este caso por ejemplo “barcinonova.com”.

De esta forma el código de Google Analytics siempre buscará las cookies del dominio.com, aunque el visitante se encuentre en el subdominio.com.

Etiquetas: , ,

Sobre Ferriol Egea

Ferriol Egea es un experto analista en la optimización de negocios online. Ahora es director de marketing online de la Lavanguardia.com

Puedes encontrar a Ferriol en:



7 Comentarios en Perdiendo la información de las cookies en la navegación entre dominio y subdominios…

  1. Sofia

    Pues definitivamente somos una fuente de inspiración para tu blog… :-)
    Pronto veremos los resultados con este código…

  2. vseo

    Tengo que coger este blog con tiempo y sentarme a leerlo todo…
    Buen artículo, los temas de Cookies en GA son un aspecto en el que generalmente no se profundiza.
    En mi blog (vseo) no suelo profundizar en los temas de GA. Si quieres enviarme una “reseña de tu blog” la coloco encantado.
    Un saludo,
    Javier

  3. Solucionesc2

    Buenisima informacion me ha solucionado algunos problemillas que tenía, pero tengo una duda.

    Si ademas tengo dos dominios que apuntan a un mismo hosting como lo hago?

    Ejemplo si la cuanta está creada con el dominio.com que apunta a un hosting pero tb el dominio2.com apunta al mismo hosting (de la que no tengo ninguna cuenta creada), eso como lo controlo si solo hay un unico código, ¿tendría que poner dos lineas seguidas como estas en el mismo código?

    pageTracker._setDomainName(”dominio.com”);
    pageTracker._setDomainName(”dominio2.com”);

  4. Ferriol Egea

    Creo que Sofía tenía el mismo problema.

    Estuve mirando acerca de esta situación….

    Aquí en este caso no aplicaremos lo del setDomainName, porque solo tenemos archivos en un hosting, un dominio lo único que hace es redirigir al usuario al otro dominio.

    Por lo tanto no existirá el problema….porque el servidor esté en el dominio que esté siempre carga los archivos del hosting único.

    Se pone el código normal de GA y ya está.

  5. Jorge

    hola una consulta y sabes cual es la diferencia entre:
    pageTracker._setDomainName(”dominio.com”);
    y
    pageTracker._setDomainName(”.dominio.com”);

    en teoria con el segundo se crean cookies distintas para cada subdominio con lo cual te aparecen como diferentes sources en los informes no?

  6. Pepe

    Hola, Según la documentación de Google Analytics, el código que se agrega debe venir precedido por un punto:

    var pageTracker = _gat._getTracker(“UA-12345-1″);
    pageTracker._setDomainName(“.example-petstore.com”);
    pageTracker._trackPageview();

    Con eso el tracking toma todos los subdominios del dominio example-petstore.com (nótese el punto antes del dominio)

    Estamos hablando del mismo caso de estudio?

    http://code.google.com/intl/es-AR/apis/analytics/docs/tracking/gaTrackingSite.html#domainSubDomains

    Saludos

  7. Ferriol Egea

    Hola Pepe,

    Lo que indicas es correcto, mi artículo recoge la versión del antigua de la función pageTracker._setDomainName(”.dominio.com”);

    Ahora hay que incluir el “.” antes del nombre del host, muchas gracias por la apreciación, porque debo de actualizarlo.

    Un saludo!

2 Trackbacks For This Post

  1. Perdiendo la información de las cookies en la navegación entre dominio y subdominios… Says:

    [...] Perdiendo la información de las cookies en la navegación entre dominio y subdominios…trucosgoogleanalytics.com/index.php/perdiendo-la-informacion… por slalom hace pocos segundos [...]

  2. 7 filtros a utilizar en Google Analytics Says:

    [...] sean mucho más largos de lo que deberían ser. Pero la cosa cambia cuando se tiene una página con subdominios, ya que podemos tener la misma URL para dos páginas [...]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

")