Misurare le sessioni e il coinvolgimento degli utenti

Per panoramiche concettuali degli ambiti utente e sessione, incluso il modo in cui Google Analytics definisce e limita rigorosamente le sessioni in base all'inattività, consulta Dimensioni e metriche: informazioni sulle sessioni di Analytics e la guida agli ambiti delle dimensioni delle sorgenti di traffico.

Questa guida illustra le sfide specifiche per gli sviluppatori e le best practice per gestire le configurazioni delle sessioni e il monitoraggio passivo.

Associa le dimensioni a livello di pagina alle metriche di sessione

Una delle sfumature più comuni dei report si verifica quando abbini le dimensioni con ambito pagina (ad esempio, percorso pagina e classe schermata) alla metrica Sessioni a livello di sessione.

Definizioni di sessione e visualizzazione

  • Sessioni conteggia i periodi di tempo unici durante i quali un determinato percorso pagina è stato caricato almeno una volta.

  • Visualizzazioni (visualizzazioni di pagina) conteggia il numero totale cumulativo di volte in cui il percorso pagina è stato caricato.

Esempio

Prendiamo in considerazione una singola sessione con il seguente percorso di navigazione dell'utente: /home → /products → /home → Uscita

Se questa è l'unica sessione, un report configurato con Percorso pagina e classe schermata e le metriche Sessioni o Visualizzazioni mostra:

Percorso pagina Sessioni Visualizzazioni
/home 1 2
/products 1 1
Totale (con deduplicazione di Google Analytics) 1 3

Se sommi le righe, ottieni 2 sessioni, ma il totale effettivo della proprietà viene deduplicato a 1.

Regole di personalizzazione

  • Sessioni con percorso pagina si riferisce alle sessioni uniche che visitano il percorso almeno una volta.
  • Sessioni con pagina di destinazione si riferisce alle sessioni uniche che iniziano nel percorso. Per visualizzare il traffico di destinazione, utilizza sempre Pagina di destinazione + stringa di query anziché Sessioni con percorso pagina.
  • Le visualizzazioni conteggiano sempre la frequenza di caricamento totale.

Best practice per sviluppatori e analisti

  • Mantieni gli ambiti coerenti: non combinare le dimensioni del traffico basate sugli utenti (ad esempio, Gruppo di canali predefinito della prima interazione dell'utente) con le metriche basate sulle sessioni (ad esempio, Durata media della sessione) se il tuo obiettivo è comprendere il rendimento delle sessioni.
  • Convalida session_start in DebugView: durante la fase di controllo qualità e verifica, utilizza strumenti di debug standard come DebugView di Google Analytics per confermare che session_start si attivi correttamente all'avvio della sessione.

Best practice per la gestione dei timeout della sessione

La durata predefinita di una sessione di Google Analytics è di 30 minuti.

Sconsigliamo di implementare un codice personalizzato per inviare periodicamente un "ping" a Google Analytics per evitare i timeout di inattività. Se aumenti artificialmente le metriche delle sessioni, i dati comportamentali degli utenti vengono distorti. Utilizza invece le funzionalità integrate di Google Analytics o scegli come target eventi di coinvolgimento significativi per offrire una soluzione più pulita.

Perché i ping generici "keep-alive" sono una cattiva pratica

  • Metriche principali distorte: se un utente si allontana dalla scheda, è effettivamente inattivo. Se forzi la sessione a rimanere aperta, crei "sessioni zombie" e aumenti artificialmente la durata media della sessione. In questo modo, viene nascosto il punto reale in cui gli utenti perdono interesse o abbandonano il sito.
  • Impatto sulle sessioni con coinvolgimento: Google Analytics definisce una sessione con coinvolgimento come una sessione che dura più di 10 secondi, presenta 2 o più visualizzazioni di pagina o attiva un evento chiave (precedentemente evento di conversione). Se mantieni artificialmente aperta una sessione, questa appare come con coinvolgimento, il che aumenta il tasso di coinvolgimento.
  • Costi e sovraccarico dei dati: se attivi costantemente eventi di ping in background vuoti, aumenti il rumore del conteggio degli eventi e i costi del data warehouse se esporti i dati di Google Analytics in BigQuery.

Quando monitorare il coinvolgimento passivo (e come farlo)

Esistono scenari legittimi in cui un utente interagisce attivamente con i contenuti, ma non attiva eventi di interazione standard di Google Analytics (come clic o modifiche alla pagina). In questi casi, anziché un ping keep-alive generico, acquisisci eventi di avanzamento significativi avviati dall'utente:

  • Contenuti video nel formato lungo: un utente che guarda un video incorporato di 45 minuti rimarrà passivo per oltre 30 minuti, rischiando la scadenza della sessione.
  • Articoli di approfondimento: un utente potrebbe impiegare 40 minuti per leggere una guida tecnica e scorrere lentamente, ma non attivare azioni di navigazione.
  • Applicazioni web interattive: gli utenti che monitorano feed in diretta, ticker azionari o dashboard di dati consumano informazioni passivamente senza fare clic.

Se l'utente riduce a icona la finestra del browser o cambia scheda, i ping in background devono interrompersi.

Esempio di codice: ping di evento sensibile alla visibilità

Il seguente pattern JavaScript mostra come monitorare il coinvolgimento passivo e rispettare la visibilità della scheda. Regola l'intervallo di monitoraggio e il valore del parametro (ad esempio 5 minuti o 300.000 ms) in base al tuo caso d'uso specifico, ad esempio la durata tipica dei tuoi video o articoli di lunga lettura:

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

Misurazione avanzata di Google Analytics e monitoraggio personalizzato

Google Analytics include la misurazione avanzata, che gestisce automaticamente alcuni scenari di monitoraggio passivo, anche se presenta limitazioni specifiche.

Tipo di interazione Gestito dalla misurazione avanzata? Requisiti/attività
Video di YouTube incorporati Sì Attiva automaticamente le tappe video_start, video_complete e video_progress al 10%, 25%, 50% e 75% (richiede l'attivazione del supporto dell'API JS).
Video non di YouTube (HTML5, Vimeo) No Richiede un'implementazione personalizzata. Attiva gli eventi in modo programmatico utilizzando gtag.js o gestisci gli attivatori utilizzando Google Tag Manager (GTM).
Scorrimento standard della pagina Parziale Attiva un singolo evento scroll solo quando l'utente raggiunge il 90% di una pagina.
Avanzamento incrementale della lettura No Disattiva il monitoraggio dello scorrimento predefinito di Google Analytics e implementa soglie di scorrimento personalizzate (ad es. 25%, 50%, 75%) in modo programmatico o in GTM.

L'alternativa più semplice: modifica il limite di timeout della sessione di Google Analytics

Se il tuo sito web si concentra naturalmente su contenuti nel formato esteso, corsi video o un utilizzo continuo dell'app, non è necessario inserire hack di script personalizzati. Puoi modificare la soglia predefinita di 30 minuti nell'interfaccia di Google Analytics fino a un massimo di 7 ore e 55 minuti. Per istruzioni, consulta Modifica il timeout della sessione.