Existe alguma maneira para determinar a quantidade de tempo que um cliente gasta em uma página web

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

  •  03-07-2019
  •  | 
  •  

Pergunta

Supondo que eu tenho um servidor web de código aberto ou proxy que posso melhorar, vamos dizer apache ou squid.

Existe uma maneira de determinar o tempo de cada cliente gasta em uma página web?

HTTP é, naturalmente, sem estado, por isso não é trivial, mas talvez alguém tem uma idéia sobre como abordar este problema?

Foi útil?

Solução

Não sem ter algum javascript constantemente bater o seu servidor no lado do cliente e, em seguida, verificar quando ele pára (mas é claro que assume o usuário tem javascript habilitado). Há também várias maneiras (feio) para detectar janelas sendo fechadas com javascript, mas é claro que estes não irá sempre provocar. por exemplo. navegador acidente.

I tipo de maravilha porque você quer isso de qualquer maneira. E se uma pessoa olha para a página de web por 3 segundos, se distrai com outra aba / janela, mas deixa a página aberta por 2 horas? A resposta que você começa é de 2 horas, a resposta que (provavelmente) falta é de 3 segundos.

Outras dicas

Com Apache ou Squid você dificilmente pode detectar a tempo um usuário gasta em sua página.

Mas com um pouco de açúcar adicional na sua página web, você pode:

É livres e tem uma muito de funções.

Mas você também vai convidar Google para assistir as estatísticas do seu site ... (mas talvez que os ajuda a decidir se você quer comprar-lhe: -))

Você poderia contar o tempo entre o momento em que a página foi solicitada para quando a próxima página é solicitada, no entanto isso só seria correta se o usuário permaneceu nessa página o tempo todo até que ele pediu a próxima página. Mesmo assim, ele ainda pode estar na página original (por exemplo, abriu um novo em uma guia), e só irá funcionar se o fizerem de navegação para outra página.

A única maneira de saber com certeza seria usar o Javascript para executar ping o servidor da página aberta a cada dez segundos ou menos, só para dizer "eu ainda estou sendo lido!"

Eu realmente vi pacotes JavaScript do Google Analytics onde eles não só rastreados quanto tempo você estava na página, fazendo o ping do servidor de vez em quando, mas também acompanhou exatamente o que estava na tela. medindo o tamanho da janela do navegador, juntamente com as posições de rolagem do documento, eles foram capazes de determinar exatamente quanto tempo cada elemento estava na tela. Ao rastrear a localização do rato, provavelmente pode obter um bom palpite sobre o que eles estão olhando também. Não consigo encontrar o link agora, mas aqui está o conto. Se você está realmente interessado em que as pessoas estão olhando, e por quanto tempo, você pode fazê-lo. Não há muito de um limite para o quanto você pode acompanhar.

Além disso, apenas um pensamento, se você não quer fazer o ping do servidor demais, você poderia manter as coisas no buffer de memória, e só enviar para o servidor quando você tem uma quantidade suficiente de dados, ou para a direita antes que a página fechada.

Este tipo de métrica foi realmente muito populares há vários anos, antes de PCs tem mais poderoso e navegadores com guias tornou-se popular, e tornou-se mais difícil de medir com a maior precisão. A maneira padrão de fazê-lo no passado foi assumir as pessoas são geralmente apenas colocar uma página de cada vez, e usar apenas dados de log do servidor para determinar o tempo entre páginas vistas. Google Analytics padrão fornecedores como Omniture e Urchin (agora Google Analytics) calcular isso.

Normalmente, você define um cookie de rastreamento para ser capaz de identificar uma específica pessoa / navegador ao longo do tempo, mas no curto prazo você pode apenas usar uma combinação endereço IP / user-agent.

Então, basicamente você só triturar os dados de registro e contar o delta entre a páginas vistas como quanto tempo a pessoa estava na primeira página. Você definir algumas regras (ou seus analytics fornecedor faz isso por trás da cortina) como descartar / truncando vezes além de algum corte (digamos 10 minutos) onde você assume a pessoa não foi realmente ler, mas deixou a página aberta em uma janela / aba.

É este o perfeito de dados? Obviamente não. Mas você só precisa de dados suficientes "suficientemente bom" para fazer análise estatística e tirar algumas conclusões.

É ainda útil para a análise longitudinal (hábitos dos leitores ao longo do tempo) e comparação qualitativa entre diferentes páginas em seu site. (Isto é, entre dois artigos 700-palavra, se um tem um tempo médio de leitura duas vezes, enquanto o outro, então mais pessoas estão realmente lendo o primeiro artigo.) Claro, o site tem que ser ocupado o suficiente para ter pontos de dados suficientes para análise estatística de som depois de jogar fora todos os "maus" pontos de dados discrepantes.

Sim, você poderia usar o Javascript para enviar keep-alives para melhorar os dados. Você poderia apenas sondagem em intervalos determinados após document.onload ou conjunto de mouseover eventos seções de suas páginas.

Outra técnica é usar o Javascript para adicionar um evento onclick para cada <a href> que atinge seu servidor. Não só você então sabe quando alguém clica em um link para levá-los fora de seu site, realmente sofisticados "hotspot" aparência de análise com o fato de que, se alguém clicar em um link 6 parágrafos para baixo uma página, então eles devem ter lido tão longe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top