10
votes

Comment mesurer le temps de visite d'un utilisateur

J'aime mesurer le temps qu'un utilisateur a passé sur une page particulière de mon webApp. D'abord, j'ai pensé à attraper l'événement Onunload / OnbeForeunloAllande dans le navigateur et informer le serveur via un XMLHTTPQUEST que l'utilisateur quitte maintenant comme suit: xxx

où xxx est l'inital tiemstamp lorsque la page a été rendue. .

Malheureusement, cette solution ne fonctionne pas dans tous les navigateurs (par exemple, Opera). Donc, ma deuxième idée était de ping le serveur constamment. Pour calculer le temps de visite, quelqu'un doit prendre le dernier temps de ping et le soustraire de l'horodatage inital. Mais je ne pense pas que c'est une bonne solution, soit surtout lorsqu'un utilisateur a opença 3 ou 5 onglets et que chaque onglet est des événements de tir tous les 500 ms ...

Comment mesureriez-vous le temps de visite? Quelqu'un a une meilleure idée d'obtenir le temps passé sur une page particulière?


1 commentaires

Comment as-tu fini par faire? Je pense aussi à pinging le serveur


4 Réponses :


3
votes

L'approche utilisée par ces outils que Google Analytics est que le temps de visite est mesuré comme le moment où l'utilisateur a touché la première page à la dernière page dans une seule "visite". Une seule visite est définie comme une série de vues de page par un utilisateur (cookie) où chaque visite est suffisamment proche de la précédente à temps. Je ne sais pas ce que cette limite est cependant.

Dans mon expérience, ces types d'astuces avec des événements de déchargement et ainsi de suite se limitent à être intrusifs et les utilisateurs ne les apprécient pas. En tant que tels, ils ajoutent peu à aucune valeur sur une approche plus passive, comme la construction de données de page Cookies Plus, voir les données.


0 commentaires

0
votes

Pourquoi ne pas regarder sur Google Analytics, le suivi standard capturera ces statistiques pour vous.

http://www.google.com/analytics/


0 commentaires

0
votes

Cela dépend de la quantité d'erreur que vous autoriseriez. Si l'erreur est dans l'ordre des dizaines de minutes, vous n'avez besoin que d'un journal de visite et définissez l'intervalle de délai d'attente de la session pour la dernière page. Si vous n'autorisez que des centaines de millisecondes, vous aurez besoin de ping. Si l'erreur est n'importe où entre les deux, vous devez toujours ping, mais à un taux inférieur; ou accepter le fait que pour un utilisateur qui ferme le navigateur ne tire pas l'événement Onunload.


0 commentaires

1
votes

Je suggère presque n'importe quel paquet d'analyse Web en fonction de certains objectifs de votre entreprise.

  1. Google Analytics : (gratuit)
  2. Yahoo Analytics : (gratuit) (Beta)
  3. woopra : (gratuit) (bêta)
  4. Omniture : (coûteux) (Courbe d'apprentissage difficile et difficile)

    [Il y en a d'autres, d'autres, plus adaptés aux rapports de réseau publicitaires ...]


0 commentaires