Jul
7
2011

Google SERP Click Tracking: come monitora click e rimbalzi

google_click_tracking.jpgQuesto post è d’introduzione ad un mio screencast che ho considerato il mezzo più efficace per condividere ciò che ho scoperto sul sistema utilizzato da Google per monitorare il comportamento degli utenti, click e rimbalzi, all’interno delle SERP.
E’ cosa nota il forte interesse che Google ha nei confronti l’interazione delle persone con i siti recensiti all’interno dei suoi risultati. Quindi non parlerò di cosa fa, ma di come lo fa.

Le analisi sono iniziate a metà Giugno quando… per una serie di motivi scientifici :D è aumentato il mio interesse nei confronti dei codici HTML e soprattutto JavaScript delle pagine dei risultati del Motore di Ricerca.

All’interno di questo video ho raccolto 20 minuti di informazioni, esempi e dati sul click tracking all’interno delle SERP di Google.


Per iniziare ho scaricato e condiviso in un repository GitHub l’intero
codice JavaScript utilizzato da Google
non solo per il tracciamento
delle azioni, ma per l’intera gestione del front end del Motore di
ricerca. Può essere utile anche in futuro e lo terrò aggiornato.

Entrando nello specifico del tracciamento dei click sui risultati delle
SERP
, avrete sicuramente notato che, anche se in partenza l’attributo
HREF contiente la reale URL di destinazione, in corrispondenza del click
sul risultato l’indirizzo viene sostituito con nuovo URL che fa
riferimento a Google.com(.it, …) e che successivamente vi consente
comunque di raggiungere il documento desiderato.

http://www.google.it/url?sa=t&source=web&cd=2&ved=0CCAQFjAB&url=http%3A%2F%2Fwww.simonerinzivillo.it%2F&rct=j&q=simone%20rinzivillo&ei=hsYUTuSCOInDswbfovTdDg&usg=AFQjCNFdywiCV8wVoUxOxM9LJdWxRxg-gQ&cad=rja

La funzione JavaScript attivata in corrispondenza dell’evento
onmuosedown
sul link del risultato nella SERP si chiama RWT, qui trovate
lo snippet del codice:

Quale significato hanno i parametri che Google appende all’URL interrogata per il tracciamento? (in questo file excel ho tenuto traccia per alcuni giorni di questi parametri )

  • cd, indica la posizione nella SERP del risultato cliccato (es. 2)
  • ved, rappresenta un ID univoco della posizione in quella specifica SERP (es. 0CCAQFjAB)
  • url, l’indirizzo del risultato da raggiungere
  • ei, rappresetenta un ID univoco della ricerca dell’utente e cambia ad
    ogni sua query
    . Una specie di session ID, ma con un ciclo di vita molto
    più breve
    e legato ai momenti di ricerca della persona (es.
    hsYUTuSCOInDswbfovTdDg)
  • usg, rappresenta l’ID univoco di un documento nelle SERP, cambiando
    query lo stesso documento ha sempre lo stesso usg (es.
    AFQjCNFdywiCV8wVoUxOxM9LJdWxRxg-gQ per http://www.simonerinzivillo.it

Posso simulare i click sui miei siti interrogando quelle URL dall’esterno di una SERP ?
Teoricamente no, anche conoscendo i parametri costanti di un documento
in una specifica SERP (ved e usg) ti troveresti a inventare l’ID
dell’interrogazione, il parametro ei.

Come vengo rediretto al documento finale?

La redirezione avviete client side via JavaScript o, se disabilitato, via META.
Interrogando l’URL di tracciamento di cui abbiamo parlato dopo aver
disabilitato le redirezioni via META e l’esecuzione del JavaScript, il
risultato sarà una pagina bianca con questo codice:

Proprio seguendo il sistema di redirezione finale ho individuato come Google monitora il rimbazo dai risultati.

Ora, tornado nella SERP troverete, non visibile, un IFRAME posizionato
in alto a sinistra della pagina dei risultati, al cui interno il sistema
di JavaScript di Google apre le URL per il click tracking.
Esplorando il codice con Firefox e Firebug,  poche righe sotto il tag BODY, trovate l’FRAME:

<iframe onerror=”google.j.e()” onload=”google.j.l()” src=”" style=”display:none” name=”wgjf”>

Sempre con Firebug potete provare ad impostare a true l’attributo della proprietà display e vedrete apparire l’IFRAME.

Fate questa verifica:

  • cliccate con il tasto destro del mouse su un link della SERP in modo da attivare l’esecunzione della funzione RWT
  • utilizzate la web developer toolbar per disabilitare le redirezioni via META e l’esecuzione del JavaScript
  • cliccate, col tasto sinistro, sul link che avevate scelto prima

Il risultato è che non dovrebbe, apparentemente, esser successo nulla.
Voi siete rimasti nella pagina della SERP e nell’IFRAME continuate a
vedere lo sfondo bianco che in realtà è la pagina vuota restituita
dall’URL del click tracking
.

Fondamentalmente è a questo punto che la navigazione dell’utente parte
verso il documento di destinazione ed è da questo momento che Google è
in grado di sapere, se torna indietro, quanto è stato sulla pagina di
destinazione.

Per verificare come tornate nuovamente nelle SERP (con JavaScript
nuovamente attivo) ed individuate il risultato che preferite. Salvate da
parte l’URL di tracciamento e poi, cliccando sul link del risultato
andate nella pagina di destinazione. Aspettate qualche secondo,
posizionatevi dell’area Net di Firebug (in alternativa aprite Live HTTP
Headers) e tornate indietro utilizzando il tasto back del browser.

Tra le richieste HTTP che il browser esegue per ricaricare la SERP di
Google troverete una GET simile a questa:

http://www.google.it/gen_204?atyp=i&ct=backbutton&cad=&ei=LMIUTvn2JJDzsgbap9DuDg&zx=1309983426027

La risposta ottenuta è uno status code 204 (no content), mentre tra i
parametri
sono facilmente individuabili l’azione (“backbutton”) e il
parametro ei
, l’ID della query da cui poi, si immagina, Google risale alla
precedente azione, il click, e quindi al tempo trascorso tra questo e il
ritorno sulla SERP.

Se sei arrivato fin qui e non hai ancora visto il video ti consiglio di
riservarti 20 minuti per guardare tutti gli step e gli esempi dal vivo
,
le cose saranno ancora più chiare.

I test sono stati condotti su più Mac utlizzando Firefox, Chrome e Safari per verifiche e raccolta dati.

10 Commenti + Add Comment

  • Simone complimenti per il post! Tanti spunti! Grazie!

  • Ciao, molto interessante…vorrei però confrontarmi un attimo avendo fatto proprio qualche mese fa lo stesso studio.
    1-Ho notato che a seconda del browser, cookie e forse anche altro la funzione di riscrittura può variare. Abbiamo la RWT, la CLK e la HLPRWT (la più semplice).
    2-Inoltre accedendo all URL del tipo: http://www.google.it/url?sa=t&source=web&cd=1&ved=0CHMQFjAA&url=http%3A%2F%2Fbooks.google.it%2F&ei=yXgVTraXDcK3hQeg3aha&usg=AFQjCNFCBIL2FN-_-Si2pRy1e15JintFxQ
    io noto un redirect server side 302 found. Non il redirect javascript che tu mostri…
    3-I parametri (azz..non ricordo quali erano) hanno vita breve. Mi pare intorno ai 5 minuti. Dopodichè tentando di accedere tramite l’URL modificata si approderà sulla pagina di google che informa della redirezione. Nonostante l’url contentente tali parametri prima portava direttamente sulla pagina destinazione.
    4-Ho provato a fare questo esperimento: accedo a una serp di google tramite curl (simulando TUTTE le richieste che normlamente vengono fatte e l’utilizzo dei cookie). Tramite qualche riga di codice ricostruisco l’URL modificata di google (compreso il parametro EI). Accedo a quell’URL. Seguo il redirect 302 found e mi viene restituita la pagina del sito di cui volevo simulare il click. Sembra tutto perfetto ma non è sufficiente a simulare un reale click nella SERP.
    Tutti questi esperimenti li ho fatti per tentare di manipolare Google Suggest. Non avendo avuto successo server side ho da poco terminato uno script client side che simula (anzi, no è reale) l’apertura di una serp e il seguente click. Ultimi test e poi lo attiverò sull’home page di un mio sito.
    Ciao

  • Ciao Stefano,
    ti rispondo per punti
    1- la funzione rwt è quella praticamente più utilizzata, le cose interessanti vengono dopo e riguardano i parametri di tracciamento e le richieste http per monitorare il rimbalzo
    2- Sull’URL che hai passato convermo il 302, attenzione che si tratta di un terzo livello di Google.it (anche se non credo centra nulla). Ovunque provo trovo redirezioni via JS come spiegato nel video
    3- il parametro che scade è l’ei (ID della query/ricerca/azione dell’utente).
    Al minuto 8:10 c’è proprio una verifica di questo tipo. Se modifichi il ved o l’ei raggiungi comunque la pagina di destinazione (anche se il click non verrà tracciato), mentre se modifichi l’usg che è univoco per per ogni documento indicizzato otterrai il messagio di cui parli.
    4- attenzione che il parametro ei cambia in continuazione ad ogni query di un utente e se cambia la tua posizione in serp sarà diverso anche il ved… non è così ‘semplice’ :)
    ciao
    S.

  • questo post è spettacolare, lasciare zero commenti mi sembra davvero un peccato! Bravissimo :) Poi la discussione credo continueerà su Plus :)

  • 2-Ok, proviamone un altro: http://www.google.it/url?sa=t&source=web&cd=3&ved=0CCcQFjAC&url=http%3A%2F%2Fwww.zanna86.it%2F&ei=KLMVTpvFJYvcsgbXsLCyDw&usg=AFQjCNGbMi4BDJS-XIhlJp28aCsz-HrNzg
    Proverò a guardare meglio il tuo video ma io trovo solo redirect 302…
    4-Certo, il parametro EI lo ricavo ogni volta!Sta scritto nel codice della pagina…mi pare che sia in uno script presente nell’HEAD…è semplice ricostruire l’url riscritto una volta grabbati i parametri dal codice della pagina che mostra la serp! Il problema è che non è sufficiente a simulare il click…
    Mi daresti un link che contiene il redirect JS?grazie

  • Adriano, Simone, grazie per il commento.
    S

  • ciao Stefano,
    ho capito :) !!
    questa è la tua URL originale:
    http://www.google.it/url?sa=t&source=web&cd=3&ved=0CCcQFjAC&url=http%3A%2F%2Fwww.zanna86.it%2F&ei=KLMVTpvFJYvcsgbXsLCyDw&usg=AFQjCNGbMi4BDJS-XIhlJp28aCsz-HrNzg
    questa la mia
    http://www.google.it/url?sa=t&source=web&cd=2&ved=0CCAQFjAB&url=http%3A%2F%2Fwww.simonerinzivillo.it%2F&rct=j&q=simone%20rinzivillo&ei=hsYUTuSCOInDswbfovTdDg&usg=AFQjCNFdywiCV8wVoUxOxM9LJdWxRxg-gQ&cad=rja
    La differenza è nel parametro rct=j (redirect = javascript), questa è la tua con l’aggiunta di questo parametro:
    http://www.google.it/url?sa=t&source=web&cd=3&ved=0CCcQFjAC&url=http%3A%2F%2Fwww.zanna86.it%2F&rct=j&ei=KLMVTpvFJYvcsgbXsLCyDw&usg=AFQjCNGbMi4BDJS-XIhlJp28aCsz-HrNzg
    Provala e troverai la redirezione via JS che a questo punto ha senso se in controllo deve essere ripreso client side.
    Per quanto riguarda il parametro EI purtroppo se simuli i passaggi ti accorgerai che il valore di partenza scaricato nella pagina è già cambiato al momento del primo click su un risultato …
    ciao

  • Ok, per quanto riguarda il redirect ci siamo..!
    Riguardo il parametro EI la mia memoria mi ha ingannato. Ma ero sicuro che c’era da qualche parte nel codice html della pagina e ho dovuto rimettermi a cercare… Prova a guardare l’href del menù a sinistra (immagini, video, notizie) lì c’è il parametro EI corretto! ;-)
    Ciao

  • Che Google monitorasse i click in una serp per monitorare il comportamento degli utenti era cosa nota nella teoria seo no?!! Tu sei riuscito a dimostrare come! Applausi! :)

  • @Stefano, si nelle anteprime delle immagini/news/video il parametro EI è quello corretto, purtroppo non sono presenti in tutte le SERP… bisogna lavorarci.
    @Francesco, grazie per l’applauso :)

Lascia un commento

About Me

Lavoro nell'informatica dal 2000. Ho iniziato come consulente analista programmatore presso TSF S.p.A. nello sviluppo di sistemi informatici per il Gruppo Ferrovie dello Stato.
Ho lavorato in Ad Maiora come Project Manager e SEO specialist.
Oggi curo la visibilità online dei clienti di Mamadigital dove ricopro l'incarico di Technical Manager.