Aug 25 2012

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo giallo - articolo avanzato

Import facilitati su Google Docs

autore: Marco Cilia categoria: API tag: ,

[update 28 agosto: con più calma – in ferie 😀 – ho capito il mio errore. ci sono riuscito. Quando torno scriverò un post di istruzioni…]

Subito prima delle ferie – le MIE ferie – il team di Analytics ci propone uno script per facilitare l’importazione di dati dentro a Google Docs: il sogno di noi tutti sarebbe un analogo per Excel, quantomeno per evitare il doppio salto GA -> Google Docs -> Excel (e lo so che ci sono altri strumenti diretti, io parlavo di uno scrip made in Google 🙂 ), ma ovviamente Google ha tutto l’interesse a spingere Docs usando anche questo genere di argomenti.

Volevo postarvi delle istruzioni carine per farvi già creare qualcosa, ma come al solito voglio essere sincero al 100%: gli ho dedicato 20 minuti ma non sono riuscito a importare un solo dato, usando le funzioni già presenti. Dovrei dedicarmi alla parte “costruisci il tuo script”, ma non mi sembra una cosa da fare la sera prima della partenza per le ferie: se ci riuscissi e venisse una cosa carina so che sarei capace di fare moooolto tardi, e domani devo guidare 🙂

(per quanti si stiano domandando “è meglio questo o quello vecchio postato da SeoMoz?” la risposta è: quello di SeoMoz non richiede nessuna conoscenza particolare, però vuole la password in chiaro e spesso a me dà problemi. Questo richiede di smanacciare almeno un pochino con il pannello delle API, se si vuole scrivere o aggiungere pezzi di codice, però è fatto da Google ma non sono riuscito a farlo funzionare. Vedete voi 🙂 )

Non è detto che riesca a scrivere/leggere durante le ferie, e spero che non succeda nulla di troppo importante nel frattempo: in fondo si tratta di una sola settimana, dite che il team di Google ce la fa a stare buono mentre mi riposo un pochino? 🙂


Feb 16 2012

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo giallo - articolo avanzato

I dati di Analytics dentro a Google Docs

autore: Marco Cilia categoria: API tag: , ,

Qualche tempo fa ho voluto creare un KPI per provare una mia certa teoria (più che altro la fattibilità e l’effettiva utilità del KPI stesso usando dati reali e non astratti), una cosa facile facile tutto sommato, ma ne ho approfittato per giocare un po’ con le API di Urchin, immaginando che non fossero poi troppo diverse da quelle di Analytics. Ho così messo insieme alcune pagine php che assolvevano alla funzione desiderata.

La settimana scorsa volevo adattare il lavoro alle API di GA, ma ho scoperto che da qualche tempo Analytics richiede che le applicazioni siano registrate sulla Google APIs consolle, e che per farlo devono essere su rete pubblica. Poiché il mio sistema è su rete interna (e ho avuto qualche problema con OAuth 2.0, lo ammetto), ne ho approfittato per provare qualcuno dei sistemi per importare dati dentro a Excel, tipo excellentanalytics, nextanalytics, http://www.automateanalytics.com o Tatvic.

Tralasciando quelli a pagamento, il problema principale che riscontro è che spesso la presenza di un proxy impedisce a Excel di connettersi a GA. Mi sono così orientato verso una soluzione che collegasse Analytics a Google Docs, così che il passaggio dei dati sia server-server e si possano evitare intoppi. Per prima cosa sono capitato su questo post di SEOmoz, che sembra promettente ma che non ho ancora sperimentato. La soluzione più immediata – per le mie limitate esigenze del momento – è stato leggere questo post di peakconversion.com.

Le istruzioni sono piuttosto semplici:

  • bisogna aprire questo google docs e farsene una copia tramite File->Crea una copia…
  • si imposta l’id del profilo da cui prendere i dati (lo si può trovare nell’interfaccia cliccando l’icona delle impostazioni, selezionando il profilo corretto se non lo è già e poi passando alla tab “impostazioni profilo” e guardando a ID profilo)
  • si apre l’editor di script Strumenti->editor di script…
  • si seleziona la funzione Run|getSettingGADataToSheet e si autorizza una prima volta l’applicazione
  • si lancia di nuovo la stessa funziona e si autorizza definitivamente il foglio di calcolo a estrarre i dati
  • a questo punto compare una nuova voce di menu “GA”. Si cambiano il resto dei parametri nel foglio _settings e si lancia GA->activate settings query

Il risultato è un nuovo foglio di lavoro con i dati richiesti. Alternativamente si può chiamare in qualsiasi cella la funzione

getMetric(profile, metric, startdate, enddate, [dimensions], [segment], [filter], [sort], [maxresults])

a cui si passano i primi quattro parametri obbigatoriamente e gli altri cinque opzionalmente e che provvede a caricare direttamente i risultati. Fatto questo i dati sono pronti per essere ulteriormente aggregati, elaborati, resi su un grafico o combinati per avere i nostri KPI sempre aggiornati direttamente sul foglio di calcolo.


Aug 05 2009

Ricomporre i dati in Excel (e una digressione sulla precisione)

