Pergunta

faixas Google Analytics 'Time On Site'. Como você fazer isso de forma eficaz? Será que ela realmente controlar quando o usuário fecha o navegador ou sair?

Os pensamentos?

Foi útil?

Solução

Eu não posso ser 100% certo, é claro, mas eu acho que eles usam JavaScript e os onload e OnUnload eventos e / ou SetTimer para se comunicar com um serviço web via AJAX. Dessa forma, eles poderiam descobrir quando os usuários ir para ou deixar uma página em seu site. Uma vez que o navegador pára "ping" o serviço web, é assumido que eles deixaram o seu site.

Eu tenho certeza que há alguma margem de erro envolvido não importa como você fazê-lo, mas você pode obter uma estimativa bastante decente dessa forma.

Outras dicas

Não é um evento de javascript chamado onBeforeUnload que executa quando um folhas de usuários por página. Isto poderia incluir fechando o windows / guia ou navegar para uma página diferente (mesmo que seja no mesmo local). Ao receber o tempo imediatamente após a página é carregada e usando JavaScript para enviar uma onBeforeUnload solicitação síncrona com a diferença de tempo entre o carregamento e deixando, você pode efetivamente controlar o tempo gasto em uma página. Eu diria que este é o que o Google faz.

Se você quiser exemplos de código e um pouco mais de informação, verifique isso .

Basta definir uma função como esta:

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

Em JavaScript você ficar assim uma string dizendo HH: MM: SS, ou H: M: S no caso do segundo número / hora / minuto como menos de 2 caracteres

Então, basta fazer um pouco de matemática arround-lo

Basta colocar isso em algum lugar correndo em sua janela, e associá-lo com a sessão (guaranteing isto é, em todas as páginas), obtém exatamente quanto tempo algum usuário estava em sua página.

Edit: teve que remover uma função que eu tinha lá que era meu e não é de sry javascript: p

Eu não acho que ele controla quando você fechar o navegador ou sair, e mesmo se isso acontecer, que não funciona em 100% dos casos.

Meu palpite é que eles estimam a estadia na página de saída, talvez com base nas páginas anteriores ou uma média para essa página para todos os visitantes. Se você receber três visitas à página em poucos minutos, você tem um tempo de visualização exata para as duas primeiras páginas, mas você nunca sabe quanto tempo a terceira página é visualizada. Talvez você fechar a página imediatamente, ou deixá-la aberta e lê-lo mais tarde.

É estatísticas, por isso, a longo prazo é geralmente bastante precisos, mas nunca é realmente a verdade. ;)

Eu suspeito que provavelmente executar um temporizador que se repete e executa algum tipo de retorno de chamada em cada loop usando um cookie para identificar o usuário e sessão

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