Asynchronous tracking: Nuevos cambios en Google Analytics

Publicado en Novedades el 02 de diciembre de 2009 por .

La nueva versión de Google analytics no terminó con la inteligencia artificial, los objetivos y las custom variables. En el Google Analytics summit de San Francisco 09 se anunciaban nuevos cambios en el código de Analytics, que por motivos confidenciales no se habían publicado todavía.

Vamos a entrar en detalle en algunos de los cambios destacados que entran en vigencia desde el 01 de diciembre de 2009.

Nuevo código llamado: “Asynchronous Tracking”

A grandes rasgos, tal y como cuentan en la api de google analytics, el asynchronous tracking es una forma alternativa para medir a nuestros usuarios con google analytics: “La gran diferencia con el código tradicional de Google analytics (ga.js) es que el asynchronous tracking optimiza la forma en la que los navegadores (browsers) optimizan la carga del archivo ga.js, siendo su impacto en la experiencia del usuario minimizada.”

O sea, en otras palabras, se cargará más rápidamente sin influir en el rendimiento de la página, para que no sea molesto para los usuarios, para que apenas lo noten.

No sólo esto, a nivel técnico, el código podrá ubicarse en la parte superior del código sin que eso signifique que el contenido que viene después del código, vaya a sufrir algun impacto en su ejecución y en su visualización por parte de los usuarios.

El  “Asynchronous Trackin”funciona con un snippet (código javascript) diferente del habitual de analytics y que contiene una sintaxis también diferente para realizar las llamadas a la API.

Aquí queda una muestra de lo que sería el “asynchronous tracking”:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script');
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    ga.setAttribute('async', 'true');
    document.documentElement.firstChild.appendChild(ga);
  })();

</script>

Mas informacion sobre como implementarlo y su sintaxis

Como remplazo el código actual por el asynchronous tracking

Lo ideal es eliminar el código actual y remplazarlo por el código de puesto arriba. Lo único que hay que customizar del código de arriba es el valor de la función setAccount: ‘UA-XXXXX-X’ y sustituirlo por vuestro número de cuenta.

El código hay que ubicarlo justo antes de cerrar el tag “</head>”.

Implementaciones avanzadas de Google Analytics

Evidentemente esto no termina aquí. ¿Qué sucede cuando en una implementación se hacen llamadas a diferentes cuentas?¿ Qué sucede cuando se hacen llamadas en subdominio y multiplies dominios? ¿Qué sucede con las acciones de event tracking? ¿Qué sucede con las custom variables?

Todo es costumizable. Lo mejor es empezar a leer la API de analytics para la customización del nuevo código.

Os dejo un enlace con todas las equivalencias del nuevo código para que podáis migrarlo de forma correcta. No es nada complicado, muy sencillito, sólo hay que leerse el manual e implementar los cambios de forma adecuada. De cara a las nuevas implementaciones se recomienda ya usar el asynchronous tracking.

Customizaciones del código asynchronous de Google Analytics

Desaparecen algunas funciones en Google Analytics – importante!

Pero esto no es todo amigos. Hay más cambios importantes.

1. Desaparece la función setVar. Que servía hasta la fecha para la segmentación de usuarios, nos permitía segmentar por ejemplo entre usuarios empleados y usuarios empresas en un portal de empleo, o entre usuarios estudiantes y usuarios centro en un portal de formación, entre muchas otras cosas…

A partir de ahora entran en vigor las custom variables. En resumen:

_setVar desaparece. Custom Variables sustituyen a la  _setVar. Para aprender mucho más a fondo sobre las Custom Variables mirar la documentación de la API documentation para más detalles.

2. Cambian las funciones para reducir del tiempo de duración de las cookies que tantos de vosotros tenéis implementados en vuestros sitios web. Estos son los cambios con sus equivalencias.

  • _setVisitorCookieTimeout(cookieTimeoutMillis) sustituye la función _setCookiePersistence .
  • _setSessionCookieTimeout(cookieTimeoutMillis) sustituye la función _setSessionTimeout
  • _setCampaignCookieTimeout(cookieTimeoutMillis) sustituye la función _setCookieTimeout

Implementar estos cambios tan rápido como sea posible.

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:



