Mar 27 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

mini contest: cosa non si può fare col TagManager

autore: Marco Cilia categoria: tagmanager tag: ,

Dopo aver scritto il post sulle novità del Google Tag Manager ho riflettuto su un po’ di cose che ho fatto ultimamente tramite quello strumento, realizzando che effettivamente non erano ne poche ne banali. L’intero impianto del TagManager, per come è costruito, aggiunge un ulteriore livello di possibilità che a volte integrano e a volte si sovrappongono a funzionalità core di Google Analytics. Faccio degli esempi:

  • Voglio escludere le visite aziendali interne: lascio il codice ovunque e filtro gli indirizzi IP da Google Analytics. Oppure, più elegante, creo tre viste per la stessa property: una totale, una con solo le visite esterne e una con solo le visite interne, sempre con i filtri di GA. Oppure condiziono l’UA cui inviare i dati (produzione o staging/sviluppo) in base all’host. Senza scrivere una riga di codice. Plus aggiuntivo, in questo modo le hit “inutili” non intaccano il limite mensile e non incidono sul campionamento, che avviene sempre sul totale inviato pre-filtri.
  • Voglio riscrivere alcuni indirizzi delle pagine: il filtro “cerca e sostituisci” di GA ha alcune limitazioni, ad esempio non permette di togliere parti (cioè di sostituire con “vuoto”), i filtri avanzati richiedono spesso regular espression e in ogni caso devo farne uno per ogni caso. Nel GTM con una macro di tipo Javascript personalizzato invece posso far scrivere a un programmatore tutta la logica necessaria a gestire molti casi, anche complessi, ed inviare ad Analytics solo quel che mi serve, nella forma che mi serve
  • Voglio condizionare un certo tag sulla base di una informazione che è esistita solo in un dato momento passato: posso scriverla in un cookie e leggerla in un secondo momento, sempre senza mettere mano al sito e scrivendo poche righe di codice nel GTM

E così via… quindi alla fine ho pensato di scrivere questo post come puro esercizio, per capire fino a dove si può arrivare. Voi scrivete nei commenti cosa vorreste poter fare, o cosa avreste voluto fare su Analytics che non vi è riuscito – tipicamente con i filtri, ma non solo – e tutti insieme vediamo se il Tag Manager può risolvere. Pronti? via! :)


Mar 12 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Remarketing dinamico direttamente da GA

autore: Marco Cilia categoria: generale tag: , ,

Ecco qualcosa di veramente interessante, che si aspettava da tempo: la possibilità di fare remarketing dinamico direttamente usando il codice di Analytics. Il remarketing dinamico è una feature che possono usare gli utenti con un account Google Merchant Center, che possono mostrare annunci sulla rete display di Google basati sui prodotti effettivamente visti dagli utenti, senza dover creare centinaia o migliaia di creatività, ma lasciando a Google l’onere di “comporre” dinamicamente l’annuncio.

Questo sino ad ora ha richiesto codici appositi, e da oggi invece si integra alla perfezione con Google Analytics, usando feature che già conosciamo. Vediamo nel dettaglio i passi da compiere:

  1. Creare almeno una lista di remarketing usando Google Analytics
  2. Aggiungere ai codici di tracciamento le variabili personalizzate (o le dimensioni personalizzate su Universal Analytics) con naming appositi, che traccino l’ID del prodotto, il prezzo del prodotto e il tipo di pagina
  3. Abilitare la feature dal pannello di amministrazione: proprietà -> remarketing -> attributi dinamici
  4. Creare una campagna di remarketing dinamico su AdWords

Un’altra integrazione importante per gli strumenti Google, sempre nell’ottica della semplicità e del riutilizzo delle feature, operazione che in Google Analytics sembra essere particolarmente efficace :)


Mar 06 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo rosso - articolo per esperti

Le ultime piccole novità nel TagManager

autore: Marco Cilia categoria: tagmanager tag: ,

