2009-02-26 10 views

risposta

4

non posso essere sicuro al 100%, naturalmente, ma direi usano javascript e gli eventi onload e onunload e/o setTimer per comunicare con un servizio web tramite AJAX. In questo modo hanno potuto capire quando gli utenti visitano o lasciano una pagina sul tuo sito. Una volta che il browser interrompe il "ping" del servizio web, si presume che abbia lasciato il tuo sito.

Sono sicuro che c'è qualche margine di errore, indipendentemente da come lo si fa, ma si potrebbe ottenere una stima abbastanza buona in questo modo.

+1

ma non si vedono mai richieste di "ping" da qualsiasi sito Web che utilizza GA. e il onbeforeunload non può essere utilizzato perché non puoi mai assicurarti che la richiesta venga completata in tempo prima che la pagina si chiuda. – vsync

+0

@vsync: è possibile che GA stia determinando quando lasci una pagina in base a quando carichi la pagina successiva. Supponendo che tutte le pagine abbiano GA su di loro, questo funzionerebbe. Tranne quando si esce dal sito, naturalmente. –

+0

ci possono essere situazioni in cui il tuo sito web è aperto su più schede, e da uno vai su un altro sito. o forse altre situazioni..anche questo potrebbe non funzionare, a meno che Google non ti faccia il ping per assicurarti che l'utente sia nel sito, non importa in quale scheda .. ma che sarebbe estremamente brutto e che l'amministratore del web vorrebbe che .. – vsync

1

ho il sospetto che probabilmente corrono un timer che si ripete ed esegue una sorta di callback su ogni loop utilizzando un cookie per identificare l'utente e la sessione

2

Non penso che segua il browser quando si chiude o si allontana, e anche se lo fa, non funziona nel 100% dei casi.

La mia ipotesi è che stimino il soggiorno nella pagina di uscita, forse in base alle pagine precedenti o in una media per quella pagina per tutti i visitatori. Se ottieni tre risultati di una pagina in pochi minuti, hai un tempo di visualizzazione esatto per le prime due pagine, ma non sai mai per quanto tempo viene visualizzata la terza pagina. Forse chiudi subito la pagina, o la lasci aperta e la leggerai più tardi.

Sono statistiche, quindi di solito è piuttosto accurato, ma non è mai la verità. ;)

+0

Mi è piaciuta la tua risposta – vsync

3

Basta impostare una funzione come questa:

function track() 
{ 
    setTimeout(track ,1000); 
    now = new Date; 
    now_string = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds(); 
    (... whatever you want to do with this data) 
} 

in javascript si ottiene così una stringa dicendo HH: MM: SS, o H: M: S nel caso in cui l'ora/minuto/secondo numero come meno di 2 caratteri

Quindi solo fare un po 'di matematica arround esso

basta mettere questo correre da qualche parte nella tua finestra, e associandolo con la sessione (guaranteing questo è in tutte le pagine) si ottiene esattamente quanto tempo che un utente era nella tua pagina.

Edit: ha dovuto rimuovere una funzione che ho avuto lì che era mia e non è da JavaScript SRY: p

3

C'è un evento javascript chiamato onBeforeUnload che esegue quando un utente lascia una pagina. Ciò potrebbe includere chiudere la finestra/tab o navigare verso una pagina diversa (anche se si trova sullo stesso sito). Ottenendo il tempo immediatamente dopo il caricamento della pagina e utilizzando JavaScript per inviare una richiesta sincrona onBeforeUnload con la differenza di tempo tra il caricamento e l'uscita, è possibile tracciare efficacemente il tempo trascorso su una pagina. Immagino che questo sia ciò che fa Google.

Se si desidera utilizzare esempi di codice e un po 'più di informazioni, controllare this.

Problemi correlati