Recupero e impostazione dei dati dei campi

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.