2008-10-05 10 views
1

Je travaille sur un système de commerce électronique et je voudrais suivre les pages vues du produit, mais je ne suis pas sûr de la meilleure façon de le faire ... Mon patron a suggéré que Je devrais compter une vue pour la première fois qu'un utilisateur ouvre une page de produit, puis stocke un cookie disant qu'il a déjà été vu, mais que faire si l'utilisateur n'accepte pas les cookies? Une autre option serait de stocker l'adresse IP de l'utilisateur, mais que se passe-t-il si un grand nombre d'utilisateurs différents dans la même entreprise ouvre les pages du produit? Juste une vue serait comptée?Meilleure façon de suivre les pages vues

Des suggestions?

merci!

+0

@Paulo Vous dites "suivre les pages vues", mais de ce que vous sous-entendez "pages vues par visiteur ou par session-visiteur" – micahwittman

+0

Une lecture utile sur l'efficacité (marketing bent) de "Page View" comme une métrique . http://www.micropersuasion.com/2006/12/the_iminent_dem.html – micahwittman

Répondre

1

Est-ce quelque chose que vous voulez construire dans votre application, ou pourriez-vous atteindre votre objectif en utilisant simplement l'un des outils gratuits de statistiques de journaux Web? (Tels que AWStats)

Il existe une série d'outils gratuits here.

0

Il semble que vous vouliez simplement savoir si un utilisateur a déjà consulté ce produit. Pour une application non critique comme celle-ci, les cookies sont la bonne réponse.

Si vous voulez connaître les produits les plus populaires, utilisez Google Analytics. Pour le plus grand nombre d'informations et de contrôle, implémentez un filtre d'interception en utilisant les technologies JavaEE.

0

Les cookies sont un bon moyen. Si vous voulez vous assurer que vous pouvez suivre n'importe quel utilisateur, même ceux qui n'utilisent pas de cookies, essayez un identifiant de session. Vous avez besoin d'une base de données pour cela. Chaque fois qu'un nouvel utilisateur entre dans votre page, vous générez un ID de session, un nombre aléatoire (un laaaarge) et un qui n'est pas trouvé dans la liste des ID de session actifs. Pour chaque lien sur votre page, vous ajoutez cet ID, donc

http://example.net/somepage.html 

devient

http://example.net/somepage.html?session_id=395993483829453949 

qui signifie que si l'utilisateur clique sur un lien sur la page, tous les liens ont maintenant un ID de session. Ainsi, chaque fois qu'un utilisateur demande une page et a aucun session_id à la fin de l'URL, il est un nouveau (comptez-le), s'il en a un et cet ID n'est pas dans la base de données, comptez-le et donnez tous les liens sur le page un nouveau session_id, s'il en a un et l'id est dans la base de données, ne le comptez pas et assurez-vous que tous les liens sur la page qu'il vient de demander contiennent à nouveau le même session_id.

La base de données doit stocker une ligne de table par session, contenant l'ID de session et une date/horodatage. Lorsque vous créez un nouvel ID, l'horodatage est la date à laquelle cet ID a été créé (MAINTENANT), sinon chaque fois qu'un utilisateur demande une page, l'horodatage est à nouveau mis à jour à l'heure actuelle. Donc, aussi longtemps que l'utilisateur navigue sur votre page, l'horodatage ne sera jamais plus vieux que quelques minutes, peut-être jusqu'à une ou deux heures.

Maintenant vous avez seulement besoin d'une tâche d'arrière-plan qui s'exécute toutes les 30 minutes, qui trouve un ID de session plus ancien que, disons 4 heures et le supprime. De cette façon, les ID de session expireront et le même utilisateur, qui a peut-être marqué une page avec l'ID de session dans l'URL, pourra revenir un jour plus tard, mais son SID a expiré et il est considéré comme une nouvelle visite.

Cependant, je suppose que c'est exagéré, sauf si vous exécutez un site vraiment compliqué qui exige vraiment une telle chose. Sinon, Google Analytics fera très bien pour votre tâche.

+0

donc les nombres aléatoires ne semblent pas aussi énormes et hostiles, vous pouvez les rendre de base 16. ou de base 64? – Albert

Questions connexes