Per ottenere e impostare i dati dei campi su un tracker, a volte è necessario fare riferimento all'oggetto del tracker stesso. Poiché i comandi aggiunti alla coda di comandi ga()
vengono eseguiti in modo asincrono e non restituiscono un valore; inoltre, dato che i tracker vengono creati più comunemente utilizzando il comando create
, ottenere un riferimento a un oggetto tracker richiede l'esecuzione dopo l'esecuzione del comando create
. A tal fine, puoi utilizzare il callback pronto.
Il callback pronto
Il callback pronto è una funzione che puoi aggiungere alla coda di comandi di ga()
. La funzione viene richiamata non appena la libreria analytics.js viene completamente caricata e tutti i comandi precedenti aggiunti alla coda sono stati eseguiti.
Poiché tutti i comandi nella coda vengono eseguiti in ordine, l'aggiunta di un callback pronto alla coda dopo l'aggiunta di un comando create
garantisce che il callback pronto venga eseguito dopo la creazione del tracker. Se un tracker predefinito è stato creato quando viene richiamato un callback pronto, viene trasmesso 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);
});
Recupero dei tracker tramite metodi oggetto GA
Se non utilizzi un tracker predefinito o se hai più di un tracker nella pagina, puoi accedere a tali tracker tramite uno dei metodi degli oggetti ga
.
Una volta caricata completamente la libreria analytics.js, vengono aggiunti altri metodi all'oggetto ga
stesso. Due di questi metodi, getByName
e getAll
, vengono utilizzati per accedere agli oggetti del 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 dati memorizzati su un tracker
Una volta fatto 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 del tracker possono essere aggiornati utilizzando il metodo set
. Il metodo set
di un tracker può essere chiamato su un oggetto del tracker stesso o aggiungendo un comando set
alla coda dei comandi ga()
.
Per ottenere un riferimento a un oggetto tracker è necessario utilizzare il callback pronto, quindi la coda dei comandi ga()
è il metodo consigliato per aggiornare un tracker.
La coda di comandi ga()
Il comando set
può essere richiamato in due modi: passando due parametri, un campo e il valore corrispondente, o trasmettendo un oggetto di coppie campo/valore.
L'esempio seguente imposta il campo page
su '/about'
nel tracker predefinito:
ga('set', 'page', '/about');
Questo esempio imposta contemporaneamente i campi page
e title
:
ga('set', {
page: '/about',
title: 'About Us'
});
Uso di un tracker con nome
Se stai utilizzando un tracker denominato invece del tracker predefinito, puoi trasmetterne il nome nella stringa di comando.
La seguente chiamata imposta il campo page
sul tracker chiamato "myTracker":
ga('myTracker.set', 'page', '/about');
Sull'oggetto del tracker stesso
Se hai un riferimento all'oggetto del tracker, puoi chiamare direttamente il metodo set
di tale tracker:
ga(function(tracker) {
tracker.set('page', '/about');
});
Sintassi della e commerciale
In genere, i campi dei tracker vengono impostati e impostati utilizzando i nomi dei campi. Consulta il riferimento sui campi per un elenco completo dei campi analytics.js e i relativi nomi.
Un modo alternativo per recuperare e impostare i campi consiste nel fare riferimento a questi ultimi dai nomi corrispondenti dei nomi dei parametri di Measurement Protocol.
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 della e commerciale non è consigliata e deve essere utilizzata solo quando il nome del campo analytics.js non esiste per un parametro di Measurement Protocol. Questo a volte si verifica se una nuova funzionalità viene aggiunta a Measurement Protocol prima di essere implementata in analytics.js.
Passaggi successivi
Ora che sai come creare i tracker e aggiornare i dati memorizzati al loro interno, il passaggio successivo è scoprire come inviare questi dati a Google Analytics per l'elaborazione.