Un professionista di web marketing riflette molto sulla diversità incredibile di dati demografici dei visitatori di un sito. Giovani ed anziani, maschi e femmine, alto livello di scolarizzazione e non, ricchi e non … ma quanta considerazione viene dedicata ai destro-cliccatori? No, non i destrorsi, proprio i destro-cliccatori che sono quelli che fanno clic a destra su un link per aprire una pagina in una nuova scheda, per salvare un file in una posizione specifica o per copiare un link da incollare da qualche altra parte.
Certo, i destro-cliccatori sono probabilmente tecnologicamente più avanzati, e rappresentano una minoranza dei visitatori web, ma tuttavia, il problema del monitoraggio dei destro-cliccatori mi rode da un po’. La pausa estiva era proprio quello che mi serviva per portare la giusta attenzione a una questione che potenzialmente incide su molti script per la raccolta dei dati per le Web Analytics. Si tratta degli script JavaScript utilizzati dai sistemi come le per monitorare le attività di un sito web non comprese già nella rilevazione di base (le pagine html con le tag inserite), come il download di file ed i clic sui link in uscita del sito.
L’ipotesi falsa su onclick: “sul clic” significa nei fatti “sul clic sinistro”
Prendiamo in considerazione i tanti script JavaScript disponibili per sulla pagina. Attualmente ciascuno tranne uno utilizza la sintassi onclick di un evento HTML per innescare il tracciamento da parte delle Google Analytics.
È comprensibile, onclick viene proprio indicato sulla delle Google Analytics. Il problema è che onclick significa in realtà sul clic sinistro, almeno per quanto concerne i principali browser come Internet Explorer, Firefox, Safari, Operao Google Chrome. Un codice di monitoraggio abbinato all’evento onclick del mouse non viene innescato se un utente fa clic con il tasto destro del mouse o con la rotella centrale del mouse – tutti i clic destri sul link in uscita oppure i download di files verranno persi (si possono comunque trovare informazioni sui file scaricati nei log del web server).
Le soluzioni onmouseup e oncontextmenu
Non abbiate paura, la soluzione è piuttosto semplice. Basta sostituire onclick con onmouseup. onmouseup, parte dello standard W3C per gli eventi HTML, viene innescato quando un utente pigia un tasto qualsiasi del mouse, indipendentemente dal fatto che esso sia quello sinistro, centrale o destro. Da tenere conto del fatto che alcuni utenti potrebbero cliccare su un link per un sito esterno o un file da scaricare col tasto destro del mouse senza scegliere di proseguire con la visualizzazione del sito o di scaricare il file. Il tasto destro del mouse semplicemente apre il menu contestuale del browser. L’utente potrebbe chiudere il menu senza effettuare una scelta. Pertanto, il monitoraggio di eventi del tasto destro del mouse influirà sul monitoraggio del conteggio dei clic, cioè da un conteggio inferiore dei clic effettuati si passerà a un conteggio potenzialmente superiore di clic effettivi, ma nel complesso la precisione della raccolta dei dati migliorerà di sicuro.
Esiste anche un evento non ufficiale, oncontextmenu, che scatta in tutti i principali browser (ora funziona anche in Opera, almeno a partire dalla versione 10.61) quando il pulsante destro del mouse viene premuto. oncontextmenu potrebbe essere utilizzato per distinguere tra i clic sinistri ed i clic destri che hanno un esito meno certo. Tuttavia l’utilizzo di onclick (per tracciare i clic sinistri) abbinato a oncontextmenu (tracciamento dei clic destri) taglierebbe fuori innumerevoli clic sul tasto/rotella centrale (non esiste un gestore di eventi per i clic sulla rotella centrale).
Il tracciamento dei clic sulla tastiera e onkeyup
Non tutti utilizzano un mouse, ci sono alcune anime che si affidano più volentieri ai tasti della tastiera perché più veloci o più facili da usare rispetto al mouse. I principali browser innescano un evento onclick quando il tasto invio viene premuto per selezionare un link, ma, non sorprendentemente, ignorano l’evento onmouseup. Esiste un evento onkeyup, ma esso viene innescato per molteplici combinazioni dei tasti che possono essere applicate a un link, ad esempio la semplice tabulazione da un link ad un altro. Un tracciamento dei tasti inquinerà i dati dell’analisi web. Da considerare anche che ogni chiamata al server delle Web Analytics ha un suo costo. Nel caso delle Google Analytics, vi è attualmente un limite di circa chiamate ogni sessione; strumenti SaaS / ASP di Web Analytics come Omniture, Coremetrics e WebTrends generalmente fatturano in base al loro utilizzo.
Consigli per il tracciamento dei link nelle Web Analytics
Per monitorare tutti i clic del mouse ed del tasto di invio per i file scaricati ed i link verso siti esterni, è necessario aggiungere agli script di tracciamento entrambi i gestori di eventi onclick e onmouseup (occhio a non innescare entrambi con il clic sinistro). I siti rich Internet application (RIA), quelli che utilizzano Ajax, Flash o Sliverlight, potrebbero voler controllare il tracciamento attualmente in essere. La seguente tabella riepilogativa può aiutare:
Innesco del Evento | Per tracciare |
---|---|
onclick | Clic sinistro del mouse e tasto di invio |
onmouseup | Tutti i clic a sinistra, al centro e a destra del mouse |
oncontextmenu | Clic destro del mouse |
onkeyup | Tasti che “toccano” un link, ad esempio invio e tab |
Tabella 1: Riassunto degli eventi link per innescare il tracciamento delle Web Analytics.
Provateci a casa: link “clicca qui” per dimostrare onclick, onmouseup e oncontextmenu
Ciascuno dei link nella tabella è stato abbinato al gestore degli eventi JavaScript indicati. Cliccando sul link come suggerito, si aprirà un avviso (se supportato dal browser).
Divertitevi a cliccare!
Ti potrebbero interessare:
Sono aperte le iscrizioni per il prossimo corso Seo del 16 e 17 gennaio e per il del 12 e 13 gennaio. Cosa aspettate?
Roberto // Aug 31, 2010 at 9.51.36
Ciao Sean, la tua osservazione è interessante.
Io per esempio uso tantissimo il right click perché preferisco aprire i link come nuove schede all’interno del browser.
Ho anche notato che da iPad il terzo e il quarto link della tabella non generano nessun evento.
yuri // Mar 28, 2011 at 19.49.00
Ciao, una domanda irriverente… e l’onmouseover? Cosa sai a proposito della sua capacità di includere i tasti destri?
Riccardo // Oct 28, 2011 at 12.39.37
ciao Sean, ottimo post! avrei una considerazione però, o meglio un problema:
nel momento in cui carico il link ( e attivo quindi il javascript recordOutboundLink(this, ‘Category’, ‘Action’);return false;”) cessa di funzionare la funzione “target=”_blank” (assolutamente fondamentale).
o meglio con onmouseup funziona ma apre sia una nuova scheda, che carica il link nella scheda parent; invece con onclick non funziona proprio e carica il link nella scheda parent
come pensi si possa risolvere questo problema?
grazie mille in anticipo