l’Invio di Dati a Google Analytics

L’ultima riga di JavaScript misura frammento aggiunge un send il comando ga() comando di coda per inviare una visualizzazione di pagina di Google Analytics:

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

L’oggetto che sta facendo l’invio è il tracker, che era in programma per la creazione nella riga di codice precedente, e i dati che viene inviato è i dati memorizzati sul tracker.,

Questa guida descrive i vari modi per inviare dati a Google Analytics e spiega come controllare quali dati vengono inviati.

Hit, tipi di hit e protocollo di misurazione

Quando un tracker invia dati a Google Analytics si chiama invio di un hit e ogni hit deve avere un tipo di hit., Il tag di Google Analytics invia un colpo di tipo pageview; altri tipi di colpo include screenview event transaction item social exception e timing. Questa guida delinea i concetti e i metodi comuni a tutti i tipi di hit. Le singole guide per ogni tipo di hit sono disponibili nella sezione Misurazione delle interazioni utente comuni nella navigazione a sinistra.,

L’hit è una richiesta HTTP, costituita da coppie di campi e valori codificati come stringa di query e inviati al protocollo di misurazione.

Se hai gli strumenti per gli sviluppatori del tuo browser aperti quando carichi una pagina che utilizza analytics.js, puoi vedere gli hit inviati nella scheda rete. Cerca le richieste inviate a google-analytics.com/collect.

Quali dati vengono inviati

Quando si invia un hit al protocollo di misura, i tracker inviano tutti i campi che sono attualmente memorizzati e sono parametri validi del protocollo di misura., Ad esempio, campi come title e location vengono inviati ma cookieDomain e hitCallback non lo sono.

In alcuni casi, si desidera inviare campi a Google Analytics per l’hit corrente ma non per eventuali hit successivi. Un esempio di questo è un evento hit in cui i campieventAction eeventLabel sono rilevanti solo per l’hit corrente.

Per inviare i campi con il solo hit corrente, puoi passarli come argomenti al metodo send., Per inviare i dati di campo con tutti gli hit successivi, è necessario aggiornare il tracker utilizzando il metodoset.

Il metodo di invio

Il metodosenddi un tracker può essere chiamato direttamente sull’oggetto tracker stesso o aggiungendo un comandosendalla coda di comandiga(). Poiché la maggior parte delle volte non si dispone di un riferimento all’oggetto tracker, utilizzare la coda di comandi ga() è il modo consigliato per inviare i dati del tracker a Google Analytics.,

Utilizzando il ga() comando di coda

La firma per l’aggiunta di un send il comando ga() coda dei comandi come segue:

ga('send', , , );

Come detto sopra, i valori specificati tramite il hitType ...fields e fieldsObject parametri di ottenere il mandato per l’attuale colpo solo. Non vengono memorizzati sull’oggetto tracker, né vengono inviati con hit successivi.,

Se uno qualsiasi dei campi passati con il comandosend è già impostato sull’oggetto tracker, verranno utilizzati i valori passati nel comando anziché i valori memorizzati sul tracker.

Le chiamate al comandosend devono specificare un hitType e, a seconda del tipo specificato, possono essere richiesti anche altri parametri. Per maggiori dettagli, vedere le singole guide per misurare le interazioni comuni dell’utente nella navigazione a sinistra.,

Il modo più semplice per utilizzare il comando send, che funziona per tutti i tipi di hit, è passare tutti i campi usando il parametro fieldsObject. Ad esempio:

ga('send', { hitType: 'event', eventCategory: 'Video', eventAction: 'play', eventLabel: 'cats.mp4'});

Per comodità, alcuni tipi di hit consentono di passare i campi comunemente usati direttamente come argomenti al comando send., Ad esempio, il comando send per il tipo di hit “event” potrebbe essere riscritto come:

ga('send', 'event', 'Video', 'play', 'cats.mp4');

Per un elenco completo di quali campi possono essere passati come argomenti per i vari tipi di hit, vedere la sezione “parametri” del riferimento al metodo send.

Utilizzo di un tracker con nome

Se si utilizza un tracker con nome invece del tracker predefinito, è possibile passare il suo nome nella stringa di comando.,

Il seguente send comando sarà chiamato sul tracker denominato “myTracker”:

ga('myTracker.send', 'event', 'Video', 'play', 'cats.mp4');

il tracker oggetto stesso

Se si dispone di un riferimento all’oggetto tracker, è possibile chiamare tracker send metodo direttamente:

