Esiste un modo per determinare la quantità di tempo che un client trascorre su una pagina Web

StackOverflow https://stackoverflow.com/questions/161994

  •  03-07-2019
  •  | 
  •  

Domanda

Supponendo di avere un server Web open source o un proxy che posso migliorare, diciamo apache o calamari.

Esiste un modo per determinare il tempo che ciascun client trascorre su una pagina Web?

HTTP è ovviamente apolide, quindi non è banale, ma forse qualcuno ha un'idea su come affrontare questo problema?

È stato utile?

Soluzione

Non senza che alcuni javascript colpiscano costantemente il tuo server sul lato client e quindi controllino quando si ferma (ma ovviamente supponendo che l'utente abbia javascript abilitato). Esistono anche vari (brutti) modi per rilevare la chiusura di windows con javascript, ma ovviamente questi non si attiveranno sempre. per esempio. arresto anomalo del browser.

Mi chiedo perché lo desideri comunque. Che cosa succede se una persona osserva la pagina Web per 3 secondi, viene distratta da un'altra scheda / finestra ma lascia la pagina aperta per 2 ore? La risposta che ricevi è di 2 ore, la risposta che (probabilmente) desideri è di 3 secondi.

Altri suggerimenti

Con Apache o Squid difficilmente riesci a rilevare il tempo che un utente trascorre sulla tua pagina.

Ma con un po 'di zucchero in più sulla tua pagina web puoi:

È gratuito e ha un lotto di funzioni.

Ma inviterai anche Google a guardare le statistiche del tuo sito ... (ma forse questo li aiuta a decidere se vuoi comprarti :-))

Puoi contare il tempo tra il momento in cui è stata richiesta la pagina e quella in cui è richiesta la pagina successiva, tuttavia ciò sarebbe corretto solo se l'utente fosse rimasto su quella pagina per tutto il tempo fino a quando non avesse richiesto la pagina successiva. Anche in quel caso potrebbe essere ancora nella pagina originale (ad esempio, ha aperto quello nuovo in una scheda) e funzionerà solo se navigano in un'altra pagina.

L'unico modo per sapere con certezza sarebbe usare Javascript per eseguire il ping del server dalla pagina aperta ogni dieci secondi circa, solo per dire " Sto ancora leggendo! "

Ho effettivamente visto pacchetti di analisi javascript in cui non solo monitoravano quanto tempo eri sulla pagina, eseguendo il ping del server ogni tanto, ma anche tenuto traccia esattamente di ciò che era sullo schermo. misurando le dimensioni della finestra del browser, insieme alle posizioni di scorrimento del documento, sono stati in grado di determinare con esattezza la durata di ogni elemento sullo schermo. Tracciando la posizione del mouse, probabilmente puoi capire bene cosa stanno guardando. Non riesco a trovare il link in questo momento, ma ecco il racconto. Se sei veramente interessato a ciò che le persone stanno guardando e per quanto tempo, puoi farlo. Non c'è molto limite a quanto puoi monitorare.

Inoltre, solo un pensiero, se non si desidera eseguire il ping troppo del server, è possibile mantenere roba memorizzata nella memoria e inviarla al server solo quando si dispone di una quantità sufficiente di dati o subito prima della pagina chiuso.

Questo tipo di metrica era in realtà piuttosto popolare diversi anni fa, prima che i PC diventassero più potenti e diventassero popolari i browser a schede, ed è diventato più difficile misurarli con precisione. Il modo standard per farlo in passato era quello di supporre che le persone stessero caricando di solito una pagina alla volta e usare i dati di registro del server per determinare il tempo tra le visualizzazioni di pagina. I tuoi fornitori di analisi standard come Omniture e Urchin (ora Google Analytics) calcolano questo.

Normalmente, imposti un cookie di tracciamento per poter identificare una persona / browser specifica nel tempo, ma a breve termine puoi semplicemente utilizzare un indirizzo IP / combinazione utente-agente.

Quindi, in pratica, devi solo sgretolare i dati del registro e contare il delta tra le visualizzazioni di pagina per quanto tempo la persona è rimasta sulla pagina. Imposti alcune regole (o il tuo fornitore di analisi lo fa dietro le quinte) come scartare / troncare i tempi oltre un certo limite (diciamo 10 minuti) in cui supponi che la persona non stia effettivamente leggendo ma lasci la pagina aperta in una finestra / scheda.

Questi dati sono perfetti? Ovviamente no. Ma hai solo bisogno di abbastanza & Quot; abbastanza buono & Quot; dati per effettuare analisi statistiche e trarre alcune conclusioni.

È ancora utile per l'analisi longitudinale (le abitudini dei lettori nel tempo) e il confronto qualitativo tra le diverse pagine del tuo sito. (ovvero tra due articoli di 700 parole, se uno ha un tempo di lettura medio doppio rispetto all'altro, allora più persone leggono effettivamente il primo articolo.) Naturalmente, il tuo sito deve essere abbastanza occupato da avere abbastanza punti dati per analisi statisticamente corretta dopo aver eliminato tutte le " bad " punti di dati anomali.

Sì, è possibile utilizzare Javascript per inviare keep-alive per migliorare i dati. Potresti semplicemente eseguire il polling a intervalli specifici dopo document.onload o impostare eventi di passaggio del mouse su sezioni delle tue pagine.

Un'altra tecnica è utilizzare Javascript per aggiungere un evento onclick a ogni <a href> che colpisce il tuo server. Non solo sai quando qualcuno fa clic su un link per rimuoverlo dal tuo sito, ma molto sofisticato & Quot; hotspot & Quot; l'analisi considera il fatto che se qualcuno ha fatto clic su un collegamento 6 paragrafi in una pagina, deve aver letto fino a quel punto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top