Con el fragmento de código asincrónico, los navegadores presentan la página mientras ga.js se carga. El navegador podría encontrar llamadas del API de seguimiento antes de que ga.js haya terminado de cargarse, por lo cuál se debe una sintaxis diferente para personalizar el fragmento de código.
¿Cómo realizar llamadas del API de seguimiento con la sintaxis asincrónica?
Con el fragmento de código asincrónico los navegadores presentan la página mientras ga.js se carga. El navegador podría encontrar llamadas del API de seguimiento antes de que ga.js haya finalizado la carga, por lo cual se debe usar una sintaxis diferente para personalizar el fragmento de código.
El objeto _gaq es el elemento que permite la sintaxis asincrónica. Recoge llamadas del API hasta que ga.js está listo para la puesta en marcha. Para agregar algo a la cola, utilice el método _gaq.push.
Si queremos enviar una llamada del API a la cola, hay que adaptarla de la sintaxis tradicional de JavaScript a una matriz de comandos (matrices JavaScript que se ajustan a un formato determinado).
Elementos de una matriz de comandos:
- el nombre del método de objeto de seguimiento que se desea llamar (debe ser una cadena).
- el resto de los elementos son los argumentos que se desea pasar al método de objeto de seguimiento. Pueden ser cualquier valor de JavaScript.
El código siguiente llama a _trackPageview() utilizando la sintaxis tradicional:
var pageTracker = _gat._getTracker('UA-XXXXX-X');
pageTracker._trackPageview();
El código equivalente de la sintaxis asincrónica requiere dos llamadas a _gaq.push.
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
Para llevar a cabo la sintaxis asincrónica, hay que desarrollar un objeto rastreador. Por otro lado, hay también que establecer el ID de propiedad web para el rastreador. El método _setAccount dispone de esta funcionalidad. En el otro objeto de seguimiento, los métodos son los mismos en el seguimiento asincrónico y en el tradicional. Solo varía la sintaxis.
Más información en Guía de uso de seguimiento asincrónico