Aug 19 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _addTrans()

autore: Marco Cilia categoria: funzioni

Sempre nell’ambito delle funzioni specificamente pensate per l’e-commerce, _addTrans(id_ordine, affiliazione, totale, tasse, spedizione, città, area, nazione) crea un oggetto-transazione del valore specificato. Come nel caso di _addItem() se un visitatore chiama due volte la funzione con uno stesso id_ordine (non sku, che in questo caso non è previsto) la seconda chiamata sovrascrive la prima. I parametri che _addTrans prevede, tutti stringhe, sono i seguenti:

  • id_ordine: l’identificativo dell’ordine (lo stesso di _addItem – obbligatorio)
  • affiliazione: nome del negozio o del partner che produce la transazione (facoltativo)
  • totale: il costo totale sostenuto dal cliente (obbligatorio)
  • tasse: l’ammontare dei costi per tasse sostenuti dal cliente (facoltativo)
  • spedizione: l’ammontare dei costi di spedizione sostenuti dal cliente (facoltativo)
  • città: la città associata alla transazione facoltativo)
  • area: l’area associata alla transazione (può essere lo stato USA, o la regione italiana ad esempio – facoltativo)
  • nazione: la nazione associata alla transazione (facoltativo)

Questa funzione ha anche un elemento di ritorno, utile in caso di debug. Questo oggetto è _gat.GA_Ecomm_.Transactions_ ed è l’identificativo dell’oggetto-transazione che è stato modificato dalla chiamata alla funzione.
Un utilizzo tipico di _addTrans() è quello che segue:

pageTracker._addTrans(
     "12345", // id_ordine
     "libreria ponte vecchio", // affiliazione
     "35.99", // totale
     "3.00", // tasse
     "5.99", // spedizione
     "Palermo", // città
     "Sicilia", // area
     "Italia" // nazione
     );

Anche questa volta, nel caso di parametri facoltativi, è necessario inserire le virgolette e lasciare vuoto il contenuto.


Aug 17 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _addItem()

autore: Marco Cilia categoria: funzioni

La funzione di oggi serve nel caso in cui abbiamo attivato i rapporti e-commerce dalle opzioni generali del profilo, e appunto popola i relativi report. _addItem(id_ordine, sku, nome, categoria, prezzo, quantità) aggiunge un elemento acquistato da un visitatore all’oggetto di tracciamento specificato; _addItem traccia gli oggetti per sku (Stock Keeping Unit, identificativo univoco del prodotto), per cui se nella stessa sessione viene chiamata due volte per lo stesso sku, viene registrato soltanto l’ultimo oggetto. La funzione prende sei parametri, tutte stringhe, in ingresso, che più precisamente sono:

  • id_ordine: l’identificativo dell’ordine (fortemente consigliato)
  • sku: l’identificativo univoco dell’oggetto (obbligatorio)
  • nome: il nome dell’oggetto (facoltativo)
  • categoria: la categoria merceologica dell’oggetto, se presente (facoltativo)
  • prezzo: il prezzo dell’oggetto (obbligatorio)
  • quantità: il numero di oggetti acquistati (obbligatorio)

Un esempio di uso della funzione è questo:

pageTracker._addItem(
   "12345", // id_ordine
   "TA2676", //sku
   "GAin30sec", // nome
   "Libri", // categoria
   "35.99", // prezzo
   "1"  //quantità
 );

Per i parametri non obbligatori, è facoltativo solo l’inserimento del valore all’interno delle virgolette, non la presenza del parametro nella chiamata alla funzione. Per intenderci, l’esempio soprastante si può modificare così:

pageTracker._addItem(
   "12345", // id_ordine
   "TA2676", //sku
   "",
   "",
   "35.99", // prezzo
   "1"  //quantità
 );

Il parametro id_ordine è fortemente consigliato poiché le documentazioni ufficiali sono contrastanti: la mia interpretazione è che si possa omettere solo nel caso di chiamata a _addItem() senza la relativa _addTrans(), per cui in casi tutto sommato abbastanza anomali. Nelle implementazioni che ho visto il parametro era sempre presente, per cui io consiglio di inserirlo.


Aug 03 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni per integrare GA e Urchin o backuppare i dati

autore: Marco Cilia categoria: funzioni

Come sicuramente saprete e abbiamo avuto modo di dire, Google Analytics è un sistema di web analytics lato client che fa uso di un javascript per raccogliere informazioni da inviare a un server remoto, il quale provvederà ad elaborarle e a produrre i report (vedi lo schema di funzionamento).

