Medir sessões e o engajamento do usuário

Para visões gerais conceituais dos escopos de usuário e sessão, incluindo como o Google Analytics define e limita estritamente as sessões por inatividade, consulte Dimensões e métricas: sobre as sessões do Analytics e o guia sobre Escopos de dimensões de origem do tráfego.

Este guia aborda desafios específicos para desenvolvedores e práticas recomendadas para gerenciar configurações de sessão e rastreamento passivo.

Combinar dimensões no nível da página com métricas de sessão

Uma das nuances mais comuns de relatórios ocorre quando você combina dimensões no escopo da página (por exemplo, caminho da página e classe da tela) com a métrica "Sessões" no nível da sessão.

Definições de sessão e visualização

  • Sessões conta os períodos únicos em que um determinado caminho da página foi carregado pelo menos uma vez.

  • Visualizações (visualizações de página) conta o número total cumulativo de vezes que o caminho da página foi carregado.

Exemplo

Considere uma única sessão com o seguinte caminho de navegação do usuário: /home → /products → /home → Sair

Se essa for a única sessão, um relatório configurado com as métricas Caminho da página e classe da tela e Sessões ou Visualizações vai mostrar:

Caminho da página Sessões Visualizações
/home 1 2
/products 1 1
Total (Google Analytics sem duplicação) 1 3

Se você somar as linhas, o resultado será duas sessões, mas o total real da propriedade será desduplicado para uma.

Regras de personalização

  • Sessões com caminho da página se refere a sessões únicas que visitam o caminho pelo menos uma vez.
  • Sessões com página de destino se refere a sessões únicas que começam no caminho. Para ver o tráfego de destino, use sempre Página de destino + string de consulta, em vez de Sessões com caminho da página.
  • As visualizações sempre contam a frequência total de carregamento.

Práticas recomendadas para desenvolvedores e analistas

  • Mantenha os escopos consistentes: não misture dimensões de tráfego no escopo do usuário (por exemplo, Grupo de canais padrão do primeiro usuário) com métricas no escopo da sessão (por exemplo, Duração média da sessão) se o objetivo for entender o desempenho da sessão.
  • Valide session_start no DebugView: durante a fase de controle de qualidade e verificação, use ferramentas de depuração padrão, como o DebugView do Google Analytics, para confirmar se session_start é disparado corretamente no início da sessão.

Práticas recomendadas para gerenciar tempos limite de sessão

A duração padrão de uma sessão do Google Analytics é de 30 minutos.

Não recomendamos implementar um código personalizado para "enviar um ping" periodicamente ao Google Analytics para evitar tempos limite de inatividade. Se você inflar artificialmente as métricas de sessão, isso vai distorcer os dados comportamentais do usuário. Em vez disso, use os recursos integrados do Google Analytics ou segmente eventos de engajamento significativos para oferecer uma solução mais limpa.

Por que pings genéricos de "keep-alive" são uma prática ruim

  • Métricas principais distorcidas: se um usuário sai da guia, ele está realmente inativo. Se você forçar a sessão a permanecer aberta, ela vai criar "sessões zumbis" e inflar falsamente a Duração média da sessão. Isso mascara o ponto real em que os usuários perdem o interesse ou abandonam o site.
  • Impacto nas sessões engajadas: o Google Analytics define uma sessão engajada como aquela que dura mais de 10 segundos, apresenta duas ou mais visualizações de página ou aciona um evento principal (antigo evento de conversão). Se você mantiver uma sessão aberta artificialmente, ela vai parecer engajada, o que infla sua taxa de engajamento.
  • Inchaço de dados e custos: se você disparar constantemente eventos de ping em segundo plano em branco, isso vai aumentar o ruído na contagem de eventos e os custos do data warehouse se você exportar dados do Google Analytics para o BigQuery.

Quando monitorar o engajamento passivo (e como fazer isso)

Há cenários legítimos em que um usuário está ativamente engajado com o conteúdo, mas não aciona eventos de interação padrão do Google Analytics (como cliques ou mudanças de página). Nesses casos, em vez de um ping de atividade genérico, capture eventos de progresso significativos iniciados pelo usuário:

  • Conteúdo de vídeo em formato longo: um usuário que assiste a um vídeo incorporado de 45 minutos permanece passivo por mais de 30 minutos e corre o risco de expiração da sessão.
  • Artigos de investigação: um usuário pode passar 40 minutos lendo um guia técnico e rolar lentamente, mas sem acionar ações de navegação.
  • Aplicativos interativos da Web: os usuários que monitoram feeds ao vivo, cotações de ações ou painéis de dados consomem informações de forma passiva, sem cliques.

Se o usuário minimizar a janela do navegador ou trocar de guia, os pings em segundo plano precisam ser interrompidos.

Exemplo de código: ping de evento com reconhecimento de visibilidade

O padrão JavaScript a seguir demonstra como rastrear o engajamento passivo e respeitar a visibilidade da guia. Ajuste o intervalo de acompanhamento e o valor do parâmetro (por exemplo, 5 minutos ou 300.000 ms) com base no seu caso de uso específico, como a duração típica dos seus vídeos ou artigos longos:

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

Medição otimizada do Google Analytics x acompanhamento personalizado

O Google Analytics conta com a medição otimizada, que lida automaticamente com alguns cenários de acompanhamento passivo, embora tenha limitações específicas.

Tipo de interação Processado pela medição otimizada? Requisitos / ações necessárias
Incorporações de vídeos do YouTube Sim Dispara os marcos video_start, video_complete e video_progress automaticamente em 10%, 25%, 50% e 75% (requer suporte à API JS ativado).
Vídeos que não são do YouTube (HTML5, Vimeo) Não Requer implementação personalizada. Dispare eventos de forma programática usando gtag.js ou gerencie acionadores com o Gerenciador de tags do Google (GTM).
Rolagem de página padrão Parcial Dispara um único evento scroll somente quando o usuário atinge a marca de 90% de uma página.
Progresso de leitura incremental Não Desative o acompanhamento de rolagem padrão do Google Analytics e implemente limites de rolagem personalizados (por exemplo, 25%, 50%, 75%) de forma programática ou no GTM.

A alternativa mais simples: ajustar o limite de tempo da sessão do Google Analytics

Se o site se concentra naturalmente em conteúdo de formato longo, cursos em vídeo ou uso contínuo de apps, não é necessário injetar hacks de script personalizados. É possível ajustar o limite padrão de 30 minutos na interface do Google Analytics até um máximo de 7 horas e 55 minutos. Para instruções, consulte Ajustar o tempo limite da sessão.