Medir sessões e o engajamento do usuário

Para conferir 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 Google Analytics e o guia sobre Escopos das dimensões de origem do tráfego.

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

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

Uma das nuances de relatórios mais comuns ocorre quando você pareia 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 (deduplicado pelo Google Analytics) 1 3

Se você somar as linhas, o resultado será duas sessões, mas o total verdadeiro de propriedades será deduplicado para 1.

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, sempre use Página de destino + string de consulta em vez de Sessões com caminho da página.
  • 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 a performance da sessão.
  • Validar 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 é acionado 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 "pingar" o Google Analytics periodicamente e evitar tempos limite de inatividade. Se você aumentar artificialmente as métricas de sessão, os dados de comportamento do usuário serão distorcidos. Em vez disso, use os recursos integrados do Google Analytics ou segmentar 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 se afasta da guia, ele fica genuinamente inativo. Se você forçar a sessão a ficar aberta, isso vai criar "sessões zumbi" e aumentar falsamente a Duração média da sessão. Isso mascara o verdadeiro ponto em que os usuários perdem o interesse ou abandonam seu site.
  • Impacto nas sessões engajadas:o Google Analytics define uma sessão engajada como aquela que dura mais de 10 segundos, tem 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 aumenta sua taxa de engajamento.
  • Inflação de dados e custos:se você aciona constantemente eventos de ping em segundo plano em branco, isso aumenta o ruído na contagem de eventos e eleva os custos do data warehouse se você exportar dados do Google Analytics para o BigQuery.

Quando rastrear o engajamento passivo (e como fazer isso)

Há cenários legítimos em que um usuário interage ativamente 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 manutenção genérico, capture eventos de progresso significativos iniciados pelo usuário:

  • Conteúdo de vídeo mais longo:um usuário que assiste 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 a tela lentamente sem acionar nenhuma ação de navegação.
  • Aplicativos da Web interativos:os usuários que monitoram feeds ao vivo, tickers 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 mudar de guia, os pings em segundo plano precisarão 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 rastreamento 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 tem a Medição otimizada, que processa automaticamente alguns cenários de rastreamento passivo, mas tem 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 Aciona automaticamente os marcos video_start, video_complete e video_progress em 10%, 25%, 50% e 75% (requer suporte da API JS habilitado).
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 Google Tag Manager (GTM).
Rolagem de página padrão Parcial Aciona 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 rastreamento 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 limite da sessão do Google Analytics

Se o site se concentra naturalmente em conteúdo 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 para um máximo de 7 horas e 55 minutos. Para instruções, consulte Ajustar o tempo limite da sessão.