Se dovessi descrivere il Google TagManager e i suoi vantaggi non mi basterebbe una giornata. Hai voglia a dire che le cose diventano semplici e veloci, spesso appare talmente bello da non sembrare vero. Se un video vale più di mille parole, per me questo pezzetto di “tre uomini e una gamba” rappresenta la summa perfetta di cosa è il TagManager (ho numerosi testimoni che possono confermare :) )

Una delle note negative però, se vogliamo, è che questo prodotto evolve alla velocità della luce; tanto per capirci, molto più veloce di come evolve Google Analytics, che già non è facile… per questo motivo eccovi un piccolo riassunto delle novità introdotte ultimamente nel GTM, o almeno di quelle che ho potuto vedere (senza nemmeno poterle testare tutte…)

  1. Macro Lookup Table (tabella di ricerca in italiano): si tratta di una tabella che restituisce un valore sulla base di un altro valore. Dannatamente comoda in moltissimi casi, il più semplice tra tutti è quello di condizionare l’UA a cui inviare i dati in base al dominio in cui avviene la visita, in questo modo:

    GTM-lookup-table

  2. Macro fragment e cronologia: il fragment, unito ad una regola apposita intercetta le variazioni di url con il cancelletto, quindi un indirizzo di pagina che passa da /pagina.html e pagina.html#anchor1 si può intercettare. Il secondo tipo serve a intercettare la history delle location del browser, ma non l’ho ancora testato e presumo si riferisca solo ai cambiamenti forzati tramite javascript. A questo proposito i più tecnici possono leggere questo post su G+ di Simo Ahava, di cui riporto solo il pezzo saliente

    1) You have a single-page site with dynamic content
    2) You create a fabricated browser history entry to save current state
    3) The visitor leaves your site and comes back via browser back button
    4) You can use the History Listener to check if there was some state saved in (2)
    5) You can provide the same state that was saved in (2)

  3. Tag Evento “rilevatore errori javascript”: si tratta di un nuovo tipo di listener, dopo quelli per i click e le form, che intercetta gli errori javascript sulla pagina. Può essere utile in fase di debug, oppure come suggerisce nuovamente Simo Ahava su Google+, creando un UA tutto nuovo solo per collezionare gli errori javascript e avere un grande repository a disposizione degli sviluppatori per migliorare il sito basandosi su erorri reali e non teorici.
  4. Macro “testo elemento”: incredibile a dirsi, mancava! permette di intercettare (ad esempio per creare condizioni) il CONTENUTO di un elemento cliccato

Inoltre sono stati introdotti una macro per indicare se si sta guardando una bozza del contenitore o una versione live, e la possibilità di forzare il codice ad usare la versione debug, che stampa nella consolle del browser moltissime informazioni utili.


Mar 04 2014

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

Content grouping per autore su WordPress

autore: Marco Cilia categoria: funzioni tag: , ,

La funzionalità di raggruppamento dei contenuti è una di quelle che più si presta a molteplici usi, vuoi per la varietà possibile di situazioni in cui si può usare (ecommerce, siti editoriali, blog, newspaper, qualsiasi cosa), vuoi per il fatto che i contenuti di uno stesso sito possono essere raggruppati in 5 modi diversi all’interno della stessa vista.

In un sito multi autore, magari basato sul popolare WordPress, un raggruppamento che va molto di moda è quello per autore, spesso implementato tramite variabili personalizzate; è un indicatore importante del successo degli articoli di uno stesso autore, utile per capire quali stili di scrittura più si adattano a diversi contenuti, dall’intercettare traffico organico all’avere maggiori condivisioni sui social network. Un altra tipologia di raggruppamento per WordPress è, naturalmente, quello per categoria.

Siccome non c’è bisogno di inventare nulla, ho trovato un post interessante che vi segnalo: l’ha scritto Ross Scrivener su highposition.com

Il primo passo consiste nell’andare nel pannello di amministrazione della vista in cui vogliamo far comparire i dati, selezionare Raggruppamento dei Contenuti e crearne uno con nome “Blog: Autore”, dopo aver selezionato il metodo di creazione, che sarà “attiva codice di monitoraggio”, in questo modo (clic per ingrandire):

WP-content-grouping-autore

