Obtener y configurar datos de campo en un rastreador a veces requiere tener una referencia al propio objeto de seguimiento. Dado que los comandos agregados a la cola de comandos ga()
se ejecutan de forma asíncrona y no muestran un valor, y dado que los rastreadores se suelen crear con el comando create
, es necesario esperar hasta después de que se ejecute el comando create
para hacer referencia a un objeto de seguimiento. Puedes hacerlo a través de la devolución de llamada lista.
La devolución de llamada lista
La devolución de llamada lista es una función que puedes agregar a la cola de comandos de ga()
. La función se invocará tan pronto como se cargue por completo la biblioteca analytics.js y se ejecuten todos los comandos anteriores agregados a la cola.
Dado que todos los comandos de la cola se ejecutan en orden, agregar una devolución de llamada lista a la cola después de agregar un comando create
garantizará que la devolución de llamada lista se ejecute después de que se crea la herramienta de seguimiento. Si se creó una herramienta de seguimiento predeterminada cuando se invoca una devolución de llamada lista, se pasa como el primer (y único) argumento de la devolución de llamada.
El siguiente código muestra cómo acceder al objeto de seguimiento predeterminado y registrarlo en la consola:
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the tracker created above to the console.
console.log(tracker);
});
Cómo obtener herramientas de seguimiento mediante los métodos de objetos de Google Analytics
Si no estás usando un monitor predeterminado o si tienes más de un monitor en la página, puedes acceder a ellos a través de uno de los métodos de objeto ga
.
Una vez que la biblioteca analytics.js está completamente cargada, agrega métodos adicionales al objeto ga
. Dos de esos métodos, getByName
y getAll
, se usan para acceder a objetos de seguimiento.
getByName.
Si conoces el nombre de la herramienta de seguimiento a la que quieres acceder, puedes hacerlo con el método getByName
:
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
ga(function() {
// Logs the "myTracker" tracker object to the console.
console.log(ga.getByName('myTracker'));
});
getAll
Para obtener un arreglo de todos los rastreadores creados, usa el método getAll
:
ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');
ga(function() {
// Logs an array of all tracker objects.
console.log(ga.getAll());
});
Cómo almacenar datos en un rastreador
Una vez que tengas una referencia a un objeto de seguimiento, puedes usar su método get
para acceder al valor de cualquier campo almacenado en el rastreador.
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the trackers name.
// (Note: default trackers are given the name "t0")
console.log(tracker.get('name'));
// Logs the client ID for the current user.
console.log(tracker.get('clientId'));
// Logs the URL of the referring site (if available).
console.log(tracker.get('referrer'));
});
Actualiza datos
Los objetos de seguimiento se pueden actualizar con el método set
. Se puede llamar al método set
de un rastreador en un objeto de seguimiento o si se agrega un comando set
a la cola de comandos de ga()
.
Dado que obtener una referencia a un objeto de seguimiento requiere el uso de una devolución de llamada lista, se recomienda usar la cola de comandos de ga()
para actualizar un seguimiento.
La cola de comandos de ga()
El comando set
se puede invocar de dos maneras: cuando se pasan dos parámetros, un campo y su valor correspondiente, o se pasa un objeto de pares de campo/valor.
En el siguiente ejemplo, se establece el campo page
como '/about'
en el rastreador predeterminado:
ga('set', 'page', '/about');
En este ejemplo, se configuran los campos page
y title
al mismo tiempo:
ga('set', {
page: '/about',
title: 'About Us'
});
Cómo usar un rastreador con nombre
Si usas un rastreador con nombre en lugar del rastreador predeterminado, puedes pasar su nombre en la string de comandos.
La siguiente llamada establece el campo page
en la herramienta de seguimiento llamada "myTracker":
ga('myTracker.set', 'page', '/about');
En el propio objeto de seguimiento
Si tienes una referencia al objeto de seguimiento, puedes llamar directamente al método set
de esa herramienta de seguimiento:
ga(function(tracker) {
tracker.set('page', '/about');
});
Sintaxis del signo de unión
Por lo general, los campos de seguimiento se obtienen y configuran con sus nombres de campo. (Consulte la referencia de campos para obtener una lista completa de los campos analytics.js y sus nombres).
Una forma alternativa de obtener y configurar campos es hacer referencia a ellos por los nombres de los nombres de parámetros del Protocolo de medición correspondientes.
Por ejemplo, las dos expresiones console.log
siguientes registran el título del documento en la consola:
ga(function(tracker) {
// Gets the title using the analytics.js field name.
console.log(tracker.get('title'));
// Gets the title using the measurement protocol
// parameter name, prefixed with an ampersand.
console.log(tracker.get('&dt'));
});
En general, no se recomienda la sintaxis y solo debe usarse cuando el nombre de campo analytics.js de un parámetro de Protocolo de medición no existe (ocasionalmente, esto ocurre si se agrega una nueva función al Protocolo de medición antes de que se implemente en analytics.js).
Próximos pasos
Ahora que sabe cómo crear seguimientos y actualizar los datos almacenados en ellos, el siguiente paso es aprender a enviar esos datos a Google Analytics para su procesamiento.