autore: Marco Cilia categoria: report tag: ,

Vorrei ora sapere come interpretare il tempo medio espresso con numeri del tipo 14799878978102900… Cosa significa? E come convertirlo in un formato familiare?

Elisabetta sta usando gli export in CSV e TSV per riproporre su Excel i dati di Google Analytics, ma il formato non è molto malleabile. Mentre cercavo una soluzione per un attimo ho creduto di aver fatto una scoperta, ma era tardi e oggi tutto si è ridimensionato, ma affrontiamo un problema alla volta.

Importare correttamente CSV e TSV in Excel

excel_logoGoogle Analytics esporta sempre i file dei report in formato inglese (anche se usate l’interfaccia in italiano), quindi usa i punti per separare i decimali, ma fortunatamente non le virgole per le migliaia. Importare direttamente tutto in un Excel “europeo” fa risultare il tempo medio (e in generale le cifre relative al tempo) in un numero come quello indicato da Elisabetta.

Una possibile soluzione è quella di impostare Excel nel formato inglese prima di importare i dati. Su Excel 2003: strumenti -> opzioni -> internazionale -> togliere la spunta da “utilizza separatori di sistema” e impostare il separatore decimale sul punto e quello delle migliaia sulla virgola. Bisognerà poi ricordarsi di rimettere tutto a posto prima di uscire, e comunque la modifica viene applicata a tutti i fogli Excel aperti e che si apriranno, per cui potrebbe non essere la soluzione ottimale.

L’altro metodo consiste nello scaricare il CSV o il TSV, aprirlo con un editor di testo e sostituire tutti i punti con delle virgole, poi salvare e importarlo in Excel. E’ un pochino laborioso, lo so, ma questo consente di non toccare le impostazioni e poter aprire e lavorare su altri file.
Usando questo metodo bisogna poi importare correttamente i dati: da Excel si seleziona il menu File -> Apri -> si seleziona il CSV o il TSV salvato precedentemente e si avvia la procedura.
selezionare su un foglio vuoto di Excel, cliccare Dati -> importa dati esterni -> importa dati… e selezionare il file scaricato in precedenza. Nella finestra di dialogo che si apre la prima scelta da fare è dire che i campi sono delimitati, poi è necessario selezionare 65001: Unicode (UTF-8) nell’origine file, per evitare problemi con le lettere accentate. Nella schermata successiva il delimitatore va impostato su Tabulazione se avete per le mani un TSV, su Virgola se avete un CSV. L’anteprima dati vi aiuterà a capire se state facendo la scelta giusta. Nella terza schermata potete lasciare il formato dei numeri su generale e cliccare su Avanzate… per impostare il separatore decimale corretto, il punto e quello delle migliaia, la virgola. (grazie a Stefano per il suggerimento nei commenti 🙂 )
(edit: esiste una terza via: scegliere “CSV per Excel. In questo caso non dovete specificare UTF-8 come codifica, e dovete lasciare la tabulazione come separatore, quindi l’unica cosa da impostare sono i separatori nella terza schermata. grazie Eloisa!)

A questo punto avrete il tempo medio espresso in secondi, con un numero tipo 47,0701754385964. Per riportarlo ad una forma più familiare è necessario dividere quel numero per 60 * 60 * 24 (cioé 86400) – magari copiandolo su un’altra colonna – e poi applicare il formato di cella personalizzato ore minuti secondi hh:mm:ss (che trasforma il numero di prima in 00:00:48)

La precisione dei dati in Google Analytics

lenteAppena ho iniziato a fare prove per rispondere a Elisabetta ho preso un grosso abbaglio. Mi sono detto “come è possibile che Google Analytics conosca il tempo medio sulla pagina preciso fino al microsecondo?” (tra l’altro sbagliando, perché guardando il valore esatto nella barra della formula, non troncato dalla visualizzazione, sarebbe preciso oltre il picosecondo, 10-12). Ovviamente la risposta è “non la conosce, ma essendo il tempo medio un valore calcolato con una frazione, possono esserci più decimali di quanti ce ne siano nei dati di partenza.

Voglio però farvi notare due cose: la prima è che nel database di Google Analytics – in questo caso, ma non vedo perché dovrebbe essere diverso su altri campi – le cifre non vengono troncate secondo quel che è necessario a Google per la visualizzazione dei report; potrebbe fare il calcolo e tenere il numero intero di secondi, o al massimo un paio di decimali, invece conserva decimali fino al tredicesimo e li converte al volo nel momento in cui l’interfaccia li mostra.
La seconda è che questo aspetto ci torna utile in altri campi: abbiamo detto che le percentuali che vediamo nell’interfaccia di GA sono arrotondate a due decimali, mentre nell’export di decimali ne abbiamo 15. Su grandi numeri il 65,711878 o il 65,7149999 potrebbero avere un significato diverso, anche se poi vengono entrambi arrotondati a 65,71%. Stesso discorso ad esempio guardando l’indice$ delle pagine: molte potrebbero avere 0,01 e sembrarci tutte uguali, ma avendo molti più decimali a disposizione su Excel siamo in grado di effettuare analisi più dettagliate.