Stessa cosa per il secondo gruppo, che si chiamerà “Blog: Categoria”, userà sempre il codice di monitoraggio, ma dovrà avere indice #2 (questo è importante, non sbagliate!).

A questo punto bisogna modificare il codice di monitoraggio di Google Analytics: daremo per assunto che si tratta di codice che avete incollato nel template del blog, se usate un plugin la cosa potrebbe richiedere altre modifiche. Se avete il codice nel template dovrete aggiungere un pezzo di codice prima di _trackPageview, in questo modo


_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
<?php 
if (is_single()){
    echo "_gaq.push(['_setPageGroup', 1, '".get_the_author()."']);\n";
    $category = get_the_category();
    if ($category && !empty($category[0]->cat_name)){
        echo "_gaq.push(['_setPageGroup', 2, '".$category[0]->cat_name."']);\n";
    }
}
?>
_gaq.push(['_trackPageview']);

Se usate il Google TagManager il metodo migliore è quello di inserire queste informazioni nel dataLayer, usando questo codice:


dataLayer = [{
<?php 
if (is_single()){
    echo "'pageGroup1': '".get_the_author()."',\n";
    $category = get_the_category();
    if ($category && !empty($category[0]->cat_name)){
        echo "'pageGroup2': '".$category[0]->cat_name."'\n";
    }
}?>
  }];

Per usarla, nel vostro contenitore dovrete creare una macro come questa (clic per ingrandire)

WP-content-macro

e una uguale ma con nome e valore “pageGroup2″, e poi modificare il codice di monitoraggio di base aggiungendo queste opzioni (clic per ingrandire)

WP-content-GTM-base

salvare, creare una versione e pubblicare.

Nel post di Ross c’è un link ad una dashboard già pronta per mostrare queste nuove informazioni, in ogni caso nel report dei contenuti troverete il raggruppamento dei contenuti vicino alla selezione della dimensione primaria del report.


Feb 23 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Percentuale di contribuzione sul totale, per ogni metrica

autore: Marco Cilia categoria: report tag: ,

Da qualche giorno è disponibile per tutti una semplificazione estrema dell’interfaccia che è sempre mancata in Google Analytics: sapere di ogni metrica quale percentuale rispetto al totale essa rappresenti. Non sto parlando dei circoletti accanto ai segmenti avanzati, che danno un giusto contesto all’analisi, né delle percentuali che si visualizzano quando si passa alla rappresentazione a torta dei dati mostrati; sto parlando esattamente di questo

percentuale-sul-totale

ovvero del fatto che accanto ad ogni metrica (assoluta, per le metriche a percentuale come bounce rate non avrebbe tanto senso) ora compare la percentuale che essa rappresenta rispetto al totale. Quando si apre un report standard questo fornisce a colpo d’occhio l’impatto delle prime 10 righe rispetto alle metriche aggregate che si vedono nella prima riga di riepilogo, evitando di dover ricorrere a estensioni o plugin esterni o dover fare a mano il calcolo.

Semplificazioni facili, ma di grande aiuto! :)


Feb 13 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Ecco Google Analytics v6

autore: Marco Cilia categoria: report tag:

Una volta, tanto tempo fa, eravamo soliti riferirci alle major version di Google Analytics in concomitanza con i grandi sconvolgimenti che avvenivano una volta l’anno in piattaforma: redesign di interfaccia e introduzione di nuove features spesso coincidevano.
Da tempo ormai le nuove features vengono rilasciate di continuo (alcune non vengono nemmeno annunciate, data l’abnorme quantità di aggiornamenti che ci sono durante l’anno) quindi ci siamo abituati a far avanzare il conteggio delle versioni sulla base dell’interfaccia; l’ultimo update risaliva a marzo 2011 mentre oggi sulla pagina Google+ di Analytics è stato postato uno screenshot della nuova v6 che è in rollout progressivo su tutti gli account:

