Como trakear page views de AJAX con Google Analytics

Google Analytics Panel de control

Con mas y mas sitios que utilizan AJAX el “hace esto cada vez que carga la pagina”, ya no funciona en todos los casos. Por ejemplo, en un sitio que utiliza algún sistema de publicidad basado en iframes cada vez que recarga la pagina se contabiliza como un page-view en la publicidad, y si nuestro sitio utiliza un paginador basado en AJAX, los page-views de nuestras publicidades se verán reducidas considerablemente. Lo mismo pasa si queremos trakear la navegación de los usuarios por nuestro sitio basado en AJAX. Google, siempre pensando un paso adelante, ya provee la posibilidad de hacer esto con Google Analytics.

El código

El código para cargar Google Analytics actual, utiliza un método de carga asincrónico:

var _gaq=[["_setAccount","UA-#######-#"],["_trackPageview"]];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js";
s.parentNode.insertBefore(g,s)}(document,"script"));

El código anterior trakea la carga inicial de la pagina, pero no trakea las llamadas AJAX posteriores, para hacer esto, debemos añadir el siguiente código:

// "_trackEvent" is the pageview event,
_gaq.push(['_trackPageview', '/some-page']);

_trackPageview es usado nuevamente, pero esta vez le pasamos como segundo parámetro la URL de la llamada a AJAX que queramos trakear. Simplemente con esta línea podremos trakear las llamadas AJAX al igual que las cargas iniciales de las paginas.

El método anterior

Si todavía utilizas en tus paginas el método viejo de llamadas sincrónicas, también podes trakear llamadas AJAX, pero con el siguiente código:

pageTracker._trackPageview('/some-page');

Es realmente excelente saber que Google Analytics es tan dinámico como nuestras aplicaciones, brindando estadísticas detalladas, sin necesidad adoptar métodos alternativos para obtenerlas.

[Facebook] [Google] [LinkedIn] [Twitter] [Windows Live] [Email]
Tagged with: , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*