Google tuttavia fornisce un altro strumento di analisi degli accessi, Urchin software (al momento versione 6), al costo di 1895 euro; si tratta di un software in grado di analizzare anche i logfiles prodotti dal websever, quindi un principio “opposto e complementare” a quello usato da Google Analytics. Esistono però delle funzioni che possono essere invocate nello script di tracciamento degli utenti che permettono di scegliere dove inviare tutti o parte dei dati.

La funzione _setLocalRemoteServerMode() serve a dire a GA di inviare i dati che registra sia al server remoto di Google sia a un nostro server locale, di fatto permettendoci di effettuare un backup dei dati grezzi (anche se poi sarà necessario Urchin per elaborarli). E’ una funzione senza argomenti che si invoca semplicemente richiamandola così
PageTracker._setLocalRemoteServerMode();
prima della chiamata a trackPageview().

E’ anche possibile fare in modo che i dati vengano inviati esclusivamente al nostro server, escludendo completamente Google dalla gestione dei dati, sempre a patto di possedere Urchin per effettuare le analisi. Bisogna impostare una chiamata alla funzione _setLocalServerMode() in questo modo
PageTracker._setLocalServerMode();
prima della chiamata a trackPageview(). L’utilità di questa funzione per i possessori di Urchin è grande: si possono utilizzare la sintassi e le funzioni del codice di tracciamento di Google Analytics ed elaborare i dati in locale, e contemporaneamente usare Urchin per analizzare i logfiles e capire, ad esempio, il comportamento degli spider (che vi ricordo NON sono tracciati da GA).

La funzione opposta, _setRemoteServerMode(), è quella invocata per definizione da Google Analytics, e invia i dati ai server collettori dell’azienda di Mountain View. Analogamente alla funzione precedente, tuttavia, i possessori di Urchin potrebbero decidere che parte delle analisi debbano essere svolte dai server di Google. Richiamando la funzione in questo modo
PageTracker._setRemoteServerMode();
prima di trackPageview() faremo svolgere allo script proprio questo mestiere.

Esiste un’ultima parte di codice da prendere in esame in questo post, e va usata ogni qualvolta si invochi una funzione che invia i dati a un nostro server: è la funzione _setLocalGifPath(stringa). Al punto 5 del workflow illustrato nel post “l’ordine è importante” ho detto che il GATC richiede una immagine gif trasparente di 1 pixel per 1 pixel; anche nel caso di Urchin – usato utilizzando il GATC e non tramite logfiles – è necessario usare la gif trasparente, e la funzione _setLocalGifPath() serve a specificare il percorso di questo file, e quindi di conseguenza il percorso del webserver che riceverà in risposta i dati tracciati dallo script, e va invocata prima ancora della riga che setta la destinazione dei dati.


Jul 18 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _getAccount() e _getVersion()

autore: Marco Cilia categoria: funzioni

Le due funzioni di oggi vengono trattate per completezza, ma oltre che essere funzioni di servizio hanno anche una utilità estremamente limitata. _getAccount() restituisce l’identificativo dell’account associato all’oggetto di tracciamento specificato. Può essere utile nel caso di script complessi che istanziano più oggetti di monitoraggio, oppure più semplicemente incollando questa riga di codice nella barra degli indirizzi del browser e premendo invio mentre si sta visitando un sito con lo script di Google Analytics
javascript:prompt("account della pagina", pageTracker._getAccount());void(0);

(oppure potete trascinare il link mostra account GA nella barra dei preferiti di Firefox e premere il pulsante quando vi fa comodo). La sintassi è
pageTracker._getAccount();

La funzione _getVersion() ci restituisce la versione corrente del codice javascript richiamato dallo script. Poiché la chiamata è sempre uguale e le modifiche al codice vengono fatte centralmente e in modo trasparente da Google, essa è l’unico modo per sapere se lo script è stato aggiornato. La sintassi è
pageTracker._getVersion();

ma è più utile incollare questa riga
javascript:prompt("versione di GA", pageTracker._getVersion());void(0);

nella barra degli url e vedere al volo la versione (al momento della scrittura di questo post, ad esempio, è la 4.2)


Jul 10 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _setCookiePath() e _getCookiePath()

autore: Marco Cilia categoria: cookie,funzioni

