Recupero e impostazione dei dati dei campi

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.