Le differenze principali riguardano la colorazione (sparisce il nostro amato arancione in favore di un sobrio grigetto) e il cambio della barra di navigazione in alto: l’amministrazione si sposta a sinistra, vicino ai custom report, e aggiungono il pulsante “home” per tornare alla schermata principale. L’elenco degli account si sposta sulla destra e GA guadagna una feature interessante, ovvero il multi-login: quante volte capita di dover switchare tra account personali, di clienti, di amici, di test? qualcuno usa le modalità incognito dei browser, qualcuno crea utenti multipli, ora tutto questo diventa un ricordo perché ci si può loggare contemporaneamente su tutti gli account e switchare da uno all’altro direttamente dentro a GA.

Anche il menu laterale subisce un lifting, mentre le posizioni dei report non cambiano; questo lifting comprende il fatto che ora il menu e il report scrollano separatamente, e non vi costringono più a perdere di vista il focus dell’analisi per cercare un altro report.
Nota negativa, secondo me, è l’eccessiva distanza tra le voci, che rende il menu tutto aperto un lenzuolone gigantesco e penalizza l’uso negli schermi bassi e larghi, come i laptop.

Quando lo vedrete anche voi nei vostri account lasciatemi un commento e ditemi cosa ve ne pare: io sono ancora un po’ interdetto :)


Feb 09 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Evita il campionamento strutturando bene il tuo account

autore: Marco Cilia categoria: generale tag: ,

All’alba del 2014 mi capita ancora troppe volte di vedere account strutturati in maniera tutt’altro che ottimale. E se da un lato posso essere d’accordo che spesso non è facile ricominciare da zero con un account pulito e ristrutturato, dall’altro ci sono tante ottime ragioni per farlo, e tante tecnologie e soluzioni per facilitarlo. In questo post vedremo cosa è e perché accade il fenomeno del campionamento dei dati, perché le soluzioni adottate in passato non sono più ottimali e come si ovvia al giorno d’oggi.

Campionamento 101: di cosa si parla

Il fenomeno del campionamento (box giallo in alto a destra) avviene ogni volta che si chiede a Google Analytics di produrre dati che non sono precalcolati nei report standard. Ho descritto in passato cosa accade e perché nei due post “come funziona il campionamento” e “come funziona il campionamento (ufficiale)“, che ti invito a ripassare prima di proseguire nella lettura.

Per quanto concerne questo post, la parte fondamentale di quei due articoli è quella che dice “E’ importante notare che il campionamento avviene a livello di web property e non di profilo” (oggi i profili si chiamano “viste”). Avere delle viste-copia non risolve il problema del campionamento, se la vista principale conta tantissime visite.

Il fittizio caso esempio

Il famoso brand ACME è una multinazionale globale, con sedi in tutto il mondo e 30 siti in lingua attestati su 30 diversi top level domain. Per le sue esigenze di marketing interne ha bisogno di KPI a livello globale (rollup) e insight a livello di singola country/lingua.

Fino a qualche tempo fa l’approccio standard era: traccio tutto con una unica web property su GA, quindi con un solo UA, poi creo 30 viste-copia e su ognuna metto un filtro sul nome host.

Questa soluzione si portava appresso alcuni assunti e alcuni accorgimenti da prendere: se il visitatore può passare da un dominio all’altro (ad esempio perché cambia lingua, o perché il sito worldwide ha una spashpage con selezione lingua, o perché il gateway di pagamento ecommerce è uno solo in tutto il mondo ed è attestato in un sottodominio del sito .com, o per qualsiasi altro motivo…) è necessario impostare correttamente il cross domain tracking, altrimenti i conteggi di visite e visitatori unici nel profilo di rollup saranno gonfiati. Inoltre se non si gestisce il passaggio dei cookies, il profilo di rollup vedrà moltissime visite con referral interni (quando un utente passa dal .it al .de diventa un nuovo utente unico, si crea una nuova visita e la sorgente di traffico è un sito ACME). Idem i profili clone, che in assenza del cross domain tracking non conservano la sorgente di traffico originale, ma sono funestati dal fenomeno self referral.