La funzione _setCookiePath(stringa) è un po’ particolare e forse non è nemmeno utile alla maggior parte di noi, però ci permette di risparmiare tempo nel setup del profilo e consente una interpretazione migliore dei dati. Sebbene il nome tragga in inganno, serve a definire quale sia la directory predefinita per il cookie del vostro sito, e non a definire in quale directory del PC dell’utente salvare i cookie di GA (come molti erroneamente pensano). Poniamo un caso pratico e semplificato:
Continua a leggere “funzioni: _setCookiePath() e _getCookiePath()”


Jul 01 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _setDetectTitle() e _getDetectTitle()

autore: Marco Cilia categoria: funzioni

La funzione _setDetectTitle(booleano) serve a dare disposizione al codice di tracciamento di Analytics di tracciare o meno il title HTML della pagina visitata. Per default il title viene registrato e mostrato nel report Sezioni del sito > Sezioni per titolo, ma possiamo disabilitare questa feature richiamando prima di trackpageview() la riga
pageTracker._setDetectTitle(false);

L’esempio che sento spesso fare è quello di un sito che non ha i title, o li ha tutti uguali. Questo è uno dei peggiori errori che si possano commettere pubblicando un sito web, e piuttosto che settare false in questo parametro bisognerebbe concentrarsi sul sistemare i title! Se non potete mettere le mani sul sito (magari perché non è il vostro) e volete far risparmiare un po’ di elaborazioni a Google, allora potete anche invocare setDetectTitle.

La funzione _getDetectTitle() serve a conoscere, in uno script complesso, lo stato della variabile di tracciamento dei title HTML della pagina; restituisce 1 se il tracciamento è abilitato (situazione di default) oppure 0 se è disabilitato. E’ una funzione di servizio, può essere invocata ovunque vogliamo nella pagina e la sintassi è
pageTracker._getDetectTitle();

Come detto poco fa, queste due funzioni sono abbastanza inutili, poiché ogni sito web dovrebbe avere pagine con title unici e originali, e quindi giovare dell’utilità del report dei contenuti per titolo. In ogni caso tenete a mente che esistono, e rileggetevi questo articolo sulle differenze tra il report per titolo e quello per pagina


Jun 27 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _setDetectFlash() e _getDetectFlash()

autore: Marco Cilia categoria: funzioni

La funzione _setDetectFlash(booleano) ci permette di specificare se Google Analytics deve tracciare o meno la presenza e la versione del player flash del visitatore. Per default il tracciamento è abilitato e le informazioni sono raccolte (vengono mostrate nel report Visitatori > Funzionalità del browser > Versioni Flash), ma se per qualsiasi motivo non volessimo che ciò accadesse dovremmo impostare una riga aggiuntiva
pageTracker._setDetectFlash(false);

Prima della chiamata a trackpageview().

La funzione _getDetectFlash(), come intuibile, ci permette di risalire allo stato del flag di monitoraggio del player Flash, e ritorna 1 se la raccolta dei dati è abilitata e 0 se invece è disabilitata. La sintassi è una semplice chiamata a
pageTracker._getDetectFlah(); ed essendo una funzione informativa può essere chiamata in qualunque punto della pagina.


Jun 19 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _setClientInfo() e _getClientInfo()

autore: Marco Cilia categoria: funzioni

La funzione _setClientInfo(booleano) ci permette di specificare se vogliamo o meno che Google Analytics tracci le informazioni sui client dei visitatori. GA per definizione traccia un numero abbastanza elevato di informazioni sui client utilizzati dai visitatori, come ad esempio il nome del browser, il sistema operativo, la risoluzione dello schermo o il supporto di Java, e ce le mostra nella sezione VISITATORI o nei segmenti standard. Se per particolari esigenze non si desiderano questi dati è possibile disabilitare il monitoraggio inserendo le rigapageTracker._setClientInfo(false);

prima della chiamata a TrackPageview()

La funzione _getClientInfo() invece ci permette di conoscere quale sia l’impostazione di tracking dei dati sul browser data a un determinato oggetto istanziato. Ritornerà 1 se il tracciamento è abilitato (impostazione di default) oppure 0 se è disabilitato. In script particolarmente complessi questa funzione ci permette di conoscere lo stato di quella impostazione ed eventualmente di fare o non fare ulteriori altre azioni basate su quello stato; essendo una funzione “di servizio” può essere utilizzata in qualsiasi punto della pagina semplicemente richiamandola così:
pageTracker._getClientInfo();

o inserendo il valore risultante in una variabile o in un’altra funzione.


Jun 11 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _clearOrganic() _clearIgnoredRef() _clearIgnoredOrganic()

autore: Marco Cilia categoria: funzioni

