Blog

  • Aprende a utilizar el hitCallBack en Universal Analytics

    Ya desde la versión anterior de Google Analytics ( ga.js ), existe una función que si no está muy documentada si que se podría utilizar, estamos hablando del método hitCallback .

    Esta función lo que nos permite ( tal y como claramente indica el nombre de la función es realizar una acción solo y tan solo después de que se haya enviado un hit de forma correcta a los servidores de Google Analytics.

    Desde que se publicó Universal Analytics, esta función es todavía más flexible puesto que nos permite de forma sencilla aplicar está función a cualquier tipo de hit de forma independiente. Seguramente en algúna ocasión habremos leído posts o visto plugins para hacer seguimiento de enlaces salientes ( eventos onClick o onMousedown ), o cuando se envíe un formulario ( evento onSubmit ) , pero a la hora de implementarlos también se nos habrá dado la situación de que tal vez el usuario llegué a la página de destino antes de que se lleguen a enviar los datos de forma correcta a Google Analytics, perdiendo con ellos estos datos.

    Aquí es donde entra en escena la función hitCallback, puesto que nos va a permitir saber cuando se han terminado realmente de enviar los hits y con ello una manera de poder asegurarnos de que siempre se envíen los datos.

    El funcionamiento sería el siguiente:

    1. Paramos la acción por defecto ( bien el click del usuario, o bien por ejemplo la acción de enviar el formulario ).
    2. Enviamos los datos a Universal Analytics.
    3. Utilizamos el hitCallback para una vez que estamos seguros los datos se han enviados continuar con la acción que empezó el usuario.

    Como ejemplo os pongo un pequeño fragmento de código que se encargaría de todo esto, y que os servirá de guía para cualquier otra implementación más avanzada que queráis realizar ( comprobar si el enlace es saliente, etc, etc ). Más abajo comentaremos el script línea por línea:

    <script>
    function doLink(event,href){
    event.preventDefault();
    ga('send', 'pageview', {
    'page': location.pathname,
    'hitCallback': function() {
    location.href = href;
    }
    });
    }
    </script>
    <a href="http://www.google.es/" onClick="doLink(event,this.href);">TEST</a>

    Vamos a comentar paso a paso lo que sucede:

    <a href="http://www.google.es/" onClick="doLink(event,this.href);">TEST</a>

    Aquí tan solo tenemos un enlace ( href ), al cual le estamos diciendo que cualquier un  usuario pinche en el enlace ( evento onclick ), lance la función doLink(), con los parémetros del evento como primer parámetro y en enlace en el cual ha hecho click el usuario. Entonce veamos que pasa después.

    event.preventDefault();

    event.preventDefault(). Lo que va a hacer es detener la acción por defecto que realizaría el nevagador en el evento en cuestión, en este caso el evento sería el click y lo que haría es llevarnos al enlace que tengamos. Pues ahora mismo esto no sucederá y no redigirá al usuario, no nos preocupemos esto lo forzaremos  depués para que el usuario termine yendo a donde marca el enlace 🙂

    ga('send', 'pageview', {
    'page': location.pathname,
    'hitCallback': function() {
    location.href = href;
    }
    });

    Aquí tenemos lo que sería el _trackPageview de toda la vida en formato Universal Analytics. Al estar pasándole unos parámetros deberemos pasarle obligatoriamente el parámetro ‘page’ , o no nos recogerá bien los datos, por ello le pasamos la URI actual del usuario ( location.href ), o bien podríamos incluso personalizarla.

    Y seguido le estamos pasando el hitCallback, ¿qué quiere decir esto? , le estamos diciendo a Universal Analytics, mira cuando hayas enviado el hit de la página vista, haz esto. Por lo tanto una vez los datos se hayan enviado vamos a redigir al usuario a su página de destino.

    Pues es tan sencillo como esto, de esta forma, el usuario no se redigirá al enlace hasta que los datos e hayan enviado correctamente. Por supuesto esto es extrapolable al enviar un evento, social hit, hit de ecommerce, o cualquier otro tipo de hit disponible en Universal Analytics, así como a cualquier otro evento de JavaScript ( Form submits, etc ).

    A partir de ahora podremos estar seguros que los datos se van a enviar cuando el usuario realice una acción concreta.

  • Cómo hacer tracking de la actividad de comentarios en Disqus con Universal Analytics

    Actualmente Disqus goza de una gran aceptación en muchísimas webs, por lo que resulta realmente interesante el hecho de poder enviar eventos a nuestro perfil de Google Analytics para por ejemplo poder medir una micro-conversión cada vez que alguen usuario de nuestra web nos deja un comentario en nuestro Blog.

    disqus

    Disqus es un sistema de comentarios externo, que se puede añadir por ejemplo a nuestro WordPress fácilmente mediante un simple plugin, y permite a los usuarios de nuestra web realizar comentarios logeando a través de Facebook o de Twitter.

    Actualmente Disqus proporciona un sistema de callbacks bastante limitado, este es el listado de callbacks disponible a día de hoy:

                    callbacks: {
                        preData: [],
                        preInit: [],
                        onInit: [],
                        afterRender: [],
                        onReady: [],
                        onNewComment: [],
                        preReset: [],
                        onPaginate: [],
                        onIdentify: []
                    }

    Pero nosotros vamos a utilizar únicamente, los de nuevos comentarios, paginación, identificación. Para lo cual tendramos que añadir el siguiente código a vuestras páginas.

    window.onload = function(){
        if(window.DISQUS){
            DISQUS.reset({
                  reload: true,
                  config: function () {
                  this.callbacks.onNewComment = [function(){ ga('send', 'event', 'Disqus', 'New Comment', window.location.href); }];
                  this.callbacks.onPaginate = [function(e){ ga('send', 'event', 'Disqus', 'Pagination', window.location.href); }];
                  this.callbacks.onPaginate = [function(e){ ga('send', 'event', 'Disqus', 'User Logged', window.location.href); }];
                  }
             });
        }
    };

    Os sugiero que copieis el código directamente desde Github para evitar problemas, podéis acceder al código fuente en la siguiente dirección:

    https://github.com/thyngster/universalanalytics

    La configuración de callbacks se ha de realizar antes de que este se haya cargado, por lo que de forma habitual, deberiamos añadir la configuración antes del código principal de Disqus, sin embargo lo que vamos a hacer es utilizar la función reset para reiniciar Disqus con los nuevos valores. Esto lo hacemos tan solo cuando la página esté totalmenta cargada para ello utilizamos el evento window.onload

    El código actualmente lanza los eventos con el formato de Universal Analytics, pero se puede utilizar sin ningún problema un push al objeto _gaq como se ha hecho siempre para lanzar eventos a Google Analytics

  • Novedades en la herramienta de analítica web AngelFish Software

    No es la primera vez que hablamos de esta herramienta de Analítica Web in-house. Ya sabemos que es

    Una de las opciones más demandadas desde que la primera versión vió la luz, ha sido la disponibilidad de una versión para el sistema operativo Windows. Pues bien el mes pasado sacaron la primera versión para esta plataforma, junto con otras muchas más novedades que vamos a comentar a continuación.

    • Versión para sistemas operativos Windows
    • Read logs on UNC paths
    • Google Analytics Upload
    • Default Filters: Include Known Browsers and Exclude SharePoint Content
    • Nuevo asistente para la creación de perfiles
    • Nuevo Report: Stolen Bandwidth.
    • Nuevo Report: Leeching Domains: Averigua que dominios están haciendo hot-linking a tu contenido.
    • Nuevo Reporte: Descargas
    • Nuevo Reporte: Usuarios
    • Opción de poder aplicar filtros directamente a los logs

    Y en los últimos meses han añadido los siguientes nuevos métodos de trackeo.

    • Pass-through Authentication
    • Session ID Tracking
    • Urchin/GA Tracking

    También se han añadido un montón de mejoras tanto en script de tracking como en la interfaz como por ejemplo.

    • Indicador del métido de tracking utilizado
    • Mejorado el detelle de información en el archivo de errores
    • Posibilidad de excluir hits que terminen en /
    • Nuevo formato de logs: NCSA Combined + Cookie
    • Nuevo navegador añadido: Chrome Mobile
    • angelfish.js: Detección de dispositivos móviles
    • Utilidad para resetar el password de administrador
    • Incrementada la eficacia de procesado de logs.
    • Mejorada la velocidad de la interfaz.

    Y muchas más que podréis ver en el changelog.

    Es una buena señal de cómo va avanzando el desarrollo de la herramienta, que recordemos es la única dentro de su categoría después de que Google descontinuara Urchin hace ya más de 1 año. Una opción muy a tener en cuenta para instituciones donde la privacidad de los datos de sus usuarios sea un punto ineludible, ya que recordemos que al tratarse de una herramienta que se instala en nuestros servidor, la información no terminará en manos de terceros, así como ofrece la posibilidad de re-procesar nuestros datos si por algún motivo nuestra información se hubiese visto alterada ( un mal filtro, etc ).

    No cabe olvidar la flexibilidad que ofrece, al poder al través de filtros ( tanto a nivel de perfil como de log ), modificar los datos de los que disponemos, y la abierta posibilidad de formatos de tracking si por algún motivo el utilizar el javascript no fuera posible.

    Sin duda, si eres usuario de Urchin Software, es la opción más recomendable que existe actualmente, ya que incluso te permite la migración de tus datos actuales. Contando con el soporte de una empresa detrás de la herramienta que te permite estar seguro que si tienes algún problema tendrás un soporte al que poder acudir para solucionar tus problemas y asegurarte que la herramienta seguirá aplicando actualizaciones.

    Podéis descargar y probar la herramienta durante un periodo trial, accediendo a la siguiente dirección: http://analytics.angelfishstats.com/trial/ .

    Información: http://analytics.angelfishstats.com/features/

  • Analytics Debugger recibe su primera “gran” actualización

    Hace un tiempo comentaba en este mismo blog que habíamos lanzado una utilidad para auditar implementaciones de analítica web , se trataba de Analytics Debugger .

    La herramienta ha estado funcionando unos meses y esta semana le ha tocado su primera gran actualización. Han sido muchos meses, días y horas, pero ha merecido la pena y por ello estamos contentos, puesto que se trata de un gran paso hacia adelante. La herramienta sigue siendo gratuíta, y para realizar la auditoría de tus páginas sigues sin necesitas nada más que tu navegador consiguiendo toda la información necesaria que de otra manera te llevaría mucho tiempo conseguir y además tenían que invertir tiempo en instalar aplicaciones o plugins externos.

    Han sido muchísimos cambios, en el core de la herramienta, cambios visuales, optimizaciones, nuevas features. Aquí os dejamos el listado de los cambios realizados.

    • Nuevo site con toda la información de la herramienta www.analytics-debugger.com
      ad_new_home
    • Rediseño del interfaz de la herramienta, haciéndola más simple y sencillo de utilizar.
    • Se ha reescrito el motor de depurado, ahora soporta todos los métodos que se pueden utilizar en Google Analytics así como detacta cualquier tipo de hit enviado.
    • Simulación de tag, si utilizas Google Analytics ó Universal Analytics te muestra un tag simulado para que sepas con exactitud como se está ejecutando analytics en tu página.
      ad_sim
    • Se ha añadido soporte de depurado avanzado para Universal Analytics.
    • Se ha añadido un módulo nuevo para poder monitorizar en tiempo real los eventos que se generan en tu página web, por ejemplo al hacer click en un enlace, cuando se hace scroll en la página o cualquiera que sea la implementación que tengas realizada en tu web.
    • A partir de ahora puedes añadir tu web, y Analytics Debugger te avisará diariamente si detecta algún cambio en la configuración de Google Analytics en tu página web,
    • Antes se mostraba tan sólo el último hit envíado por cada herramienta detectada, desde ahora se pueden ver los datos de todos los hits enviados por las herramientas soportadas actualmente.
      ad_hits_debug
    • Mejorado el soporte de errores, cualquier error que tenga tu tag se mostrará, por ejemplo si utilizas llamadas a funciones que ya no son válidas, si utilizas una cadena cuando deberías utilizar un número entero, etc.
      ad_errors
    • Ahora la herramienta está bajo SSL para asegurar la privacidad de tus datos.

    Lo mejor de todo es que estamos encantados de anunciaros es que no vamos a parar aquí, en las próximas semanas habrá muchas más novedades, muchas más herramientas detectadas y quien sabe si alguna otra sorpresa más 🙂

  • Descubre todas las novedades en Piwik 1.12

    Desde hace unas semanas la nueva versión de Piwik 1.12 estaba en beta y acaba de salir de ese estado para ser una versión estable. Esta es la última versión antes de cambiar de rama a la 2.0

    La verdad es que últimamente no hace más que sorprenderme por la rápidez con la que se está acercando a otras herramientas de pago o incluso líderes en el sector.

    Vamos a hacer un repaso por las principales novedades que incluye esta nueva versión:

    Editor de Segmentos Avanzados

    piwik_adv_segments

    Una de las features más esperadas, a partir de ahora podremos segmentar nuestros datos desde la interfaz sin necesidad de recurrir al API para realizar esta acción.

    Widget de visitas en tiempo real y Mejoras en el widget de SEO

    Se ha añadido un widget nuevo para que lo agregemos a nuestro dashboard que nos dirá los usuarios y acciones en nuestra web en tiempo real. Así como se ha mejorado widget de SEO, que ahora nos da dos métricas desde Majestic SEO, la cantidad de backlinks a nuestro sitio, así como la cantidad de dominios que nos enlazan.

    piwik_real_time_seo

    Detección de dispositivos móviles

    Con la colaboración de clearcode.cc a partir de ahora Piwik detectará los dispositivos móviles. Esta función estará disponible por defecto a partir de la version 2.0, pero la podemos activar si queremos de forma manual desde el menú de plugins.

    Detección de dispositivos en Piwik
    Detección de dispositivos en Piwik

    Actualización de Proveedores

    Se ha aprovechado para actualizar el listado de proveedores.

    piwik_providers

    Customize the background/text/axis color of graphs.

    También podremos a partir de ahora personalizar el color del fondo, del texto y de los axis de los gráficos.

    piwik_graphs_colors

     
    Desde esta versión podremos enviar junto a nuestras peticiones los parémetros de latitud y longitud de la siguiente manera:

    _paq.push(['appendToTrackingUrl', 'lat=X&long=Y']);

    Incluye además muchísimas mejoras en cuanto al API se refiere. Podéis ver todos los cambios en la siguiente dirección:
    http://piwik.org/blog/2013/05/last-piwik-1-x-release-v1-12-new-features-api-improvements-screenshots/

  • Enviando eventos o páginas a todos los trackers de Google Analytics activos en una página

    A veres se puede dar el caso de que estemos utilizando una medición dual ( o incluso triple ) en nuestros sitios webs, o lo que es lo mismo envíando los datos a más de una cuenta de Google Analytics al mismo tiempo.

    Por lo que nos interesa por ejemplo si estamos haciendo un seguimiento de enlaces salientes en nuestra web, estamos midiendo algunos elementos en Ajax o tal vez estemos modificando el bounce rate lanzando un evento de forma automática, que este evento se lance en todos los trackers que tengamos configurados en nuestro sitio web.

    Se podría hacer haciendo un _trackEvent para cada nombre de forma manual que tengamos configurado,  pero si cambia por lo que sea puede haber algún problema. Por ello el API del JavaScript de Google Analytics nos ofrece algunos métodos de los que podemos hacer uso para hacerlo todo de forma automática sin tener que andar introduciendo los nombres de los trackers a mano.

    Imaginemos que tenemos una implementación del tipo:

    <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['first._setAccount', 'UA-XXXXX-1']);
    _gaq.push(['_trackPageview']);
    _gaq.push(['second._setAccount', 'UA-XXXXX-2']);
    _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);
    })();
    
    </script>

    Y queremos enviar nuestros eventos a las 2 cuentas a la vez ( se podría crear una función para las páginas, los tracking sociales, o los tiempos de usuario si fuese necesario )

    Para ello crearemos una función como la siguiente:

    (more…)
  • Universal Analytics – Medición entre dominios ( Cross-Domain Tracking )

    Si hace un par de días comentabamos en nuestro post de migración a Universal Analytics , que estabamos pendientes de la información de cómo realizar la medición entre dominios con Universal Analytics. Por fin ya tenemos esa información disponible.

    Para la realizar la medición entre dominios (o cross-domain tracking) con universal analytics, el principio sigue siendo el mismo, es decir pasar el valor de las cookies entre los dominios. En este caso tan solo hay que pasar el valor de una cookie “_ga” .

    ua_logo

    Hay un cambio importante, y es que los links utilizados para pasar los datos entre los dominios tienen una caducidad, por lo que a partir de ahora no deberíamos modificar todos los enlaces a nuestro segundo dominio al imprimir la página, por que pasados 2 minutos estos no serán válidos. Con lo cual nos toca trabajar con Event Listeners para modificar el link cuando se haga click en algún enlace o bien en cualquier otro evento que queramos.

    El primer paso que debemos hacer es fijar el allowLinker a true, tal y como ya había que hacer en la versión anterior, para realizar este paso, crearemos el tracker de la siguiente manera.

    ga('create', 'UA-XXXX-Y', {'allowLinker': true});

    El módulo “linker” se carga de forma automática, así que ahora tan solo nos queda añadir a nuestros enlaces la información de las cookies.

    Universal Analytics nos ofrece 2 formas de conseguir este dato, una es conseguir el valor del linker que tendremos que utilizar para que lo podamos añadir nosotros, o bien la función decorate que se encargará de darnos el link final que tendremos que utilizar.

    Cómo saber los parámetros para en linker

    Para ello tendremos que poner el siguiente código:

    ga(function(tracker) {
    var linker = new window.gaplugins.Linker(tracker);
    var linkerParam = tracker.get('linkerParam');
    });

    Entonces tendremos en la variable linkerParam el valor del linker, que debería tener este formato:

    _ga=1.38895075.1749825416.1359153636

    Ahora tan solo tendríamos que poner ese valor en los enlaces a nuestro segundo dominio, bien por querystring (?) ó utilizando un hash (#) .

    Si hemos habilitado el allowlinker en nuestro dominio de destino, este actualizará los datos de las cookies del dominio con las que le estamos enviando, consiguiendo con ello la continuidad de la visita y del usuario.

    Utilizando el método Decorate

    Se trata de una utilidad que nos devolverá en enlace con el valor del linker añadido al enlace que le hayamos proporcionado.

    ga(function(tracker) {
      var linker = new window.gaplugins.Linker(tracker);
      var salida= linker.decorate('http://www.google.com');
    });

    A partir de este momento en la variable salida, tendríamos el siguiente valor.

    http://www.google.com?_ga=1.38895075.1749825416.1359153636


    El método decorate, acepta un segundo parámetro, y que si se lo pasamos como true, nos devolverá nuestro enlaces pero utilizando el hash.

    ga(function(tracker) {
      var linker = new window.gaplugins.Linker(tracker);
      var salida= linker.decorate('http://www.google.com',true);
    });

    Nos devolvería en la varible salida, lo siguiente:

    http://www.google.com#_ga=1.38895075.1749825416.1359153636

    Bien, pues básicamente estas son las maneras que tenemos para obtener la información que necesitamos para poder pasar los valores de nuestras cookies entre nuestros dominios.

    Os propongo un pequeño snippet para JQuery, que os ayudará a etiquetar los enlaces de forma automática y cada vez que se hace click en los enlaces a nuestro segundo dominio, recordemos que se debe hacer así porqué si se hace al cargar la página y el usuario no hace click antes de 2 minutos la página de destino no aceptará los valores de la cookie

    ga(function(tracker) {
    // Corremos todo dentro de una llamada de Universal Analytics
    // para asegurarnos que de que se ejecu si se ha cargado.
    
    // El dominio externo, modificar segun necesidades
    var externalDomain = 'thyngster.com';
    
    // Iniciamos la utilidad del linker
    var linker = new window.gaplugins.Linker(tracker);
    
    // Monitorizamos todos los clicks de nuestro site
    $('a').click(function() {
    // Si el enlace incluye el dominio que hemos definido arriba
    // modificamos el enlace con los parametros de las cookies
    href = $(this).attr('href');
    if(href.indexOf(externalDomain)>-1)
    {
    // Generamos nuestro enlace
    var linked_url = linker.decorate($(this).attr('href'));
    // Actualizamos el enlace
    $(this).attr('href',linked_url);
    }
    });
    });<

    Para la medición entre dominios con formularios sería básicamente lo mismo, pero deberemos cambiar la dirección a la cual apunta el formulario, basándonos por ejemplo en el evento “onSubmit”.

    Y esto es todo lo que debemos saber para poder medir diferentes dominios de forma conjunta con Universal Analytics.

    Si tienes alguna duda o problema, deja un comentario o contáctame por medio del formulario.

    Información Oficial sobre la medición entre dominios: https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain

    ga('create', 'UA-XXXX-Y', {'allowLinker': true});
  • Universal Analytics – Guía práctica de migración

    Hace unos días Google anunció la Beta pública de Universal Analytics . Una nueva forma de medir la analítica basada en el usuario y no en las visitas como se realizaba anteriormente.

    Es decir, actualmente y sobre todo con el aumento del uso de dispositivos móviles, los usuarios utilizan varios dispositivos para conectarse a una web, y no tan solo dispositivos si no también navegadores.

    Podemos tener por ejemplo un usuario que se conecta a nuestra web a través de diferentes navegadores, o incluso desde diferentes dispositivos. Con Universal Analytics la intención en basar la medición en el usuario, pudiendo unificiar todos los medios mediantes los cuales accede a nuestros servicios.

    Para ello desde Google han creado un nuevo protocolo, Google Analytics Measurement Protocol, podéis ver hacer click en este Cheatsheet para ver la equivalencia del protocolo actual con el nuevo.

    Mediante este protocolo podremos enviar los datos de nuestros usuarios desde un entorno web, desde una aplicación para móviles, o desde cualquier otro entorno que nosotros queramos envíando los datos directamente al endpoint de Universal Analytics.

    Tal vez el reto para la gran mayoría de usuarios sea la migración del etiquetado actual de nuestros sitios web al nuevo. Pero si nos fijamos bien, no es tan complicado o trabajoso como pueda parecer en un principio y tan solo conlleva el cambio de cómo lanzamos los datos.

    <!-- Google Analytics -->
    <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
    ga('create', 'UA-XXXXXX-Y');
    ga('send', 'pageview');
    
    </script>
    <!-- End Google Analytics -->

    La siguiente tabla nos muestra los cambios a la hora de hacer nuestras llamadas, comparando como lo haríamos con Google Analytics a cómo debemos hacerlo con Universal Analytics. Esto es un 80% de lo nuevo que debemos aprender para realizar nuestras nuevas implementaciones.

    AntesAhora
    _gaq.push([‘_trackPageview‘,’mipagina.html’])ga(‘send’, ‘pageview’,’/mipagina.html’);
    _gaq.push([‘_trackEvent‘, category, action, opt_label,opt_value,opt_noninteraction])ga(‘send’, event, category, opt_action, opt_label, opt_value, {‘nonInteraction’: 1});
    _gaq.push([‘_trackSocial‘, network, socialAction, opt_target, opt_pagePath]);ga(‘send’, ‘social’, ‘socialNetwork’, ‘socialAction’, ‘socialTarget’, {‘page’: ‘/my-new-page’});
    _gaq.push([‘_trackTiming’, category, variable, time, opt_label, opt_sample]);ga(‘send’, ‘timing’, ‘timingCategory’, ‘timingVar’, timingValue);
    _gaq.push([‘_addTrans‘, trans_id,store_name,total,tax,shipping,city,state,country]);ga(‘ecommerce:addTransaction’,{‘id’:’1234′,’affiliation’:’Acme Clothing’,’revenue’:’11.99′,’shipping’:’5′,’tax’:’1.29′});
    _gaq.push([‘_addItem‘, trans_id,sku,product_name,category,unit_price,quantity]);ga(‘ecommerce:addItem’,{‘id’: ‘1234’,’name’:’Fluffy Pink Bunnies’,’sku’:’DD23444′,’category’:’Party Toys’,’price’:’11.99′,’quantity’:’1′});
    _gaq.push([‘_trackTrans‘]);ga(‘ecommerce:send’);

    Universal Analytics carga algunas funcionalidades como el seguimiento de ecommerce de manera externa con el fin de poder mantener el código principal lo más liviano posible. Es decir si queremos realizar la medición de un ECommerce deberemos especificar que queremos cargar el plugin para trabajar con transacciones.

    Para hacerlo, tan solo deberemos añadir una línea de código a la etiqueta que tengamos en nuestra página de la siguiente forma:

    ga('require', 'ecommerce', 'ecommerce.js');

    Listo, ya podemos enviar nuestras transacciones, sencillo no ?.

    A su vez, el nuevo analytics.js , añade dos nuevos tipos de hits, que para los entornos web habituales no nos van a ser de mucha utilidad pues está centrado en las aplicaciones. Se trata de las Excepciones y los vistas de aplicación (appview y exception), ámbos se envian de igual manera que los anteriores mediante el método “send”.

    Con el primer tipo de hit, podremos enviar que pantalla de nuestra aplicación se está visualizando ( el equivalente a una página vista ), y con el siguiente las excepciones/problemas con lo que se encuentre el usuario, por ejemplo un problema de la base de datos.

    Configuración de un perfil en Universal Analytics

    Sin duda alguna este es uno de los dos mayores cambioes, puesto que a partir de ahora el control de sesiones (visitas) y de fuentes, se realiza desde los propios servidores de Google Analytics.

    Añadir nuevos motores de búsqueda para que se muestren como resultados orgánicos, el tiempo de duración de una visita (por defecto 30min), el tiempo de duración de las campañas (por defecto 6 meses), ahora se realiza desde la interfaz web de Google Analytics. No es necesario añadir configuraciones a nuestra página.

    Las siguientes acciones se realizan ahora desde el interfaz:

    • _addIgnoredOrganic
    • _addIgnoredRef
    • _setCampaignCookieTimeout
    • _setSessionCookieTimeout
    • _addOrganic
    • _clearIgnoredOrganic
    • _clearIgnoredRef
    • _clearOrganic

    El otro cambio importante es que desaparecen las variables personalizadas (custom variables) en favor de las dimensiones personalizadas (custom dimensiones) .

    Ahora se crean en el interfaz y los enviaremos los datos en base al índice de nuestra dimensión, por ejemplo dimension1, dimension2 (dimension[0-9]+) . Tanto el nombre de la variable como el alcance ( scope ) , se fija durante la creación de la dimensión.

    A pesar de parecer algo más laborioso de implementar tiene una gran ventaja sobre la versión anterior de Google Analytics, Universal Analytics permite crear 20 dimensiones personalizadas (y otras tantas métricas) , en la versión Premium este límite se amplía a 200 por propiedad.

    Hay algunos pequeños cambios en los límites y quotas, si antes el límite era de 10M de hits por mes y propiedas, con Universal Analytics este límite será 200.000 hits por visitante al día. Lo que mejora el límite anterior sin duda alguna.

    El límite de hits por sesión se sigue manteniendo en 500.

    Como podemos ver, los cambios para la medición de nuestras webs, no son tan complicados, y básicamente en la mayoría de situaciones se basa en cambiar el típico _gaq.push(), por ga(”) .

    A nivel de las cookies se simplifica todo de manera enorme puesto que pasamos de utilizar cuatro cookies, a utilizar tan solo una que tiene por defecto el nombre de “_ga ” (podremos cambiar el nombre en la configuración del tag si fuese necesario),  y la cual contiene el básicamente el ID de usuario .

    NOTA
    Actualmente no hay documentación sobre cómo realizar al medición entre dominios con Universal Analytics. En los foros por parte de ingenieros de Google, se ha comentado que la documentación se haría pública a finales de este mes.

    La forma de configurar nuestro dominio para funcione, es fijar el allowlinker a true, y poner también el dominio para las cookies (antiguo _setDomainname).

    ga('create', 'UA-286304-9', {'cookieDomain': 'yourdomain.com','allowLinker': true});

    Falta saber como pasar las cookies entre los dominios ( antiguo _link ).

  • AngelFish Stats incluirá la posibilidad de procesar logs de Google Analytics y Urchin

    AngelFish Stats acaba de anunciar las nuevas funcionalidades que incluirá la primera actualización de la herramienta, las tres novedades más importantes que incorporará serán las siguientes:

    • Nuevo método de tracking Urchin/GA:

      Este nuevo método de tracking permitirá procesar los logs antiguos que tengamos de Urchin o de Google Analytics ( utilizando _setLocalRemoteServerMode o _setLocalServerMode , que se encargan de enviar una copia local del beacon que se envía a los servidores de Google Analytics ). Si eras usuario de Urchin, ahora tan solo tienes que reimportar los logs, en vez de migrarlos.

    • Nuevo método de tracking: Session ID

      Con la nueva actualización también podremos realizar el seguimiento de nuestros usuarios mediante el Session ID que generan algunos entornos web, por ejemplo JSSESSIONID, PHPSESSIONID, que seguramente habremos visto en muchas ocasiones en las urls de algunas sites. Esta opción a parte de ser más exacto que el de IP+UA , puede ser muy util para entornos móbiles y cookieless.

    • Mejora de velocidad

      Se ha mejora la velocidad de procesado de los logs, de carga de la interfaz, y en general ha habido mejoras en todos los aspectos de la herramienta.

    A parte de estas novedades, se han corregido errores y mejorado la interfaz de usuario. Y podemos esperar una versión para entornos Windows en las siguientes actualizaciones.

  • Aprende a medir tus eventos con Google Tag Manager y su dataLayer

    A raiz de una conversión el día de hoy me ha dado por ponerme un poco al día con el Google Tag Manager . Por lo cual he estado revisando cuales han sido las mejoras que se han incorporado desde su salida y cómo aprovecharlas.

    Concretamente voy a explicar cómo utilizar el dataLayer. Muchos tal vez os estéis preguntando que esto, y en resumen no se trata más que de un objeto que podemos utilizar para pasarle los datos que queramos al Google Tag Manager. Y es imprescidible para la utilización de eventos.

    He leído estos meses algunos posts, donde para explicar como utilizar eventos simplemente se limitan a inyectar un código en javascript que hace un push al objeto de google analytics ( _gaq ) , y esta no es de ninguna manera la forma correcta de hacerlo, más bien lo considero una forma de desaprovechar el poder del Tag Manager.

    ATENCIÓN: Para poder utilizar el dataLayer debemos declarar el objeto antes de incluir el tag del Google Tag Manager. Este se suele situar justo al inicio de la etiqueta <body>, por lo que podremos poner nuestro código en el <head> de nuestra web.

    El código es el siguiente:

    <script>
    dataLayer = [];
    </script>

    Vamos a tratar el ejemplo de la medición de enlaces salientes mediante un onclick , por lo que en lugar del código habitual, utilizaremos la siguiente llamada en nuestros enlaces ( al final del artículo incluyo un pequeño snippet en javascript utilizando JQuery que nos automatizará todo el trabajo )

    onclick="dataLayer.push({'event' : 'outgoing-click','event-value' : this.href});"

    Con esto lo que estamos haciendo es enviar 2 variables al Tag Manager, para después en el interfaz y a través de macros poder lanzar los eventos con estos datos que estamos enviando.

    (more…)