Anche ammesso che questa parte sia stata gestita a puntino, il tutto subirà i nefasti effetti del campionamento se il profilo di rollup salirà molto con le visite. Nel caso in cui il rollup registri 5 milioni di visite, anche una vista copia per un paese nel medesimo periodo segna solo 60 mila visite subirà un campionamento al 5%, perché quando Analytics campiona ritorna sempre ai dati della property per estrarre il campione, e poi rifiltra il risultato secondo le regole impostate nella vista.

Come si riduce, oggi, questo fenomeno?

Oggi non mi sogno più di consigliare le viste clone in casi come questo, gli svantaggi sono evidenti sia in termini di manutenzione (decine o centinaia di filtri da tenere d’occhio) sia soprattutto in termini di performance.
Oggi, grazie soprattutto all’avvento delle tecnologie di Tag Management (ma non è obbligatorio) e di Universal Analytics (soprattutto per quanto riguarda la parte di cross domain tracking) l’approccio che consiglio è quello di “una web property per ogni cosa”:

  • Profilo di rollup? una web property! UA-xxxxxx-1
  • AMCE.it? una web property! UA-xxxxxx-2
  • ACME.de? una web property! UA-xxxxxx-3
  • ecommerce globale? una web property! UA-xxxxxx-4
  • e così via…

Ovviamente su ogni pagina del sito ci saranno almeno due codici di monitoraggio (il rollup e il singolo dominio, ma potrebbero esserci anche codici per singoli sottoprogetti, non c’è limite alla fantasia…), il cross domain tracking deve essere impeccabile, e per fare queste due cose con semplicità io consiglio l’uso del Google Tag Manager; ma una volta messo in piedi il sistema, i risultati sono garantiti: il numero di visite è sempre congruente tra le property, sebbene non si possa sommare per ovvi motivi. Se passo dal it. al .de sono 1 visita su ognuna delle viste, ma sono 1 sola nel rollup. La sorgente di traffico è sempre quella originale che ha portato l’utente sui siti, e raramente è un referral interno. Ma soprattutto il campionamento viene eseguito sulla base dei reali dati di traffico: con gli stessi numeri dell’esempio precedente il profilo di rollup subisce un campionamento al 5%, ma il profilo con 600 mila visite lo subisce solo al 41%.

Inoltre ogni web property può essere usata singolarmente per produrre viste clone filtrate, su base dominio e non su base rollup. Il che a me sembra un ulteriore vantaggio!


Jan 27 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Il nuovo GAIQ test è online

autore: Marco Cilia categoria: generale tag: ,

[update 22:44: fatto e passato con uno scialbo 88% (ma usando solo mezz'ora dei 90 minuti disponibili. Continuo a ritenere alcune domande un po' ambigue, e la mancanza della correzione non mi farà mai sapere se ho ragione o no. Ad esempio la domanda sul tagging delle campagne, utm_medium=referral è perfettamente lecito, se ci aggiungi anche source e campaign, anche se di norma non si usa mai. Me lo avrà preso come errore o no? :) ]

Vi ricordate del GAIQ, il Google Analytics Individual Qualified, cioè l’unica certificazione “privata” riconosciuta da Google per quanto riguarda Analytics? bene, la critica più grossa che gli si poteva muovere era quella di non essere al passo con i tempi, di rappresentare cioè un esame non in linea con il prodotto che certificava. Da una settimana circa l’esame è stato rifatto, anche se ancora non è stato annunciato niente sul blog ufficiale. Ecco però a href=”https://www.distilled.net/blog/the-new-gaiq-exam-what-you-need-to-know/”un post di Distilled/a che riassume alcune cose da sapere per chi si accinge a fare il test:

  • Sono state integrate anche domande sul Google Tag Manager, i report demografici e le canalizzazioni multicanale
  • Sono sempre 70 domande da superare in 90 minuti
  • Il testo base per prepararsi è lo stesso dell’Analytics Academy (fonte), al quale è meglio aggiungere anche i materiali aggiuntivi forniti in ogni lezione
  • Bisogna conoscere le definizioni e come si applicano allo strumento, come si affrontano in pratica le situazioni e quali dettagli si nascondono dietro alle feature
  • Consigli sparsi da Distilled sugli argomenti sono: Tag Manager, Ecommerce, Real Time, report demografici, Intelligence, report Velocità del sito, filtri e viste, dimension widening e Measurement Protocol (per ogni argomento nel post ci sono link dedicati)