Le funzioni del giorno servono a ripulire scelte effettuate in precedenza con omologhe funzioni prima che i dati vengano trasmessi ai server collettori di Google. Tutte e tre non necessitano di nessun parametro in ingresso. _clearIgnoredOrganic() ripulisce la lista di parole chiave da trattare come visita diretta impostata tramite addIgnoredOrganic mentre _clearIgnoredRef() ripulisce la lista dei referrer da ignorare e trattare come visite dirette impostata tramite addIgnoredRef. Non mi è mai capitato di usare queste funzioni nè di vederle implementate in qualche sito di cui ho guardato il sorgente.

_clearIgnoredOrganic() invece è interessante e ci permette di azzerare completamente la lista dei motori di ricerca, sia quelli impostati tramite addOrganic sia quella predefinita da Google. C’è quindi una differenza fondamentale da tenere a mente: le prime due funzioni servono a resettare impostazioni date da noi, mentre clearOganic è in grado di azzerare anche una impostazione predefinita da Google. Nel momento in cui viene chiamata la funzione cancella completamente la lista dei motori di ricerca. L’uso tipico di questa funzione è quello di azzerare la lista dei motori e costruirsene una personalizzata, ad esempio distinguendo ogni estensione nazionale di Google (.it .fr. .co.uk eccetera). Un altro uso potrebbe essere quello di aggiungere la ricerca di immagini di Google come una fonte organica invece che come referrer in un sito-raccoglitore di foto.

Il solito Brian Clifton, nella sezione del suo blog dedicata agli script, ha una funzione già pronta per fare questo mestiere, sebbene in beta. Per utilizzarlo bisogna salvare il file sul proprio server e richiamarlo dopo la chiamata a ga.js ma prima dell’inizializzazione del GATC, quindi 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" src="custom_se-ga.js" />

  <script type="text/javascript">
    var pageTracker = _gat._getTracker("UA-XXXXXX-X");
    pageTracker._initData();
    pageTracker._trackPageview();
  </script>


Jun 07 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _addOrganic()

autore: Marco Cilia categoria: funzioni

La funzione del giorno è _addOrganic(dominio, parametrodiricerca) e ci consente di dire a Google Analytics di trattare un determinato dominio come fosse un motore di ricerca invece di un referrer, e quale deve essere il parametro nel quale trovare le keyword cercate dall’utente. GA ha una lista predefinita di motori di ricerca e relativi parametri che vengono identificati automaticamente durante l’esecuzione del GATC, che al momento della scrittura di questo articolo sono:

(“google”,”q”)
(“yahoo”,”p”)
(“msn”,”q”)
(“aol”,”query”)
(“aol”,”encquery”)
(“lycos”,”query”)
(“ask”,”q”)
(“altavista”,”q”)
(“netscape”,”query”)
(“cnn”,”query”)
(“looksmart”,”qt”)
(“about”,”terms”)
(“mamma”,”query”)
(“alltheweb”,”q”)
(“gigablast”,”q”)
(“voila”,”rdata”)
(“virgilio”,”qs”)
(“live”,”q”)
(“baidu”,”wd”)
(“alice”,”qs”)
(“yandex”,”text”)
(“najdi”,”q”)
(“aol”,”q”)
(“club-internet”,”query”)
(“mama”,”query”)
(“seznam”,”q”)
(“search”,”q”)
(“wp”,”szukaj”)
(“onet”,”qt”)
(“netsprint”,”q”)
(“google.interia”,”q”)
(“szukacz”,”q”)
(“yam”,”k”)
(“pchome”,”q”)
(“kvasir”,”searchExpr”)
(“sesam”,”q”)
(“ozu”,”q”)
(“terra”,”query”)
(“nostrum”,”query”)
(“mynet”,”q”)
(“ekolay”,”q”)
(“search.ilse”,”search_for”)

I parametri che la funzione accetta in ingresso sono due stringhe, la prima è il nome del motore di ricerca che ritroveremo poi nei report, il secondo è il parametro nel quale il motore passa in GET le keyword ricercate. Ad esempio nell’URL
http://www.google.it/search?q=google+analytics&sourceid=navclient-ff&ie=UTF-8

le keyword stanno nel parametro q, nell’URL
http://arianna.libero.it/search/abin/integrata.cgi?regione=9&query=google%20analytics
le keyword si trovano nel parametro query, per cui per aggiungere Libero tra i motori di ricerca la funzione da usare è
pageTracker._addOrganic("libero","query");

poiché però il nome del motore fa il match con qualsiasi parte del dominio, andrebbe bene anche la funzione chiamata così
pageTracker._addOrganic("arianna","query");