:::: MENU ::::

Seguimiento de descargas con Google Analytics

Google Analytics el popular servicio de estadísticas de visitas ofrece muchas características que permiten conocer al detalle la interacción que tiene el usuario con nuestra web. Una de ellas es hacer el seguimiento de todos los archivos de descargas, esto no se hace de forma automática por lo que hay que agregar un código adicional.

Utilizando Google Analytics

El primer paso es utilizar el código de seguimiento en nuestra página, actualmente se utiliza la versión asincrona la cual se debe colocar justo antes de la etiqueta </head>

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

En donde UA-XXXXX-X es el código de seguimiento del sitio web el cual lo podemos obtener al registrar un sitio web en nuestra cuenta de Google Analytics.

Seguimiento de descargas con Google Analytics

Si en nuestra página tenemos archivos de descarga, en enlace de descarga es:

<a href="/files/map.pdf">map</a> 

Para que Google Analytics pueda registrar las descargas es necesario agregar una llamada al método _gaq.push en donde el segundo parámetro es un nombre con el cual se identificará la descarga.

<a href="/files/map.pdf" onClick="_gaq.push(['_trackPageview','/files/map.pdf']);">map</a> 

El código es muy sencillo y hay que colocarlo en cada enlace de descarga que se tenga.

Seguimiento de descargas con Google Analytics y Mootools

Si utilizas Mootools en tu página, entonces puedes utilizarlo para agregar el código de seguimiento de manera sencilla. Para ello a todos los enlaces de descarga le agregaremos un estilo llamado download.

<a href="/files/map.pdf" class="download">map</a> 

Luego podemos agregar el siguiente código con el cual se busca todos los enlaces con el estilo download y le agrega la llamada al método _gaq.push.

window.addEvent('load', function() {
   $$('.download').addEvent('click',function() {
      _gaq.push(['_trackPageview', this.get('href').replace('http://','')]);
   });
});

Seguimiento de descargas con Google Analytics y jQuery

Si utilizamos jQuery podríamos modificar el código anterior el cual se convertiría en:

$(document).ready(function () {
   $('a.download').click(function() {
      _gaq.push(['_trackPageview', $(this).attr('href').replace('http://','')]);
   });
});

Seguimiento de descargas automático

Si todas estas formas te parecen complicadas o ya tienes un sitio con muchas páginas y resulta complejo agregar el código de seguimiento, existe una solución llamada Entourage.js el cual agregará de forma automática el código de seguimiento a todos los enlaces que contengan archivos: .pdf, .zip, .doc, .xls, .ppt, .exe, .dmg, .mov, .avi y .mp3.

Para utilizar este método descargan los archivos y copian el archivo entourage.min.js y lo adjuntan a la página donde desean hacer el seguimiento, esto justo antes de colocar el código de Google Analytics.

<script src="js/entourage.min.js"></script>

Esta pequeña librería con un tamaño de solo 579 bytes y que nos facilita de manera muy sencilla el trabajo de hacer el seguimiento de descargas en nuestra página.

Mas Información


5 Comentarios

  • sergiomas |

    Muy útil.
    Solo un comentario. Según Google, el método _trackPageview puede tener 4 parámetros (Categoría, Acción, Etiqueta, y Valor), de los cuales 2 son obligatorios. (Categoría y Acción).
    En tu script solo das valor al primero.
    El script correcto debería ser algo así: _gaq.push(['_trackPageview','Descarga','/files/map.pdf']); donde ‘Descarga’ sería la categoría, y el PDF la acción.

    A riesgo de resultar pedante comentar también que _gaq.push en realidad es la acción de añadir (push) valores a la variable ‘_gaq’ que es un array.

    Mas info sobre seguimiento de eventos aquí: http://code.google.com/intl/es/apis/analytics/docs/tracking/eventTrackerGuide.html

  • ccarrasco |

    100% de acuerdo con @sergiomas Muy buena la guía pero creo que en vez de manejarlo con “_trackPageview” se deberia hacer con el “_trackEvent” estan pensados precisamente para este tipo de necesidades.

Publica tu comentario

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.