10 Comentarios en Asynchronous tracking: Nuevos cambios en Google Analytics

  1. EstebanD

    Gracias por el artículo.
    Soy nuevo en esto. Corrígame si me equivoco, _setVar() fue deprecado para ambos métodos el tradicional y “Asynchronous Tracking”. ¿De ser así como uno puede crear User Defined Values para segmentar vistas bajo Visitors -> User Defined?.

    De antemano gracias,
    EstebanD

  2. Ferriol Egea

    @ Esteban,
    No sé si aún funcionará la setvar tal y como la conocemos, pero la mejor recomendación es migrar el código a las custom variables.
    En el artículo hay documentación sobre las custom variables.
    Tienes distintas posibilidades: page level, session level y visitro level…
    Allí tendrás que escoger lo que sea más oportuno para ti.
    Lee esta documentación:

    http://code.google.com/apis/analytics/docs/tracking/gaTrackingCustomVariables.html

  3. ferriol

    @Esteban,
    Confirman desde Google analytics, que aún no se eliminará la setvar, pero que se recomienda continuar con el user defined a través de las custom variables.

    Que no cunda el pánico!

  4. Rashid

    Hola Ferriol.

    Como te dije, aqui estoy!

    Había leído que se recomendaba poner el código al final de la página, así, en caso de error en el código o algo relacionado, no afectará a la página, ahora comentas que puede instalarse al principio de la página.

    No afecta de ninguna forma la posición del código?

  5. EstebanD

    Gracias por la pronta respuesta.
    Probé _setVar y sigue funcionando asi como también implementé _setCustomVar y logre crear segmentos con el. Pero tengo un caso curioso que no creo que logre replicar con _setCustomVar.

    Tengo un site que es usado muchas organizaciones, cada una de ellas tiene un miniportal. Cada organizacion tiene un id único usando _setVar(“O@id@”) donde @id@ es el id de la organizacion. De este modo Visitors -> User Defined Muestra una lista de todas las organizaciones con tráfico. En consecuencia nuevas organizaciones automaticamente obtienen su sub reporte apenas tienen tráfico y no es necesario intervenir para ello.

    Pareciera que lograr esto con _setCustomVar es mucho más difícil ya que por cada Id hay que crear un segmento y conlleva más pasos obtener un reporte además que cada vez que uno crea una nueva organización hay que crear el segmento para ella.

    Quizás hay otras maneras de hacer esto más sencillo con _setCustomVar. ¿tienes alguna idea?

    De antemano gracias.

  6. Ferriol Egea

    @Rashid,
    De hecho la posición del código es una de las novedades que entra con el asynchronous ga tracking, ahora se puede colocar antes de cerrar el sin que afecte el rendimiento del site…

    Así que don´t worry. Si utilizas el código asíncrono, ya no tienes que preocuparte por esto..

  7. christian

    alguien sabe si este codigo ya trae integrado el codigo para las estadisticas de adsense en analytics, y si no es asi, donde se pone el codigo para rastrear el adsense, abajo del de analytics o arriba??

  8. Ferriol Egea

    Christian, las estadísticas de adsense se mostrarán en los informes de analytics, siempre y cuando conectes las cuentas de adsense y analytics, directamente desde adsense.

    Nada que ver con el código…

  9. zai

    Hola!

    Para implementar el tracking asíncrono en una cuenta ya existente, con diferentes perfiles por subdominio y un perfil global (uso de pageTracker._setDomainName), ¿qué hay que tener en cuenta en la customización para continuar con los datos de los perfiles?

    Gracias!

  10. zai

    Respecto a lo que comentaba he visto que habría que incluir:
    _gaq.push(['_setDomainName', 'none']);

    sería entonces?

    _gaq.push(['_setDomainName', '.ejemplo.com']);

    ?

    gracias

2 Trackbacks For This Post

  1. Twitter Trackbacks for Asynchronous tracking: Nuevos cambios en Google Analytics | Trucos Google Analytics [trucosgoogleanalytics.com] on Topsy.com Says:

    [...] Asynchronous tracking: Nuevos cambios en Google Analytics | Trucos Google Analytics trucosgoogleanalytics.com/index.php/asynchronous-tracking-nuevos-cambios-en-google-analytics – view page – cached La nueva versión de Google analytics no terminó con la inteligencia artificial, los objetivos y las custom variables. En el Google Analytics summit de San [...]

  2. uberVU - social comments Says:

    Social comments and analytics for this post…

    This post was mentioned on Twitter by trucosga: Mas cambios en Google Analytics: nuevo codigo, nueva sintaxis, nuevas funciones – importante! : http://tinyurl.com/yc7n3gu

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>