我正在开发电子商务系统,我想跟踪产品页面浏览量,但我不确定这样做的最佳方式......我的老板建议我应该计算一个视图用户第一次打开产品页面然后存储一个cookie,说明它已被查看,但如果用户不接受cookie会怎样?另一个选择是存储用户的IP地址,但如果同一公司的许多不同用户打开产品页面会怎么样?只计算一个视图?
有什么建议吗?
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
听起来您只想知道用户是否已查看过该产品。对于像这样的非关键应用程序,cookie是正确的答案。
如果您想知道哪些产品最受欢迎,请使用Google Analytics。对于绝对最多的信息和控制,使用JavaEE技术实现拦截过滤器。
答案 2 :(得分:0)
Cookie是一种好方法。如果您想确保可以确定跟踪任何用户,即使是那些不使用cookie的用户,也可以尝试使用会话ID。你需要一个数据库。每次新用户进入您的页面时,您都会生成一个会话ID,一个随机数(一个laaaarge)和一个在活动会话ID列表中找不到的。对于您网页上的每个链接,您都会附加此ID,因此
http://example.net/somepage.html
变为
http://example.net/somepage.html?session_id=395993483829453949
表示如果用户点击页面上的任何链接,则所有链接现在都有会话ID。因此,每当用户请求一个页面并且在URL的末尾有 no session_id时,他就是一个新的(算他),如果他有一个并且这个ID不在数据库中,那么算他和给页面上的所有链接一个新的session_id,如果他有一个并且id在数据库中,不要计算他并确保他刚刚请求的页面上的所有链接再次包含相同的session_id。
数据库需要在每个会话中存储一个表行,其中包含会话ID和日期/时间戳。创建新ID时,时间戳是创建此ID的日期(NOW),否则,只要用户请求页面,时间戳就会再次更新为当前时间。因此,只要用户浏览您的页面,时间戳就不会超过几分钟,可能长达一两个小时。
现在你只需要一个每30分钟运行一次的后台任务,发现任何会话ID都超过了,比如说4个小时就删除它。这样会话ID就会过期,同一个用户可能会在一天之后回复带有URL中会话ID的页面,但是他的SID已经过期,因此他被视为新访问。
然而,我认为这是过度的,除非你运行一些非常复杂的网站,真正需要这样的东西。否则,Google Analytics(分析)可以很好地完成您的任务。