使用.NET跟踪用户进行独特访客报告的最佳方法?

时间:2008-12-03 08:30:28

标签: .net cookies reporting

我通常会使用Google分析,因为它是免费且易于实施的,但在这种情况下,我们需要一个内部构建的报告系统。这个系统只需要在.NET中,因为JavaScript不是一个选项。

我的问题是,当您无法确定是否已启用Cookie时,如何跟踪唯一身份访问者?

我打算通过设置带有GUID的cookie来跟踪它们,然后将这个ID存储在数据库中以防止每个页面命中。问题是,如果他们没有启用cookie,就不可能知道每次他们点击页面时是否创建了新的cookie,因为最后一个cookie由于被禁用而实际上没有被接受。你显然不能使用会话来跟踪它,因为它们完全在同一条船上。

我想你们中的一些人会说要在用户进入网站之前创建一些检查cookie的页面,但这无济于事,因为用户不会总是从网站上的某个点进来。

谷歌必须设法做到这一点,尽管他们使用的是JavaScript。

创建新的跟踪ID是一个问题的原因是因为它会使我的报告与应该的报告相比更糟糕。假设我有4个用户访问,每个访问10页。如果一个用户没有启用cookie,则会说该网站有13个唯一身份访问者。

3 个答案:

答案 0 :(得分:2)

首先,唯一身份用户总是近似值。没有保证强制cookie的方法,它们的持久性并不完全在你的控制之下,而IP通常代表用户的块(有时是巨大的)。这个领域的数据质量不好,你只需要接受它。

This是关于cookie分析的一个很好的入门读物。

根据我的经验,跟踪IP至少提供了一个安全的下限,但你仍然在谈论模糊的数据。

我所知道的所有其他cookie替代品只是暂时的。

其次,“ JavaScript不是一个选项”是什么意思?通过关闭JS来严格限制ASP.NET功能,并且您的选择将更加有限。这是你期待的状态吗?

答案 1 :(得分:0)

我建议您在他们/用户使用您的第一页时,在他们登录页面时跟踪您的数据库直通服务器端代码中的用户:

借助于此:HttpBrowserCapabilities browser = Request.Browser;  您将获得有关使用哪种浏览器,设置或不设置cookie等信息...然后根据您设置或不设置cookie,您可以操纵所需的信息/跟踪所需信息。

答案 2 :(得分:0)

首先,你永远不会获得100%的准确性。期。话虽如此,你可以做一些事情。

我开始打字你如何建立一个无cookie的跟踪机制,当我在一半的时候,我心里想着“自己,当然,ASP.NET会支持这样的开箱即用的东西吗?”。确实:Cookieless Session IDs。这至少可以让您确定哪些请求来自单个会话中的特定(但仍然是匿名的)用户

不确定是否可以将其与使用Cookie混合(如果它们可用(这会产生更好的网址,并且可能让您有机会跨会话跟踪用户),但这可能是一个开始。