Come funziona analytics.js

Quasi tutto ciò di cui hai bisogno per misurare con analytics.js può essere fatto utilizzando la coda di comando ga(). Questa guida spiega cos'è la coda dei comandi, come funziona e come eseguire i comandi per misurare le interazioni degli utenti.

Coda di comando ga

Il tag Google Analytics definisce una funzione ga globale nota come "coda di comandi". È detta coda dei comandi perché, anziché eseguire immediatamente i comandi ricevuti, li aggiunge a una coda che ritarda l'esecuzione finché la libreria analytics.js non è completamente caricata.

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 del caricamento della libreria analytics.js, la chiamata della funzione ga() aggiunge l'elenco di argomenti passati alla funzione ga() alla fine dell'array q.

Ad esempio, se eseguissi il tag Google Analytics e poi registri immediatamente i contenuti di ga.q nella console, vedrai un array di due elementi 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 esamina i contenuti dell'array ga.q ed esegue ogni comando in ordine. Dopodiché, la funzione ga() viene ridefinita, in modo che tutte le chiamate successive vengano eseguite immediatamente.

Questo pattern consente agli sviluppatori di utilizzare la coda dei comandi ga() senza doversi preoccupare del termine del caricamento della libreria analytics.js. Fornisce una semplice interfaccia dall'aspetto sincrona che elimina la maggior parte delle complessità del codice asincrono.

Aggiunta di comandi alla coda in corso...

Tutte le chiamate alla coda dei comandi ga() condividono una firma comune. Il primo parametro, "command", è una stringa che identifica un particolare metodo analytics.js. Eventuali parametri aggiuntivi sono gli argomenti che vengono 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 istanza su un oggetto tracker, come send. Se la coda dei comandi ga() riceve un comando che non riconosce, lo ignora semplicemente, rendendo le chiamate alla funzione ga() molto sicure, poiché non genereranno quasi mai un errore.

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

Parametri del comando

La maggior parte dei comandi analytics.js (e i metodi corrispondenti) accetta parametri in diversi formati. Questa operazione viene effettuata per comodità, per semplificare il trasferimento di campi di uso comune a determinati metodi.

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

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

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

Tutti i comandi accettano un parametro fieldsObject finale che può essere utilizzato anche per specificare qualsiasi campo. Ad esempio, i due comandi precedenti nel tag potrebbero essere riscritti come:

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

Consulta la documentazione di riferimento della coda dei comandi di 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 come funziona la coda dei comandi. La prossima guida illustra come creare oggetti tracker.