J'ai travaillé à la création d'une petite bibliothèque et d'un service JavaScript qui permet de mesurer le temps passé par un utilisateur sur une page Web. Il présente l'avantage supplémentaire de suivre avec plus de précision (mais pas parfaitement) la durée d'interaction réelle de l'utilisateur avec la page. Elle ne tient pas compte du temps pendant lequel un utilisateur change d'onglet, se met en veille, réduit le navigateur, etc. La méthode de Google Analytics a le défaut (d'après ce que je comprends) de ne vérifier que lorsqu'une nouvelle requête est traitée par votre domaine, ce qui n'est pas toujours précis. Elle ne tient pas compte du fait qu'une personne ne consulte plus votre page, qu'elle a réduit son navigateur, qu'elle a changé d'onglet pour 3 pages web différentes depuis le dernier chargement de votre page, etc.
Pour référence - aucune solution n'est parfaite. Mais j'espère que celle-ci apporte une valeur ajoutée. Vous pouvez mettre en œuvre l'API Javaacript et recueillir les statistiques vous-même ou vous pouvez utiliser le service qui fait tout cela pour vous.
http://timemejs.com
Un exemple de son utilisation :
Incluez dans votre page :
<script src="https://timemejs.com/timeme.min.js"></script>
<script type="text/javascript">
TimeMe.initialize({
currentPageName: "home-page", // page name
idleTimeoutInSeconds: 15 // time before user considered idle
});
</script>
Si vous voulez rapporter les temps vous-même à votre backend :
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST","ENTER_URL_HERE",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
xmlhttp.send(timeSpentOnPage);
TimeMe.js prend également en charge l'envoi de données de chronométrage via des websockets, de sorte que vous n'avez pas besoin d'essayer de forcer une requête http complète dans l'application document.onbeforeunload
événement.
1 votes
Ceci pourrait vous aider : stackoverflow.com/a/3893491/235710
0 votes
Vous pouvez simplement installer google analytics
2 votes
Pourriez-vous être un peu plus précis sur ce que signifie "faire quelque chose" ? Gardez à l'esprit que le temps écoulé depuis qu'ils ont chargé votre page n'est pas en corrélation avec le temps qu'ils ont passé en regardant votre page. J'ai des onglets ouverts dans mon navigateur que je n'ai pas regardés depuis des heures.
1 votes
Par faire quelque chose, je voulais dire exécuter du code php. Il s'agit de pages vidéo, mais les vidéos sont intégrées et les sources n'ont pas de grandes API. C'est donc le seul moyen pour moi de vérifier si l'utilisateur a regardé 20 minutes de la vidéo ou non.