2009-02-26 8 views

Répondre

4

Je ne peux pas être certain à 100% bien sûr, mais je suppose ils utilisent javascript et les événements onload et onunload et/ou setTimer pour communiquer avec un service web via AJAX. De cette façon, ils pourraient comprendre quand les utilisateurs vont ou quittent une page sur votre site. Une fois que le navigateur cesse de "pinger" le service Web, il est supposé qu'ils ont quitté votre site.

Je suis sûr qu'il y a une certaine marge d'erreur, peu importe comment vous le faites, mais vous pourriez obtenir une estimation assez décente de cette façon.

+1

mais vous ne voyez jamais de requêtes "ping" provenant d'un site Web utilisant GA. et onbeforeunload ne peut pas être utilisé car vous ne pouvez jamais vous assurer que la requête sera terminée à temps avant la fermeture de la page. – vsync

+0

@vsync - il est possible que GA détermine lorsque vous quittez une page en fonction du moment où vous chargez la page suivante. En supposant que toutes les pages ont GA sur eux, cela fonctionnerait. Sauf quand vous quittez le site bien sûr. –

+0

Il peut y avoir des situations où votre site Web est ouvert sur plusieurs onglets, et d'un à un autre site Web. ou peut-être d'autres situations ... donc cela pourrait ne pas fonctionner, à moins que GA ping vous tout le temps pour s'assurer que l'utilisateur est dans le site peu importe dans quel onglet .. mais ce serait extrêmement laid et quel administrateur Web voudrait que .. – vsync

1

Je soupçonne qu'ils courent probablement une minuterie qui se répète et exécute une sorte de rappel sur chaque boucle en utilisant un cookie pour identifier l'utilisateur et la session

2

Je ne pense pas qu'il effectue un suivi lorsque vous fermez le navigateur ou navigue, et même si c'est le cas, cela ne fonctionne pas dans 100% des cas. Je suppose qu'ils estiment le séjour à la page de sortie, peut-être basé sur les pages précédentes ou une moyenne pour cette page pour tous les visiteurs. Si vous obtenez trois pages en quelques minutes, vous disposez d'un temps d'affichage exact pour les deux premières pages, mais vous ne savez jamais combien de temps la troisième page est consultée. Peut-être fermez-vous la page tout de suite, ou laissez-la ouverte et lisez-la plus tard. C'est une statistique, donc à long terme, c'est généralement plutôt précis, mais ce n'est jamais vraiment la vérité. ;)

+0

J'ai aimé ta réponse – vsync

3

Il suffit de définir une fonction comme ceci:

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

javascript vous obtenez comme une chaîne dire HH: MM: SS, ou H: M: S en cas l'heure/minute/seconde nombre comme moins de 2 caractères

il suffit donc de faire un peu de mathématiques arround il

il suffit de mettre cette course quelque part dans la fenêtre, et l'associer à la session (guaranteing c'est dans toutes les pages), vous obtenez exactement combien temps que certains utilisateurs étaient dans votre page.

Edit: a dû supprimer une fonction que j'avais là qui était le mien et il est pas de javascript SRY: p

3

Il y a un événement javascript appelé onBeforeUnload qui exécute lorsqu'un utilisateur quitte une page. Cela peut inclure la fermeture des fenêtres/onglet ou la navigation vers une page différente (même si c'est sur le même site). En obtenant le temps immédiatement après le chargement de la page et en utilisant JavaScript pour envoyer une demande synchrone onBeforeUnload avec la différence de temps entre le chargement et le départ, vous pouvez effectivement suivre le temps passé sur une page. Je suppose que c'est ce que Google fait.

Si vous voulez des exemples de code de travail et un peu plus d'informations, vérifiez this.

Questions connexes