Tracciamenti specifici con Google Analytics

18/10/2019

Come tracciare conversioni cross device senza la funzione user id

Mi è capitato di trovarmi di fronte a un numero significativo di conversioni attribuite al canale diretto in Google Analytics. Le cause di questo fenomeno possono essere molteplici e non voglio elencare in questo articolo quelle classiche (installate il codice di Google Analytics o di Google Tag Manager in tutte le pagine del sito!), bensì soffermarmi su un caso molto particolare.

SCENARIO

Immaginate di essere in procinto di acquistare un articolo in un negozio online dal vostro computer. All’ultimo step, magari perché avete scelto un particolare metodo di pagamento (per esempio il contrassegno), vi viene chiesto di confermare il carrello facendo click su un link a una mail che vi è stata appena spedita. Lo schermo del vostro telefono si illumina mostrando la notifica della mail sopra citata, voi la aprite, fate click sul link che atterra sulla Thank You Page dell’ordine e…. l’acquisto appena effettuato è stato attribuito al canale diretto, perdendo così la sorgente originale! Vi potete accorgere di questo comportamento in Google Analytics andando a vedere se esistono delle sessioni attribuite al canale diretto la cui pagina di destinazione è la Thank You Page degli ordini completati (rapporto Acquisizione->Tutto il traffico->Canali, click sul canale Direct per visualizzare le pagine di destinazione, filtrate sulla vostra thank you page).

SOLUZIONE

Ora, la soluzione ovvia e (in una situazione normale) corretta, sarebbe quella di impostare la funzione user id di Google Analytics, magari utilizzando come id la mail crittografata in modo irreversibile. Purtroppo però non è questo il nostro caso, infatti sul portale e in Google Analytics la funzione user id è già stata impostata correttamente utilizzando l’id progressivo con cui l’utente è registrato nel database. Inoltre, il sito permette di effettuare acquisti senza creare un account (checkout come ospite), opzione a quanto pare preferita dagli utenti.

La soluzione a questo problema è un pò profana (alla fine dell’articolo spiego perchè), prevede un passaggio lato server e un particolare setting su Google Tag Manager o la modifica del codice di monitoraggio (se usate ancora questo sistema per tracciare con Google Analytics). Si basa su una gestione personalizzata del client id, l’identificatore del browser dell’utente salvato in un cookie (il cookie _ga). I passaggi sono i seguenti:

1. Quando l’utente conferma il carrello, la chiamata che viene fatta al server deve includere il valore del cliente id. Per fare questo è sufficiente leggere il valore del cookie _ga prendendo gli ultimi due valori separati da punto. Quindi per esempio se il valore del cookie _ga è GA1.2.2032619236.1571260944, il client id sarà 2032619236.1571260944

2. Lato server il valore del client id va passato alla URL della Thank You Page presente nella mail che verrà spedita all’utente. Quindi se il link alla thank you page ha una URL del tipo https://www.shop/tp.php Sarà sufficiente valorizzare un parametro in questo modo https://www.shop/tp.php?client-id=52032619236.1571260944.

3. Nella Thank You Page, a livello di codice di monitoraggio, sia esso gestito con Google Tag Manager o con in codice direttamente nella pagina, va fatto un setting condizionato in base alla presenza del parametro nella URL. Se gestite Google Analytics con Google Tag Manager centralizzando la configurazione in una variabile di tipo Impostazioni di Google Analytics, le operazioni da compiere sono 4.

STEP 1

Creare una variabile di tipo URL specificando come Tipo di componente Query e come chiave query il nome del parametro che abbiamo usato per passare il client id (nel nostro caso client-id). Va inoltre formattato il valore in modo che i valori null e undefined vengano entrambi convertiti in false.

STEP 2 E 3

Ora dobbiamo creare due variabili di tipo tabelle di ricerca che quando non è presente il parametro client-id nella Thank You Page (la variabile appena creata ha valore false) assumono entrambe il valore di stringa vuota. Se invece il parametro client-id è presente nell’URL, una variabile assumerà la chiave usata da Google Analytics per identificare il client id (clientId), l’altra assumerà il valore del client id (fornito dalla variabile creata al primo passaggio).

STEP 4

Ora non ci resta che usare le due variabili appena create nella sezione campi da impostare nella variabile Impostazioni di Google Analytics. In particolare come nome capo utilizzeremo clientIdKeyOrBlank e come valore useremo clientIdOrBlank.

In questo modo se è presente il parametro nell’URL, il suo valore verrà usato per valorizzare il client id, altrimenti verrà utilizzato il valore presente nel cookie (comportamento standard di Google Analytics).

Con questo tipo di configurazione la navigazione tra i due dispositivi è vista come un’unica sessione, realizzando così un tracciamento cross device senza l’uso della funzione user id. Inoltre l’acquisto effettuato verrà attribuito alla sorgente di traffico originale.

CONCLUSIONI

Come accennato considero questa soluzione profana, infatti quello che stiamo facendo è di fatto snaturare il significato semantico del client id: stiamo associando a uno stesso client id due browser diversi. Come specificato prima si tratta di un’alternativa alla  funzione user id che è già attiva ed è stata configurata in modo completo e corretto. Infatti se per esempio user id è stata attivata su Google Analytics, ma non è stata implementata sul sito (e quindi non funziona), allora considerate la funzione user id.

AUTORE: Paolo Mantovan – Web Analytics Specialist

Tags