Cómo obtener y configurar datos de campo

La obtención y configuración de datos de campo en un rastreador a veces requiere tener una referencia al 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 las herramientas de seguimiento se suelen crear con el comando create, para obtener una referencia a un objeto de seguimiento es necesario esperar hasta que se ejecute el comando create. Puedes hacerlo mediante 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á en cuanto la biblioteca analytics.js se cargue por completo 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 cree el rastreador. Si se crea un rastreador predeterminado cuando se invoca una devolución de llamada lista, se pasa como el primer (y único) argumento de la devolución de llamada.

En el siguiente código, se 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);
});

Obtén rastreadores a través de los métodos de objetos ga

Si no usas una herramienta de seguimiento predeterminada o si tienes más de una en la página, puedes acceder a ellas a través de uno de los métodos del 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 del dispositivo de rastreo al 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 array de todos los segmentos 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 dispositivo de rastreo

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 la herramienta de seguimiento.

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'));
});

Cómo actualizar 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 agregando 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 ga() para actualizar un rastreador.

La cola de comandos de ga()

El comando set se puede invocar de dos maneras: pasando dos parámetros, un campo y su valor correspondiente, o pasa un objeto de pares de campo/valor.

En el siguiente ejemplo, se establece el campo page en '/about' en el rastreador predeterminado:

ga('set', 'page', '/about');

En este ejemplo, se establecen los campos page y title al mismo tiempo:

ga('set', {
  page: '/about',
  title: 'About Us'
});

Usa un rastreador con nombre

Si usas un rastreador con nombre en lugar del predeterminado, puedes pasar su nombre en la cadena de comandos.

La siguiente llamada establece el campo page en la herramienta de seguimiento llamada "myTracker":

ga('myTracker.set', 'page', '/about');

En el objeto de seguimiento

Si tienes una referencia al objeto de seguimiento, puedes llamar directamente al método set de ese rastreador:

ga(function(tracker) {
  tracker.set('page', '/about');
});

Sintaxis de Ampersand

Por lo general, los campos de seguimiento se obtienen y configuran con sus nombres de campo. (Consulta la referencia de campos para obtener una lista completa de los campos de analytics.js y sus nombres).

Una forma alternativa de obtener y configurar campos es hacer referencia a ellos por los nombres correspondientes de los nombres de parámetros del Protocolo de medición.

Por ejemplo, las siguientes dos expresiones console.log 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 et, y solo debe usarse cuando no existe el nombre de campo analytics.js de un parámetro del Protocolo de medición (en ocasiones, esto sucede si se agrega una función nueva al Protocolo de medición antes de su implementación en analytics.js).

Próximos pasos

Ahora que sabes cómo crear herramientas de seguimiento y actualizar los datos almacenados en ellas, el siguiente paso es aprender a enviar esos datos a Google Analytics para su procesamiento.