Misurare i tempi utente con gtag.js

La riduzione del tempo di caricamento di una pagina può migliorare l'esperienza utente complessiva di un sito. Questa pagina descrive come inviare informazioni sui tempi utente a Google Analytics.

Implementazione

Utilizza il comando event per inviare un evento timing_complete:

gtag('event', 'timing_complete', {<timing_parameters>});

dove <timing_parameters> rappresenta una o più coppie parametro-valore. Separa ogni coppia con una virgola. Ad esempio, questo comando invia un evento di tempo utente a Google Analytics, il che indica che la pagina web corrente ha impiegato 3549 millisecondi per caricare tutte le dipendenze JavaScript esterne.

gtag('event', 'timing_complete', {
  'name' : 'load',
  'value' : 3549,
  'event_category' : 'JS Dependencies'
});

Parametri dei tempi utente

Questa tabella riassume i parametri dei tempi utente:

Nome del parametro Tipo di dati Obbligatorio Descrizione
name string Yes Una stringa per identificare la variabile registrata (ad es. 'load').
value integer Yes Il numero di millisecondi nel tempo trascorso per la segnalazione a Google Analytics (ad es. 20).
event_category string No Una stringa per classificare tutte le variabili dei tempi utente in gruppi logici (ad es. 'JS Dependencies').
event_label string No Una stringa che può essere utilizzata per una maggiore flessibilità nella visualizzazione dei tempi utente nei report (ad es. 'Google CDN').

Misurazione del tempo

L'evento timing_complete richiede un parametro value che specifica il tempo trascorso in millisecondi. Devi scrivere del codice che acquisisca questo valore.

Il modo più semplice per farlo è creare un timestamp all'inizio di un periodo di tempo e un altro timestamp alla fine del periodo. Quindi, calcola il tempo trascorso tra i timestamp.

La maggior parte dei browser moderni supporta l'API Navigation Timing, che include metodi sull'oggetto window.performance per misurare le prestazioni delle pagine web tramite dati temporali ad alta risoluzione.

Nell'esempio seguente viene utilizzato il metodo performance.now(), che restituisce il tempo trascorso da quando è iniziato il caricamento della pagina:

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing event to Google Analytics.
  gtag('event', 'timing_complete', {
    'name': 'load',
    'value': timeSincePageLoad,
    'event_category': 'JS Dependencies'
  });
}

Considerazioni sul campionamento

Google Analytics campionerà gli eventi di temporizzazione per garantire una distribuzione equa delle risorse di sistema per questa funzionalità.

La frequenza con cui gli eventi di tempo vengono campionati è determinata dal numero totale di visualizzazioni di pagina ricevute durante il giorno precedente per la proprietà. La seguente tabella descrive come viene determinata la frequenza di campionamento dei tempi:

Numero totale di visualizzazioni di pagina (giorno precedente) Numero massimo di eventi di tempo che verranno elaborati
0-1000 100
1000 - 100.000 10% del numero totale di visualizzazioni di pagina
100.000-1.000.000 10.000
Oltre 1.000.000 1% del numero totale di visualizzazioni di pagina