Misurare le sessioni e il coinvolgimento degli utenti

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

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

Associare le dimensioni a livello di pagina alle metriche di sessione

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

Definizioni di sessione e visualizzazione

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

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

Esempio

Considera una singola sessione con il seguente percorso di navigazione dell'utente: /home/products/home → Esci

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

Percorso pagina Sessioni Visualizzazioni
/home 1 2
/products 1 1
Totale (Google Analytics deduplicato) 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 sul percorso. Per visualizzare il traffico di destinazione, utilizza sempre Pagina di destinazione + stringa di query anziché Sessioni con percorso pagina.
  • Visualizzazioni conta sempre la frequenza di caricamento totale.

Best practice per sviluppatori e analisti

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

Best practice per la gestione dei timeout delle sessioni

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

Non è consigliabile implementare codice personalizzato per eseguire periodicamente il "ping" di Google Analytics per evitare i timeout di inattività. Se aumenti artificialmente le metriche di sessione, i dati sul comportamento degli utenti vengono distorti. Utilizza invece le funzionalità integrate di Google Analytics o scegli eventi di coinvolgimento significativi per offrire una soluzione più pulita.

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

  • Metriche principali distorte:se un utente si allontana dalla scheda, è effettivamente inattivo. Se forzi la sessione a rimanere aperta, crei "sessioni zombie" e aumenti falsamente la durata media della sessione. In questo modo, non viene visualizzato il punto effettivo in cui gli utenti perdono interesse o abbandonano il tuo sito.
  • Impatto sulle sessioni con coinvolgimento:Google Analytics definisce una sessione con coinvolgimento come una sessione che dura più di 10 secondi, include 2 o più visualizzazioni di pagina oppure attiva un evento chiave (in precedenza evento di conversione). Se mantieni artificialmente aperta una sessione, questa viene visualizzata come coinvolgente, il che aumenta il tasso di coinvolgimento.
  • Aumento dei dati e dei costi: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 è attivamente coinvolto con i contenuti, ma non attiva gli eventi di interazione standard di Google Analytics (come clic o modifiche della pagina). In questi casi, anziché un ping keep-alive generico, acquisisci eventi di avanzamento significativi avviati dall'utente:

  • Contenuti video di lunga durata:un utente che guarda un video incorporato di 45 minuti rimarrà passivo per più di 30 minuti e rischia la scadenza della sessione.
  • Articoli approfonditi: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 live, ticker azionari o dashboard dei dati consumano informazioni in modo passivo senza clic.

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

Esempio di codice: ping di eventi sensibili alla visibilità

Il seguente pattern JavaScript mostra come monitorare il coinvolgimento passivo e rispettare la visibilità delle schede. Modifica 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 video o degli articoli di lunga durata:

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 rispetto al monitoraggio personalizzato

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

Tipo di interazione Gestita dalla misurazione avanzata? Requisiti / azioni
Video di YouTube incorporati Attiva automaticamente le milestone video_start, video_complete e video_progress al 10%, 25%, 50% e 75% (richiede il supporto dell'API JS).
Video non di YouTube (HTML5, Vimeo) No Richiede un'implementazione personalizzata. Attiva gli eventi a livello di programmazione utilizzando gtag.js o gestisci i trigger 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 le soglie di scorrimento personalizzate (ad esempio, 25%, 50%, 75%) a livello di programmazione o in GTM.

L'alternativa più pulita: modificare il limite di timeout della sessione di Google Analytics

Se il tuo sito web è incentrato naturalmente su contenuti di lunga durata, corsi video o sull'utilizzo continuo delle app, non devi 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 le istruzioni, vedi Modificare il timeout della sessione.