Para obtener descripciones generales conceptuales de los alcances de usuario y sesión, incluido cómo Google Analytics define y limita estrictamente las sesiones por inactividad, consulta Dimensiones y métricas: Acerca de las sesiones de Analytics y la guía sobre los alcances de las dimensiones de fuente de tráfico.
En esta guía, se abordan los desafíos específicos de los desarrolladores y las prácticas recomendadas para administrar la configuración de sesiones y el seguimiento pasivo.
Combina dimensiones a nivel de la página con métricas de sesión
Una de las diferencias más comunes en los informes se produce cuando se combinan dimensiones con alcance de página (por ejemplo, ruta de la página y clase de pantalla) con la métrica Sesiones a nivel de la sesión.
Definiciones de sesiones y vistas
Sesiones: Cuenta los períodos únicos durante los que se cargó una ruta de la página determinada al menos una vez.
Vistas (vistas de página) registra la cantidad total acumulada de veces que se cargó la ruta de acceso a la página.
Ejemplo
Considera una sola sesión con la siguiente ruta de navegación del usuario: /home →
/products → /home → Salir
Si esta es la única sesión, se mostrará un informe configurado con las métricas Ruta de la página y clase de pantalla y Sesiones o Vistas de la siguiente manera:
| Ruta de la página | Sesiones | Vistas |
|---|---|---|
/home |
1 | 2 |
/products |
1 | 1 |
| Total (sin duplicados de Google Analytics) | 1 | 3 |
Si sumas las filas, obtendrás 2 sesiones, pero el total real de la propiedad se anula y queda en 1.
Reglas de personalización
- Sesiones con ruta de la página hace referencia a las sesiones únicas que visitan la ruta al menos una vez.
- Las sesiones con página de destino hacen referencia a las sesiones únicas que comienzan en la ruta. Para ver el tráfico de las páginas de destino, siempre usa Página de destino y cadena de consulta en lugar de Sesiones con ruta de la página.
- Vistas siempre contabiliza la frecuencia total de carga.
Prácticas recomendadas para desarrolladores y analistas
- Mantén la coherencia de los alcances: No mezcles dimensiones de tráfico centradas en el usuario (por ejemplo, Grupo de canales predeterminado del primer usuario) con métricas centradas en la sesión (por ejemplo, Duración promedio de la sesión) si tu objetivo es comprender el rendimiento de la sesión.
- Valida
session_starten DebugView: Durante la fase de QA y verificación, usa herramientas de depuración estándar, como DebugView de Google Analytics, para confirmar quesession_startse activa correctamente cuando se inicia la sesión.
Prácticas recomendadas para administrar los tiempos de espera de sesión
La duración predeterminada de una sesión de Google Analytics es de 30 minutos.
No recomendamos implementar código personalizado para hacer un "ping" periódico a Google Analytics y evitar los tiempos de espera por inactividad. Si aumentas artificialmente las métricas de sesión, se distorsionan los datos de comportamiento del usuario. En su lugar, utiliza las funciones integradas de Google Analytics o segmenta los eventos de participación significativos para ofrecer una solución más clara.
Por qué los pings genéricos de "keep-alive" son una mala práctica
- Métricas principales distorsionadas: Si un usuario se aleja de su pestaña, está realmente inactivo. Si fuerzas a que la sesión permanezca abierta, se crean "sesiones zombie" y se infla falsamente la duración promedio de la sesión. Esto oculta el punto real en el que los usuarios pierden el interés o abandonan tu sitio.
- Impacto en las sesiones que generaron participación: Google Analytics define una sesión que generó participación como aquella que dura más de 10 segundos, incluye 2 o más vistas de página o activa un evento clave (anteriormente, evento de conversión). Si mantienes abierta una sesión de forma artificial, esta parecerá que generó participación, lo que aumentará tu tasa de participación.
- Sobrecarga de datos y costos: Si envías constantemente eventos de ping en segundo plano en blanco, aumenta el ruido en el recuento de eventos y eleva los costos del almacén de datos si exportas datos de Google Analytics a BigQuery.
Cuándo hacer un seguimiento de la participación pasiva (y cómo hacerlo)
Existen situaciones legítimas en las que un usuario participa activamente en el contenido, pero no activa los eventos de interacción estándar de Google Analytics (como los clics o los cambios de página). En estos casos, en lugar de un ping de actividad genérico, captura eventos de progreso significativos iniciados por el usuario:
- Contenido de video de formato largo: Un usuario que mira un video incorporado de 45 minutos permanecerá pasivo durante más de 30 minutos, lo que podría provocar el vencimiento de la sesión.
- Artículos detallados: Un usuario puede dedicar 40 minutos a leer una guía técnica y desplazarse lentamente, pero no activar ninguna acción de navegación.
- Aplicaciones web interactivas: Los usuarios que supervisan feeds en vivo, indicadores bursátiles o paneles de datos consumen información de forma pasiva sin hacer clics.
Si el usuario minimiza la ventana del navegador o cambia de pestaña, los pings en segundo plano deben detenerse.
Ejemplo de código: Ping de evento que tiene en cuenta la visibilidad
En el siguiente patrón de JavaScript, se muestra cómo hacer un seguimiento de la participación pasiva y respetar la visibilidad de la pestaña. Ajusta el intervalo de seguimiento y el valor del parámetro (por ejemplo, 5 minutos o 300,000 ms) según tu caso de uso específico, como la duración típica de tus videos o artículos de formato largo:
const TRACKING_INTERVAL_MILLIS = 5 * 60 * 1000;
let engagementInterval;
function startEngagementTracking() {
// Prevent duplicate intervals if tab becomes visible
if (engagementInterval) return;
engagementInterval = setInterval(() => {
gtag('event', 'passive_engagement', {
'engagement_time_msec': TRACKING_INTERVAL_MILLIS
});
}, TRACKING_INTERVAL_MILLIS);
}
function stopEngagementTracking() {
if (engagementInterval) {
clearInterval(engagementInterval);
engagementInterval = null;
}
}
// Start tracking initially if the page is visible
if (!document.hidden) {
startEngagementTracking();
}
// Stop tracking when tab is hidden, resume when visible
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
stopEngagementTracking();
} else {
startEngagementTracking();
}
});
Comparación entre la medición optimizada de Google Analytics y el seguimiento personalizado
Google Analytics incluye la medición optimizada, que controla automáticamente algunos casos de seguimiento pasivo listos para usar, aunque tiene limitaciones específicas.
| Tipo de interacción | ¿La medición optimizada se encarga de este evento? | Requisitos o elementos de acción |
|---|---|---|
| Videos de YouTube insertados | Sí | Se activan automáticamente los hitos video_start, video_complete y video_progress en el 10%, 25%, 50% y 75% (requiere que se habilite la compatibilidad con la API de JS). |
| Videos que no son de YouTube (HTML5, Vimeo) | No | Requiere una implementación personalizada. Activa eventos de forma programática con gtag.js o administra activadores con Google Tag Manager (GTM). |
| Desplazamiento estándar de la página | Parcial | Activa un solo evento scroll solo cuando el usuario alcanza el 90% de una página. |
| Progreso de lectura incremental | No | Inhabilita el seguimiento de desplazamiento predeterminado de Google Analytics y, luego, implementa umbrales de desplazamiento personalizados (por ejemplo, 25%, 50%, 75%) de forma programática o en GTM. |
La alternativa más sencilla: Ajusta el límite de tiempo de espera de la sesión de Google Analytics
Si tu sitio web se centra de forma natural en el contenido de formato largo, los cursos en video o el uso continuo de la app, no necesitas insertar hacks de secuencias de comandos personalizadas. Puedes ajustar el umbral predeterminado de 30 minutos dentro de la interfaz de Google Analytics hasta un máximo de 7 horas y 55 minutos. Para obtener instrucciones, consulta Cómo ajustar el tiempo de espera de las sesiones.