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. Migra a Google Analytics 4.

Cookies e identificación de usuarios

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Para que Google Analytics determine que dos hits distintos pertenecen al mismo usuario, se debe enviar un identificador único asociado con ese usuario en particular con cada hit.

La biblioteca analytics.js logra esto a través del campo ID de cliente, una string única generada de forma aleatoria que se almacena en las cookies del navegador, por lo que las visitas posteriores al mismo sitio se pueden asociar con el mismo usuario.

De forma predeterminada, analytics.js usa una única cookie propia llamada _ga para almacenar el ID de cliente, pero el nombre de la cookie, el dominio y la fecha de vencimiento se pueden personalizar. Otras cookies creadas por analytics.js incluyen _gid, AMP_TOKEN y _gac_<property-id>. Estas cookies almacenan otros ID generados aleatoriamente y la información de la campaña sobre el usuario.

El uso de cookies permite que analytics.js identifique a los usuarios únicos en las sesiones de navegación, pero no puede identificar a los usuarios únicos en diferentes navegadores o dispositivos. Si tu sitio tiene su propio sistema de autenticación, puedes usar la función User-ID, además del ID de cliente, para identificar con más precisión a un usuario en todos los dispositivos que usa para acceder a tu sitio.

En esta guía, se explica cómo personalizar la configuración de cookies y cómo establecer el campo de ID del usuario para medir con mayor precisión la actividad de los usuarios en las sesiones.

En la siguiente tabla, se muestran los valores predeterminados del campo de las cookies que usa analytics.js:

Nombre del campo Tipo de valor Valor predeterminado
cookieName texto _ga
cookieDomain texto El resultado de la siguiente expresión de JavaScript:
document.location.hostname
cookieExpires integer 63072000 (dos años, en segundos)
cookieUpdate boolean true
cookieFlags texto

Para modificar cualquiera de estos valores, puedes especificarlos en el fieldObject que pasas el comando create. Por ejemplo:

ga('create', 'UA-XXXXX-Y', {
  'cookieName': 'gaCookie',
  'cookieDomain': 'blog.example.co.uk',
  'cookieExpires': 60 * 60 * 24 * 28  // Time in seconds.
  'cookieUpdate': 'false',
  'cookieFlags': 'SameSite=None; Secure',
});

El campo de cookie más común para establecer es cookieDomain, por lo tanto, el comando create acepta el campo cookieDomain como un tercer parámetro opcional para mayor comodidad:

ga('create', 'UA-XXXXX-Y', 'blog.example.co.uk');

La etiqueta recomendada de Google Analytics establece la string 'auto' en el campo cookieDomain:

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

Si especificas 'auto' como cookieDomain, se habilita la configuración automática del dominio de cookies, que le indica a analytics.js que determina automáticamente el mejor dominio de cookies para usar.

La configuración automática del dominio de cookies establece la cookie _ga en el dominio de nivel más alto posible. Por ejemplo, si la dirección de tu sitio web es blog.example.co.uk, analytics.js establecerá el dominio de cookies en .example.co.uk. Además, si analytics.js detecta que estás ejecutando un servidor de manera local (p.ej., localhost) configura automáticamente la cookieDomain en 'none'.

Cada vez que se envía un hit a Google Analytics, se actualiza la hora de vencimiento de la cookie para que sea la hora actual más el valor del campo cookieExpires. Esto significa que, si usas la hora predeterminada cookieExpires de dos años, y un usuario visita tu sitio todos los meses, su cookie nunca vencerá.

Si configuras la hora cookieExpires como 0 (cero) segundos, la cookie se convertirá en una cookie basada en la sesión y vencerá una vez que finalice la sesión actual del navegador:

Cuando se establece cookieUpdate como true (el valor predeterminado), analytics.js actualizará las cookies en cada carga de página. Esto actualizará la caducidad de la cookie que se establecerá en relación con la visita más reciente al sitio. Por ejemplo, si el vencimiento de la cookie se establece en una semana y un usuario lo visita con el mismo navegador cada cinco días, el vencimiento de la cookie se actualizará en cada visita y, por lo tanto, nunca vencerá.

