Contenido

Extiende Google Analytics con jQuery

18 may

+ 10

El uso de Google Analytics en aplicaciones web es algo muy común y cada vez más corriente. Principalmente por que es un servicio gratis y ofrece una gran cantidad de información relevante sobre el uso de las mismas.

Debido a este crecimiento, es normal encontrarnos artículos como este de Carron Media en el que nos muestran como extender las posibilidades de Google Analytics con jQuery. Mediante una serie de pequeñas porciones de código podremos controlar los enlaces salientes o los ficheros que se decargan de nuestros sitios web.

<script type="text/javascript">
$(document).ready(function(){
// Cargamos el fichero JS
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    $.getScript(gaJsHost + "google-analytics.com/ga.js", function(){

        try {
	// Nos identificamos con nuestro cógico.
            var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
            pageTracker._trackPageview();
        } catch(err) {}

	// Definimos los tipos de ficheros que vamos a registrar.
        var filetypes = /\.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$/i;

	// Recorremos todos los enlaces
        $('a').each(function(){
	// Capturamos el atributo href.
            var href = $(this).attr('href');

		// Si es un enlace saliente
            if ((href.match(/^https?\:/i)) && (!href.match(document.domain))){
                $(this).click(function() {
                    var extLink = href.replace(/^https?\:\/\//i, '');
                    pageTracker._trackEvent('External', 'Click', extLink);
                });
            }
            // Si es un email (mediante mailto)
            else if (href.match(/^mailto\:/i)){
                $(this).click(function() {
                    var mailLink = href.replace(/^mailto\:/i, '');
                    pageTracker._trackEvent('Email', 'Click', mailLink);
                });
            }
            // Si es una decarga.
            else if (href.match(filetypes)){
                $(this).click(function() {
                    var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                    var filePath = href.replace(/^https?\:\/\/(www.)mydomain\.com\//i, '');
                    pageTracker._trackEvent('Download', 'Click - ' + extension, filePath);
                });
            }
        });
    });
});
</script>

Tambien puedes descargarlo para usar en tu aplicación.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.