ga(function(tracker) { tracker.send('event', 'Video', 'play', 'cats.mp4');});

Sapere quando il colpo è stato inviato

In alcuni casi, è necessario sapere quando una ha colpito è il fatto di essere inviato a Google Analytics, in modo che si possa intervenire immediatamente in seguito., Questo è comune quando è necessario registrare una particolare interazione che allontanerebbe un utente dalla pagina corrente. Molti browser smettono di eseguire JavaScript non appena la pagina inizia a scaricare, il che significa che le tue analisi.i comandi js per inviare hit potrebbero non essere mai eseguiti.

Un esempio di questo è quando si desidera inviare un evento a Google Analytics per registrare che un utente ha fatto clic sul pulsante di invio di un modulo. Nella maggior parte dei casi, facendo clic sul pulsante Invia inizierà immediatamente a caricare la pagina successiva e qualsiasi comando ga('send', ...) non verrà eseguito.,

La soluzione a questo è intercettare l’evento per fermare lo scarico della pagina. Puoi quindi inviare il tuo hit a Google Analytics come al solito, e una volta che il hit è stato inviato, puoi inviare nuovamente il modulo a livello di codice.

hitCallback

Per ricevere una notifica quando un hit è fatto l’invio, si imposta ilhitCallback campo. hitCallback è una funzione che viene chiamata non appena l’hit è stato inviato con successo.,

L’esempio seguente mostra come annullare l’azione di invio predefinita di un modulo, inviare un hit a Google Analytics e quindi inviare nuovamente il modulo utilizzando la funzione hitCallback:

Gestione dei timeout

L’esempio precedente funziona bene, ma ha un problema serio. Se (per qualsiasi motivo) l’analisi.la libreria js non viene caricata, la funzionehitCallback non verrà mai eseguita. E se la funzionehitCallback non viene mai eseguita, gli utenti non saranno mai in grado di inviare il modulo.,

Ogni volta che si inserisce la funzionalità del sito critico all’interno della funzionehitCallback, è sempre necessario utilizzare una funzione di timeout per gestire i casi in cui l’analisi.la libreria js non viene caricata.

Il prossimo esempio aggiorna il codice precedente per utilizzare un timeout. Se passa un secondo dopo che l’utente fa clic sul pulsante di invio e hitCallback non è stato eseguito, il modulo viene comunque inviato nuovamente.

Se stai utilizzando il modello sopra in molti punti del tuo sito, è probabilmente più semplice creare una funzione di utilità per gestire i timeout.,

La seguente funzione di utilità accetta una funzione come input e restituisce una nuova funzione. Se la funzione restituita viene chiamata prima del periodo di timeout (il timeout predefinito è di un secondo), cancella il timeout e richiama la funzione di input. Se la funzione restituita non viene chiamata prima del periodo di timeout, la funzione di input viene chiamata indipendentemente.

Ora puoi facilmente avvolgere tutte le funzionihitCallback con un timeout per assicurarti che il tuo sito funzioni come previsto anche nei casi in cui i tuoi hit non riescono a inviare o l’analisi.la libreria js non viene mai caricata.,

Specificare diversi meccanismi di trasporto

Per impostazione predefinita, analytics.js sceglie il metodo HTTP e il meccanismo di trasporto con cui inviare in modo ottimale gli hit. Le tre opzioni sono: 'image' (utilizzando un Image oggetto), 'xhr' (utilizzando un XMLHttpRequest oggetto), o 'beacon' utilizzando il nuovo navigator.sendBeacon metodo.

I primi due metodi condividono il problema descritto nella sezione precedente (dove spesso gli hit non vengono inviati se la pagina viene scaricata)., Il metodonavigator.sendBeacon, al contrario, è una nuova funzionalità HTML creata per risolvere questo problema.

Se il browser dell’utente supporta il navigator.sendBeacon, è possibile specificare 'beacon' come il transport meccanismo e non devono preoccuparsi di impostare un callback hit.

Il seguente codice imposta il meccanismo di trasporto su 'beacon' nei browser che lo supportano.

ga('create', 'UA-XXXXX-Y', 'auto');// Updates the tracker to use `navigator.sendBeacon` if available.ga('set', 'transport', 'beacon');

La misurazione di determinati tipi di interazioni utente può talvolta richiedere implementazioni complesse., Tuttavia, in molti casi queste implementazioni sono già state sviluppate e rese disponibili come analisi.plugin js. La prossima guida spiega come utilizzare analytics.plugin js con la coda di comandiga().

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *