Come funziona analytics.js

Quasi tutto quello che ti serve misurare con analytics.js è possibile utilizzando la coda di comando di ga(). Questa guida spiega cos'è la coda di comandi, come funziona e come eseguire comandi per misurare le interazioni degli utenti.

La coda di comandi ga

Il tag Google Analytics definisce una funzione ga globale nota come "coda di comando". Viene chiamata coda di comando perché, anziché eseguire i comandi che riceve immediatamente, li aggiunge a una coda che ne ritarda l'esecuzione fino al caricamento completo della libreria analytics.js.

In JavaScript, le funzioni sono anche oggetti, il che significa che possono contenere proprietà. Il tag Google Analytics definisce una proprietà q nell'oggetto funzione ga come un array vuoto. Prima che venga caricata la libreria analytics.js, chiamare la funzione ga() aggiunge l'elenco di argomenti passati alla funzione ga() alla fine dell'array q.

Ad esempio, se esegui il tag Google Analytics e registri immediatamente i contenuti di ga.q nella console, viene visualizzato un array di due elementi di lunghezza, contenente i due insiemi di argomenti già passati alla funzione ga():

console.log(ga.q);

// Outputs the following:
// [
//   ['create', 'UA-XXXXX-Y', 'auto'],
//   ['send', 'pageview']
// ]

Una volta caricata la libreria analytics.js, ispeziona i contenuti dell'array ga.q ed esegue ciascun comando in ordine. In seguito, la funzione ga() viene ridefinita, quindi tutte le chiamate successive vengono eseguite immediatamente.

Questo pattern consente agli sviluppatori di utilizzare la coda di comandi ga() senza doversi preoccupare se il caricamento della libreria analytics.js è terminato o meno. Fornisce un'interfaccia semplice e sincrona che astrae la maggior parte delle complessità del codice asincrono.

Aggiunta di comandi alla coda

Tutte le chiamate alla coda dei comandi ga() condividono una firma comune. Il primo parametro, "command", è una stringa che identifica un determinato metodo analytics.js. Eventuali parametri aggiuntivi sono gli argomenti passati a quel metodo.

Il metodo a cui fa riferimento un determinato comando può essere un metodo globale, come create, un metodo nell'oggetto ga o un metodo di istanza su un oggetto tracker, come send. Se la coda di comandi ga() riceve un comando che non riconosce, lo ignora semplicemente, pertanto le chiamate alla funzione ga() sono molto sicure, perché quasi mai generano errori.

Per un elenco completo di tutti i comandi che possono essere eseguiti tramite la coda di comandi, consulta la guida alla coda dei comandi di ga().

Parametri di comando

La maggior parte dei comandi analytics.js (e dei relativi metodi) accetta parametri in diversi formati. Questa operazione viene eseguita per facilitare il trasferimento dei campi di uso comune a determinati metodi.

Ad esempio, considera i due comandi nel tag Google Analytics:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

Nel primo comando, create accetta i campi trackingId, cookieDomain e name come facoltativi, rispettivamente, come secondo, terzo e quarto parametro. Il comando send accetta un secondo parametro facoltativo hitType.

Tutti i comandi accettano un parametro fieldsObject finale che può essere utilizzato anche per specificare i campi. Ad esempio, i due comandi riportati sopra nel tag potrebbero essere scritti di nuovo:

ga('create', {
  trackingId: 'UA-XXXXX-Y',
  cookieDomain: 'auto'
});
ga('send', {
  hitType: 'pageview'
});

Consulta il riferimento della coda di comandi ga() per un elenco completo dei parametri facoltativi consentiti per ciascuno dei comandi.

Passaggi successivi

Dopo aver letto questa guida dovresti avere una buona comprensione di come eseguire i comandi con analytics.js e di come funziona la coda di comandi. La guida successiva illustra come creare oggetti tracker.