Appena riesco rifaccio il test e vi relaziono sull’effettiva difficoltà.


Jan 21 2014

L’ordine è sempre importante

autore: Marco Cilia categoria: codice di monitoraggio

Agli albori di questo blog scrissi un post dal titolo “L’ordine è importante“, riguarda all’ordine delle funzioni nel codice di monitoraggio. Un anno dopo l’ordine ritorna in un post sui filtri (“cambiare l’ordine dei filtri su Analytics“), segno che è un argomento ricorrente. E sapete perché? perché in fondo Google Analytics è un programma che gira su un computer, e quindi ragiona sempre con uni e zeri.

Un altro posto in cui l’ordine è importante è l’interfaccia di creazione di un nuovo raggruppamento di canali di un Multi Channel Funnel (ma la cosa vale anche per i nuovi Channel Group)

MCF-order

L’ordine in cui sistemate i canali influenza direttamente le metriche che sono mostrate in ogni canale. Se una visita può ricadere in più canali, perché li avete definiti così, sarà “risucchiata” dal primo canale che incontra, dall’alto verso il basso (o se preferite dal numero più basso al più alto). Se il primo canale è fatto per prendere “scarpe” e il secondo per prendere “scarpe OR stivali”, le scarpe finiranno tutte nel primo e nel secondo ci saranno solo stivali. Se li invertite, il primo canale conterrà tutto e il secondo sarà vuoto!

Questo significa che quando si hanno regole basate sullo stesso presupposto è spesso inutile mettere dei NOT per condizionare una o l’altra, ma basta mettere le più specifiche all’inizio e le “catch all” sotto. Ad esempio se voglio fare un canale “Facebook” che prende tutte le visite dal social network, mi basta una regola source contiene Facebook messa prima di Referral.

Se ho facebook / referral e anche facebook / ads e voglio scorporarle renderà più specifiche le prime due regole, quindi:
Facebook organico: source contiene facebook AND medium = referral
Facebook sponsored: source contiene facebook AND medium = ads
Referral: medium = referral

non è necessario mettere dei NOT da nessuna parte, se si usa questo ordine. Se invece la regola Referral fosse la prima delle tre, su Facebook organico non ci finirebbe niente.

MCF-gruppi-custom

Perché l’ordine è importante! :)


Jan 12 2014

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Ritoccata l’interfaccia del TagManager

autore: Marco Cilia categoria: tagmanager tag: ,

Da qualche giorno l’interfaccia del Google Tag Manager ha subito un lift, ma questa volta il risultato non è del tutto soddisfacente dal mio punto di vista.

Innanzitutto la creazione di un nuovo tag, regola o macro è stata raggruppata sotto un unico pulsante rosso con etichetta “NUOVO”, che se cliccato produce un piccolo menu colorato con le icone che c’erano prima

Schermata 2014-01-12 alle 21.05.14

Questa modifica è tutto sommato positiva.
In secondo luogo le regole di attivazione e blocco dei tag sono state spostate sulla destra, mentre prima erano sotto. Questo da un lato è positivo, perché all’apertura di un tag si ha subito idea di quali siano le condizioni che lo attivano o bloccano. Ma dall’altro lato produce due effetti collaterali piuttosto negativi:

1) lo spazio a disposizione della configurazione del tag è ridotto orizzontalmente, procudendo su schermi piccoli effetti abbastanza orrendi (clic per ingrandire)

Schermata 2014-01-12 alle 21.08.46

2) lo spazio a disposizione delle regole di attivazione e blocco è, di conseguenza, minore, e questo crea problemi con tag con nomi lunghi

Indubbiamente l’intenzione dei designer è quella di ottimizzare lo spazio, ma in questa interazione non ci sono riusciti pienamente e in alcuni casi (schermi di portatili, soprattutto) lavorare sul TagManager è diventato più complicato invece di più facile.

Speriamo che alla prossima interazione non manchi molto.