Cuando se establece en false, las cookies no se actualizan cuando se carga la página. Esto tiene el efecto del vencimiento de la cookie en relación con la primera vez que un usuario visitó el sitio.

Agrega marcas adicionales a la cookie cuando se establece. Las marcas deben estar separadas por punto y coma.

No debes acceder directamente a los conjuntos de cookies de analytics.js, ya que el formato de las cookies puede cambiar en el futuro. En cambio, los desarrolladores deben usar readyCallback para esperar hasta que se cargue analytics.js y, luego, obtener el valor clientId almacenado en el seguimiento.

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

Cómo inhabilitar las cookies

En algunos casos, es posible que desees usar tu propio mecanismo de almacenamiento (como localStorage o un service worker) para conservar el ID de cliente entre sesiones sin usar cookies. Para inhabilitar el análisis de cookies de js.js, establece el campo storage en 'none'.

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none'
});

Si almacenas el campo clientId tú mismo, deberás asegurarte de configurar el campo cliendId cuando crees la herramienta de seguimiento.

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none',
  'clientId': '76c24efd-ec42-492a-92df-c62cfd4540a3'
});

Para inhabilitar las cookies _gac_<property-id>, establece el campo storeGac en false en el comando create:

ga('create', 'UA-XXXXX-Y', {
  storeGac: false,
});

Usa localStorage para almacenar el ID de cliente

En la siguiente muestra de código, se muestra cómo podrías modificar la etiqueta de JavaScript para usar localStorage y almacenar el ID de cliente en lugar de cookies:

var GA_LOCAL_STORAGE_KEY = 'ga:clientId';

if (window.localStorage) {
  ga('create', 'UA-XXXXX-Y', {
    'storage': 'none',
    'clientId': localStorage.getItem(GA_LOCAL_STORAGE_KEY)
  });
  ga(function(tracker) {
    localStorage.setItem(GA_LOCAL_STORAGE_KEY, tracker.get('clientId'));
  });
}
else {
  ga('create', 'UA-XXXXX-Y', 'auto');
}

ga('send', 'pageview');

ID de usuario

El ID de usuario permite analizar grupos de sesiones en varios dispositivos mediante una string de ID única, persistente y no personal que representa a un usuario. Para obtener información sobre por qué deberías implementar el ID de usuario, consulta Beneficios de usar la función de ID de usuario.

Para implementar el ID del usuario con analytics.js, haga lo siguiente:

  1. Proporciona tu propio ID de string único, persistente y no personal para representar a cada usuario que accedió. Este sistema suele proporcionar un ID de autenticación.
  2. Configure el ID de usuario en la herramienta de seguimiento:
ga('create', 'UA-XXXXX-Y', 'auto', {
  userId: USER_ID
});
ga('send', 'pageview');

Cómo manejar la autenticación después de la carga de página

Cuando se crean aplicaciones de una página o cualquier otro sitio web dinámico que controle el acceso del usuario después de la carga inicial de la página, el proceso de configuración del valor del ID del usuario en el rastreador no se produce durante la creación.

En esos casos, puedes usar el comando set para establecer el valor en el rastreador tan pronto como se conozca.

// Creates the tracker and sends a pageview as normal
// since the `userId` value is not yet known.
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

// At a later time, once the `userId` value is known,
// sets the value on the tracker.
ga('set', 'userId', USER_ID);

// Setting the userId doesn't send data to Google Analytics.
// You must also use a pageview or event to send the data.
ga('send', 'event', 'authentication', 'user-id available');

Cuando se usa este enfoque, los hits enviados antes de que se establezca el campo userId no contendrán valores de ID del usuario. Sin embargo, a través de un proceso conocido como unificación de sesión, Google Analytics puede asociar estos hits con el usuario correcto en el momento del procesamiento.