$post_level = get_post_meta(get_the_ID(), 'level', true);
if ($post_level) { ?>
SemaforoQuesto semaforo indica il livello difficoltà del post
if ($post_level == '1') { ?>
} ?>
if ($post_level == '2') { ?>
} ?>
if ($post_level == '3') { ?>
} ?>
} ?>
La novità di cui parlavamo nello scorso post non si è fatta attendere tanto: da qualche giorno sono presenti due nuovi tipi di monitoraggio, quando si seleziona il tipo di tag “Google Analytics”:
il primo è “monitoraggio interdominio per link” (orribile l’espressione “interdominio”) e serve a creare sul tag manager l’equivalente della funzione _link. Il secondo è “monitoraggio interdominio per post di modulo” e serve a ricreare l’equivalente della funzione _linkByPost.
Non ho ancora avuto tempo di provarle, ma il fatto che si possano definire delle macro e il fatto che il tag non sia legato a un ID – almeno nella versione _link – mi fa sperare che basti mettere quel tag su una pagina, e che esso si preoccupi automaticamente di immettere la funzione _link su tutti i collegamenti che puntano all’url specificato.
Leggermente più complesso il discorso su _linkByPost, che voglio testare per bene prima di scriverne.
Sempre a proposito di macro, è stata introdotta anche la possibilità di usare una macro per definire il numero UA-XXXXXXX-Y. Questo è veramente interessante e permette di snellire molto il numero di tag necessari, specialmente nei profili multidominio/multilingua.
$post_level = get_post_meta(get_the_ID(), 'level', true);
if ($post_level) { ?>
SemaforoQuesto semaforo indica il livello difficoltà del post
if ($post_level == '1') { ?>
} ?>
if ($post_level == '2') { ?>
} ?>
if ($post_level == '3') { ?>
} ?>
} ?>
Ogni volta che ho a che fare con il passaggio dei visitatori tracciati da un dominio all’altro è un dramma: è un dramma spiegare ai clienti perché bisogna farlo (ma di solito la frase risolutiva è “ma allora perché il vostro sito non legge le informazioni nei cookie di gmail e facebook? 🙂 ), è quasi sempre un dramma implementarlo se non posso farlo direttamente, perché i tempi di reazione sono allungati. Comunque sia, come tutti voi dovreste ormai sapere, ogni dominio imposta un differente set di cookie, ed è il motivo per cui esiste la funzione _setAllowLinker e le relative _link e _linkByPost, con cui bisogna taggare TUTTI i link che inviano i visitatori all’altro – o agli altri – siti.
Lunametrics ha aggiornato un suo vecchio script per automatizzare la cosa alla sintassi asincrona:
Le istruzioni dicono di assicurarsi che siano presenti la _setDomainName impostata sul dominio di secondo livello nel quale è lo script di Analytics e la _setAllowLinker, condizioni di partenza necessarie, poi di scaricare e modificare lo script inserendo nella riga 5 i domini possibile sui quali si potranno inviare i visitatori, ed eventualmente nella riga 6 le estensioni dei file di cui si vuole tracciare i download.
Poi bisogna caricare il file nei domini e aggiungere una riga in cui si richiama il file; poiché il sistema è basato su jQuery è necessario un riferimento alla libreria, se già non l’avete (vanno bene anche le versioni basilari offerte su CDN, tipo google, microsoft, eccetera).
A quel punto ogni link che punta ad uno dei domini interessati conterrà la funzione _link e _linkByPost, e il processo sarà completamente automatizzato. Un po’ come accadeva con setXDomain su GAaddons, che però è stata dismessa dall’autore
$post_level = get_post_meta(get_the_ID(), 'level', true);
if ($post_level) { ?>
SemaforoQuesto semaforo indica il livello difficoltà del post
if ($post_level == '1') { ?>
} ?>
if ($post_level == '2') { ?>
} ?>
if ($post_level == '3') { ?>
} ?>
} ?>
Ho scoperto soltanto da poco che i cookie possibili scritti da Google Analytics sono sei, e non cinque come ho scritto nel relativo post. Ho quindi proveeduto ad aggiornare quel post piuttosto che riportare tutte le informazioni in uno nuovo, mi sembrava più sensato. Il nuovo cookie, __umk, viene comunque scritto e utilizzato solo in presenza di due funzioni specifiche che vi ho descritto pochi giorni fa: link() e linkByPost().
$post_level = get_post_meta(get_the_ID(), 'level', true);
if ($post_level) { ?>
SemaforoQuesto semaforo indica il livello difficoltà del post
if ($post_level == '1') { ?>
} ?>
if ($post_level == '2') { ?>
} ?>
if ($post_level == '3') { ?>
} ?>
} ?>
Riprendendo il post precedente, dicevo che _setDomainName() andava impostato su “none” nel caso in cui si volesse avere il controllo completo dei casi in cui i visitatori avrebbero dovuto passare da un dominio a un altro mantenendo lo stesso cookie. Questa operazione è particolarmente importante quando i domini sono completamente differenti, e non sono solo uno il sottodominio dell’altro, ad esempio www.miosito.it e www.shopmiosito.com.
La funzione _setAllowLinker(booleano) permette di abilitare su Google Analytics la gestione manuale della migrazione dei cookie, e di default è disabilitata. Va invocata esplicitamente nel GATC insieme a _setDomainName() in questo modo:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
</script>
sia sul sito origine sia sul sito destinazione. A questo punto è necessario aggiungere un pezzo di codice a ogni singolo link che porta da un dominio all’altro e che non vogliamo dia origine a una nuova visita (come appunto il caso di un carrello acquisti) con la funzione _link(url_destinazione), per esempio così:
<a href="http://www.shopmiosito.com/?negozio=scarperosse" onclick="pageTracker._link(this.href); return false;">inizia l'acquisto delle tue scarpe</a>
Bisogna notare che il cookie in questo caso è passato in ogni caso con una richiesta GET, e quindi è visibile nell’url del browser. Per passare da un sito a un altro usando una form, è necessario usare l’analoga funzione _linkByPost(oggetto_form), per esempio usando il codice:
<form action="http://www.shopmiosito.com/paginaprocesso.php" name="alcarrello" method="post" onsubmit="pageTracker._linkByPost(this)">