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 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.
Accoppiare dimensioni a livello di pagina con metriche di sessione
Una delle sfumature più comuni dei report si verifica quando abbini dimensioni 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 cumulativo totale di volte in cui è stato caricato il percorso della pagina.
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 (dati deduplicati 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 sul percorso. Per visualizzare il traffico di destinazione, utilizza sempre Pagina di destinazione + stringa di query anziché Sessioni con percorso pagina.
- Visualizzazioni conteggia sempre la frequenza di caricamento totale.
Best practice per sviluppatori e analisti
- Mantieni gli ambiti coerenti: non combinare dimensioni del traffico basate sugli utenti (ad esempio, Gruppo di canali predefinito del primo utente) con metriche basate sulle sessioni (ad esempio, Durata media sessione) se il tuo obiettivo è comprendere il rendimento delle sessioni.
- Convalida
session_startin DebugView: durante la fase di controllo qualità e verifica, utilizza strumenti di debug standard come Google Analytics DebugView per verificare chesession_startvenga attivato correttamente all'inizio della sessione.
Best practice per la gestione dei timeout di sessione
La durata predefinita di una sessione Google Analytics è 30 minuti.
Non consigliamo di implementare codice personalizzato per "pingare" periodicamente Google Analytics per evitare timeout per inattività. Se aumenti artificialmente le metriche delle sessioni, i dati sul comportamento 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 "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, vengono create "sessioni zombie" e la durata media della sessione viene gonfiata in modo errato. In questo modo, viene mascherato il punto esatto 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 o attiva un evento chiave (in precedenza evento di conversione). Se mantieni aperta artificialmente una sessione, questa viene visualizzata come sessione con coinvolgimento, il che gonfia il tasso di coinvolgimento.
- Aumento dei dati e costi: se attivi costantemente eventi 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 gli eventi di interazione standard di Google Analytics (come clic o cambiamenti di 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 e rischia la scadenza della sessione.
- Articoli di approfondimento:un utente potrebbe impiegare 40 minuti per leggere una guida tecnica e scorrere lentamente senza attivare azioni di navigazione.
- Applicazioni web interattive:gli utenti che monitorano feed live, ticker azionari o dashboard di 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 interrompersi.
Esempio di codice: ping evento sensibile 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 tuoi video o degli articoli in formato lungo:
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 offre la funzionalità Misurazione avanzata, che gestisce automaticamente alcuni scenari di monitoraggio passivo, anche se presenta limitazioni specifiche.
| Tipo di interazione | Gestito dalla misurazione avanzata? | Requisiti / attività |
|---|---|---|
| Incorporamenti di video di YouTube | Sì | Attiva automaticamente i traguardi 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 scroll evento solo quando l'utente raggiunge il 90% di una pagina. |
| Progresso di lettura incrementale | No | Disattiva il monitoraggio dello scorrimento predefinito di Google Analytics e implementa soglie di scorrimento personalizzate (ad esempio 25%, 50%, 75%) a livello di programmazione o in GTM. |
L'alternativa più pulita: modifica il limite di timeout della sessione di Google Analytics
Se il tuo sito web è incentrato naturalmente su contenuti nel formato lungo, corsi video o utilizzo continuo dell'app, non devi inserire hack di script personalizzati. Puoi modificare la soglia predefinita di 30 minuti all'interno dell'interfaccia di Google Analytics fino a un massimo di 7 ore e 55 minuti. Per le istruzioni, vedi Modificare il timeout della sessione.