Universal Analytics (UA) dejará de estar disponible el 1 de julio de 2023, lo que significa que dejará de procesar datos. Las propiedades de Analytics 360 dejarán de funcionar el 1 de octubre de 2023. Haz la migración a Google Analytics 4.

Dominios y cookies: seguimiento web (analytics.js)

En esta guía se describe cómo analytics.js usa las cookies y cómo establecer la configuración para sitios web multidominio.

Descripción general

De forma predeterminada, la biblioteca analytics.js usa una cookie individual denominada _ga para almacenar un identificador de cliente único (ID de cliente), que es un número generado aleatoriamente. Una vez generado el ID, se almacena en la cookie y se incluye en cada hit o solicitud que se envía a Google Analytics. Después, los servidores de Google Analytics lo utilizan para calcular los datos de usuarios, sesiones y campañas.

La cookie _ga es una cookie propia a la que solo se puede acceder mediante el dominio en el que se ejecuta el código JavaScript. En el caso de determinadas implementaciones, es posible que sea necesario modificar el modo en que Google Analytics establece su cookie y en este documento se explicará cómo hacerlo.

Implementación

El fragmento JavaScript predeterminado para analytics.js crea un objeto de seguimiento con el método create:

ga('create', 'UA-XXXX-Y');

De este modo se crea una nueva cookie en la que:

  • Su nombre es _ga,
  • Su dominio es el del sitio web, sin el prefijo www.
  • Su caducidad es de 24 meses (dos años) y la caducidad se actualiza cada vez que se envía un hit.

Configuración de las opciones predeterminadas

Para modificar cualquiera de estos valores, pasa al método create un objeto de configuración como el último parámetro. El objeto de configuración es un objeto JavaScript normal en el que cada propiedad es el nombre del campo que quieres anular. Por ejemplo:

ga('create', 'UA-XXXX-Y', {
  'cookieName': 'new_cookie_name',
  'cookieDomain': 'mynew.domain.com',
  'cookieExpires': 60 * 60 * 24 * 28  // Time in seconds.
});

De este modo se cambia la configuración de cookie predeterminada a sus valores correspondientes.

Configuración automática de dominios de cookie

ga('create', 'UA-XXXX-Y', 'auto');

La configuración automática de dominios de cookie simplifica las implementaciones de seguimiento multidominio si se utiliza el parámetro auto. Cuando se usa en el dominio www.example.co.uk, intentará escribir las cookies en el siguiente orden:

  1. co.uk
  2. example.co.uk
  3. www.example.co.uk

Analytics.js no podrá escribir una cookie en co.uk, pero sí en example.co.uk. Como se ha escrito una cookie en un dominio de nivel más alto, se saltará www.example.co.uk.

Configuración de cookies en localhost

En algunos casos, puedes ejecutar analytics.js desde un servidor web que se ejecute en localhost. Para configurar las cookies de analytics.js, debes inhabilitar el dominio de cookie predeterminado mediante:

ga('create', 'UA-XXXX-Y', {
  'cookieDomain': 'none'
});

También puedes hacerlo de esta manera más sencilla:

ga('create', 'UA-XXXX-Y', 'none');

Varios objetos de seguimiento en el mismo dominio

La biblioteca analytics.js configura una cookie individual con el ID de cliente único para que todos los objetos de seguimiento compartan esta misma cookie. Si vas a implementar analytics.js en varios subdominios, o en diferentes subdirectorios del mismo dominio, debes:

  • configurar todos los objetos de seguimiento para establecer una cookie en el dominio más alto posible,
  • omitir el prefijo www y . (punto) del dominio.

Por lo tanto, si tienes un sitio con dos subdominios, one.example.com y two.example.com, ambos objetos de seguimiento se configuran del siguiente modo:

// Configuration for one.example.com
ga('create', 'UA-XXXX-Y', {'cookieDomain': 'example.com'});
// Configuration for two.example.com
ga('create', 'UA-XXXX-Y', {'cookieDomain': 'example.com'});

Modificación de la caducidad de las cookies

Cada vez que se envía un hit o una solicitud a los servidores de Google Analytics, el tiempo de caducidad de la cookie se actualiza según el tiempo actual más el valor del tiempo de cookieExpires (en segundos). Por ejemplo, al configurar:

ga('create', 'UA-XXXX-Y', {
  'cookieExpires': 60
});

el tiempo de caducidad de la cookie se configura como 60 segundos (un minuto) en el futuro.

Si has configurado el tiempo de cookieExpires como 0 (cero) segundos, la cookie se convierte en una cookie basada en sesión y caduca cuando finaliza la sesión de navegador actual.

ga('create', 'UA-XXXX-Y', {
  'cookieExpires': 0
});

Obtención del ID de cliente

Los programadores no deben acceder a la cookie que establece analytics.js ya que su formato puede cambiar sin previo aviso. Esto podría provocar errores de secuencia de comandos y datos incorrectos. En su lugar, deben usar el comando get para recuperar el valor de clientId cuando sea necesario. Estos son los pasos a seguir:

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

Después de que se haya cargado la biblioteca analytics.js, se ejecutará la función pasada a ga y el parámetro tracker incluirá una referencia al objeto de seguimiento predeterminado. A continuación, el objeto de seguimiento se usa para obtener el valor de clientId.

Inhabilitación de las cookies

De forma predeterminada, analytics.js usa una cookie individual para mantener un identificador de cliente único en diferentes páginas. En algunos casos, es recomendable usar un mecanismo de almacenamiento propio y enviar los datos directamente a Google Analytics sin usar cookies.

Puedes inhabilitar que analytics.js configure cookies del siguiente modo:

ga('create', 'UA-XXXX-Y', {
  'storage': 'none',
  'clientId': '35009a79-1a05-49d7-b876-2b884d0f825b'
});

Al inhabilitar el almacenamiento de cookies, tendrás que proporcionar tu propio parámetro clientId, excepto en el caso especial en el que uses parámetros de enlace multidominio.