El principal problema a la hora de hacer un seguimiento entre varios subdominios es qué hacer con el dominio de las cookies. Por defecto Google Analytics incluye el subdominio del sitio web para configurar el dominio de la cookie. Debido a esto una cookie configurada por el código de seguimiento de Google Analytics mientras el usuario visita uno de nuestros subdominios no puede ser utilizada en un subdominio diferente. Por lo tanto un usuario que visite múltiples subdominios de un sitio web recibirá un conjunto de cookies diferente por cada uno de ellos.

Para resolver esto, el dominio de la cookie debe ser consistente al pasar de un subdominio al otro. La mejor opción es retirar el nombre del subdominio del dominio de la cookie. Si un usuario entra en el subdominio analitica.overalia.com tendrá como dominio de la cookie analitica.overalia.com mientras que si entra en www.overalia.com tendrá como dominio overalia.com, lo que conseguimos retirando el nombre del subdominio del dominio de la cookie es que los dos tengan como dominio de la cookie overalia.com.

Una vez que hemos retirado el nombre del subdominio las cookies pueden ser consultadas por el código de seguimiento en todos los subdominios. El dominio de la cookie puede ser cambiado usando la variable _udn. En la configuración por defecto el valor de la variable _udn es “auto” con lo que Google Analytics incluye el nombre del subdominio en el dominio de la cookie. Podemos configurar la variable _udn con un valor específico con lo que configurándola para que coja el nombre del domino el código de seguimiento podrá acceder a las cookies de varios subdominios.

Configuración

Para configurar Google Analytics para hacer el seguimiento de usuarios a través de distintos subdominios hay que seguir los siguientes pasos:

  • Modificar el código de seguimiento para que incluya la variable _udn.
  • Aplicar un filtro al perfil para poder ver con claridad los informes.
  • Segmentar el tráfico en múltiples perfiles para poder ver por separado el funcionamiento de los distintos subdominios.

Para modificar el código de seguimiento de manera que incluya la variable _udn con el nombre del dominio principal del sitio web debemos colocar el siguiente código:

<script type=»text/javascript»>
_uacct = «UA-XXXXX-X»;
_udn = «overalia.com»;
urchinTracker();
</script>

Una vez que el código de seguimiento ha sido modificado e instalado en todas las páginas de los subdominios deberemos aplicar un filtro al perfil que haga el seguimiento de todos los subdominios de manera que cuando consultemos los resultados del contenido principal podamos ver a que subdominio pertenecen todas las páginas.

Por ejemplo, la página principal del dominio www.overalia.com es la página index.php y la página principal del subdominio analitica.overalia.com también se llama index.php, en el informe de contenido principal veremos el número de veces que se ha visto la página index.php pero será imposible saber cuantas de esas páginas pertenecen a www.overalia.com o bien a analitica.overalia.com, esto se debe a que por defecto Google Analytics muestra en los informes de contenido el campo Solicitar URI que contiene toda la URL vista exceptuando el nombre del dominio al que pertenece.

Para conseguir que el campo Solicitar URI contenga el nombre del dominio al que pertenece debemos crear un filtro personalizado avanzado en el que cogeremos los valores del Nombre del host y de Solicitar URI y los juntaremos dentro del propio campo Solicitar URI de manera que al ver los informes de contenido en vez de aparecer como una entrada /index.php aparecerán www.overalia.com/index.php por un lado y por otro analitica.overalia.com/index.php.

El último de los pasos consiste en crear un perfil distinto por cada uno de los subdominios que estemos midiendo con el fin de ver su funcionamiento de manera separada al resto para ello crearemos los perfiles partiendo del dominio ya existente y les aplicaremos un filtro personalizado del tipo Incluir en el que seleccionaremos que se incluyan solamente las páginas cuyo nombre del host sea el del subdominio.

Publicado por Luis Miguel Gonzalez

