Per ottenere e impostare i dati dei campi su un tracker, a volte è necessario un riferimento all'oggetto tracker stesso. Poiché i comandi aggiunti alla coda dei comandi ga()
vengono eseguiti in modo asincrono e non restituiscono un valore e dato che i tracker vengono creati per lo più utilizzando il comando create
, per ottenere un riferimento a un oggetto tracker è necessario attendere fino all'esecuzione del comando create
. Puoi farlo tramite il callback pronto.
Il callback pronto
Il callback pronto è una funzione che puoi aggiungere alla coda dei comandi ga()
. La funzione viene richiamata non appena la libreria analytics.js viene caricata completamente e tutti i comandi aggiunti in precedenza alla coda sono stati eseguiti.
Poiché tutti i comandi alla coda vengono eseguiti in ordine, l'aggiunta di un callback pronto alla coda dopo l'aggiunta di un comando create
garantisce che il callback venga eseguito dopo la creazione del tracker. Se è stato creato un tracker predefinito quando viene richiamato un callback pronto, questo viene passato come primo (e unico) argomento del callback.
Il seguente codice mostra come accedere all'oggetto tracker predefinito e registrarlo nella console:
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the tracker created above to the console.
console.log(tracker);
});
Ottenere tracker tramite i metodi degli oggetti GA
Se non utilizzi un tracker predefinito o se nella pagina sono presenti più tracker, puoi accedere a tali tracker tramite uno dei metodi oggetto ga
.
Una volta caricata completamente la libreria analytics.js, aggiunge altri metodi all'oggetto ga
. Due di questi metodi, getByName
e getAll
, vengono utilizzati per accedere agli oggetti tracker.
getByName
Se conosci il nome del tracker a cui vuoi accedere, puoi farlo utilizzando il metodo getByName
:
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
ga(function() {
// Logs the "myTracker" tracker object to the console.
console.log(ga.getByName('myTracker'));
});
getAll
Per ottenere un array di tutti i tracker creati, utilizza il metodo getAll
:
ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');
ga(function() {
// Logs an array of all tracker objects.
console.log(ga.getAll());
});
Recupero dei dati memorizzati su un tracker
Una volta ottenuto un riferimento a un oggetto tracker, puoi utilizzare il metodo get
per accedere al valore di qualsiasi campo attualmente memorizzato sul tracker.
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the trackers name.
// (Note: default trackers are given the name "t0")
console.log(tracker.get('name'));
// Logs the client ID for the current user.
console.log(tracker.get('clientId'));
// Logs the URL of the referring site (if available).
console.log(tracker.get('referrer'));
});
Aggiorna dati
Gli oggetti tracker possono essere aggiornati utilizzando il metodo set
. Il metodo set
di un tracker può essere chiamato su un oggetto tracker stesso o aggiungendo un comando set
alla coda dei comandi ga()
.
Poiché per ottenere un riferimento a un oggetto tracker è necessario utilizzare il callback pronto, l'uso della coda dei comandi ga()
è il modo consigliato per aggiornare un tracker.
Coda di comando ga()
Il comando set
può essere richiamato in due modi: trasmettendo due parametri, un campo e il valore corrispondente, o passando un oggetto di coppie campo/valore.
Nell'esempio seguente il campo page
è impostato su '/about'
nel tracker predefinito:
ga('set', 'page', '/about');
In questo esempio i campi page
e title
vengono impostati contemporaneamente:
ga('set', {
page: '/about',
title: 'About Us'
});
Utilizzo di un tracker denominato
Se stai utilizzando un tracker denominato anziché il tracker predefinito, puoi trasmetterne il nome nella stringa di comando.
La seguente chiamata imposta il campo page
sul tracker denominato "myTracker":
ga('myTracker.set', 'page', '/about');
Sull'oggetto tracker stesso
Se disponi di un riferimento all'oggetto tracker, puoi chiamare direttamente il metodo set
di quel tracker:
ga(function(tracker) {
tracker.set('page', '/about');
});
Sintassi E commerciale
I campi dei tracker vengono solitamente recuperati e impostati utilizzando i relativi nomi dei campi. Per un elenco completo dei campi di analytics.js e dei relativi nomi, consulta il riferimento di campo.
Un modo alternativo per recuperare e impostare i campi consiste nel farvi riferimento dai nomi dei nomi dei parametri di Measurement Protocol corrispondenti.
Ad esempio, le seguenti due espressioni console.log
registrano entrambe il titolo del documento nella console:
ga(function(tracker) {
// Gets the title using the analytics.js field name.
console.log(tracker.get('title'));
// Gets the title using the measurement protocol
// parameter name, prefixed with an ampersand.
console.log(tracker.get('&dt'));
});
In generale, la sintassi e commerciale non è consigliata e deve essere utilizzata solo quando non esiste il nome del campo analytics.js per un parametro Measurement Protocol (a volte succede se viene aggiunta una nuova funzionalità a Measurement Protocol prima che venga implementata in analytics.js).
Passaggi successivi
Ora che sai come creare tracker e aggiornare i dati memorizzati, il passaggio successivo è imparare a inviare i dati a Google Analytics per l'elaborazione.