10 Comentarios

  1. Hola

    He leído este post y me parece muy interesante, Sigo bastante tu blog pero nunca habia comentado ni escrito nada.

    Tengo una duda con esto que he leído.

    Tengo un portal con subdominios.
    http://www.midominio.com
    y subdominios del tipo fr.midominio.com

    He leido en otro blog y en google que para subdominios podía utilizar el siguiente código:

    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»));

    var pageTracker = _gat._getTracker(«UA-xxxxxxx-1»); pageTracker._setDomainName(«mi dominio.com»); pageTracker._initData(); pageTracker._trackPageview();

    que no es exactamente igual que el tuyo, supongo que el tuyo es anterior.

    Unz vez hecho esto y los filtros que tu comentas, mi pregunta es si tengo que hacer perfiles que cuelquen del principal y luego aplicar los filtros que había hecho?¿

    Espero que me puedas ayudar, porque estoy muy perdida….gracias

  2. Hola Noelia.
    Efectivamente el ejemplo de estas páginas está explicado con el código antiguo de Analitics, el urchin.js, si utilizas el nuevo la configuración que me indicas es la correcta se cambia el _udn por el _setDomainName y el resultado es el mismo, esto es: tendrás en tu perfil los datos de todos los subdominios juntos y yo personalmente ese perfil solo le aplicaría el filtro en el que se añade el nombre del host para que a la hora de ver los informes globales puedas aclararte de dónde te han venido las visitas. Si tus páginas iniciales se llaman index.php y no le aplicas el filtro verás que igual tienes 20.000 visitas al index.php pero no podrás saber si es el index de fr.midominio.com o el de http://www.midominio.com.
    Después deberías crear otro perfil exactamente igual pero al que le aplicas el filtro de solo incluir el tráfico de un subdominio tal como se explica en el post con lo que tendrás un perfil en el que solo verás el tráfico de fr.midominio.com, otro perfil igual pero al que le aplicas el filtro que incluye solamente el tráfico a http://www.midominio.com.
    Si tienes más filtros aplícaselos sin problemas a cualquiera de los perfiles que vas creando.
    Espero haber solucionado algo tus dudas si no es así no dudes en preguntar

  3. Muchas gracias por la respuesta, estoy probando google analitics y me estoy volviendo un poco loca…porque no se por qué no me funciona.

    El tema del código me queda claro, yo había añadido ese código nuevo ya.

    Después tengo el perfil general donde aplico el filtro de introducir urls como lo llama en el post, y luego he creado perfiles al perfil general donde aplico cada filtro según subdominio, en mi caso idiomas. (fr.midominio.com, en.midominio.com, etc…)

    Lo estoy haciendo bien…es que no veo que coja bien los datos, tendré que esperar a mañana ¿no?

  4. He cambiado una cos, quizá por eso se estaba liando, al perfil general le tenía aplicado todos los filtros hechos, tanto el de indicación de url (que es el q tiene que tener aplicado) como el de los subdominios.

    Ahora lo he dejado, el perfil principal con el filtro de indicación de urls, y los perfiles de los subdominios con su perfil cada uno.

  5. Hola Noelia.
    Efectivamente lo que tienes que hacer es esto último que comentas, en el principal aplica solo el primero de los filtros y luego crea tantos perfiles como subdominios tengas y aplica a cada uno el filtro del subdominio que quieres que te aparezca en dicho perfil.
    Lamentablemente el resultado no es inmediato y tienes que esperar a que google vuelva a generar tus informes, en 24 horas lo tienes seguro pero posiblemente dentreo de un par de horas o tres ya empieces a ver resultados.
    De todas formas te recomendaría que además dejes un perfil general al que no le apliques ningún tipo de filtros como precaución para que en el caso de que los filtros que apliques no funcionen por lo menos tengas uno en el que poder observar todos los datos y así no perder ninguno ya que estos en ningún caso pueden ser reprocesados.

  6. Hola de nuevo.

    No he conseguido que me salga bien lo que comentabamos ayer.

    En los perfiles de subdominio me introduce visitas al dominio, es decir, en los informes de contenido por ejemplo por el dominio fr.midominio.com, me introduce urls como http://www.midominio.com/loquesea y ninguna a fr.midominio.com/loque sea

    ¿quizá haya hecho mal algún filtro? El filtro de dominio que he puesto es fr.mydominio.com, quizá debería ser fr./mydominio./com

  7. Muy buen artículo, no sabía cómo hacerlo y la verdad es que la ayuda de Google no aclara mucho!!

  8. Hola
    Mi caso es algo diferente. Tengo la web en un un dominio (webexpertia.es) y el carro de la compra en un subdominio de otro dominio (gestion.webexpertia.eu). He seguido los pasos de Google Analytics para realizar el seguimiento, eligiendo la opción de «Varios dominios de nivel superior», he insertado el código que analytics me ha dado:

    var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-32851026-1’]);
    _gaq.push([‘_setDomainName’, ‘webexpertia.es’]);
    _gaq.push([‘_setAllowLinker’, true]);
    _gaq.push([‘_trackPageview’]);

    (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
    })();

    en cada uno de los sitios (la web y el carrito) especificando en cada uno su URL, modificando la siguiente línea para el dominio en el que está insertado:

    _gaq.push([‘_setDomainName’, ‘webexpertia.es’]); para webexpertia.es
    _gaq.push([‘_setDomainName’, ‘webexpertia.eu’]); para gestion.webexpertia.eu

    Luego he creado los enlaces cruzados de la siguiente manera (sustituyendo los que tenía hacia el carrito):


    Contrata ahora

    Ya a la inversa

    Ahora la duda: ¿Está bien lo que he hecho? :)
    Gracias mil!!!

  9. Hola Iván:

    A simple vista, teniendo en cuenta que se trata de dominios diferentes, utilizando en uno de los casos, un subdominio, parece que te falta llamar a la función ‘_setAllowHash’, a la que deberías dar el valor «false», y deberías tener en cuenta también que en los enlaces que lleven al usuario de un dominio a otro, deberías utilizar la función _link() o _linkByPost(), según necesites.

    Aún y todo, si tienes dudas de cómo implementarlo, puedes ponerte en contacto con nosotros para ver si podemos ofrecerte un servicio de soporte personalizado :-).

    Un saludo.

  10. […] la información ( además de tenerla agrupada). Encontrarás bastante información aquí: http://www.overalia.com/blog/    Y, por último, el caso en que tengamos varios dominios diferentes. Pero ¿por qué […]

Deja un comentario

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