热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网站流量统计中的用户识别方法

1、基于IP的用户识别IP地址是最容易获取的信息,任何的WEB日志中均会包含,但其局限性也较为明显:伪IP、代理、动态IP、局域网共享同一

1、基于IP的用户识别

IP地址是最容易获取的信息,任何的WEB日志中均会包含,但其局限性也较为明显:伪IP、代理、动态IP、局域网共享同一公网IP出口……这些情况都会影响基于IP来识别用户的准确性,所以IP识别用户的准确性比较低,目前一般不会直接采用IP来识别用户。

获取难度:★

准确度:★

2、基于IP+Agent的用户识别

同样基于最简单形式的WEB日志,我们可以增加一项——Agent,来提高单一IP方式识别用户的准确性。Agent也是WEB日志中一般都会包含的信息,通过IP+Agent的方式可以适当提高IP代理、公用IP这类情况下用户的分辨度,同时通过Agent还可以识别网络爬虫等特殊“用户”,但同样准确度也欠高。

获取难度:★

准确度:★★

3、基于COOKIE的用户识别

当你通过自定义Apache日志格式或者Javascript的方法获得用户COOKIE的时候,其实你已经找到了一个更有效的用户识别的手段。COOKIE在未被清除的其前提下可以认为是跟某个访问客户端电脑绑定的(一个客户端有可能包含多个COOKIE),所以用COOKIE来标识用户其实指的是用户使用的客户端电脑,而并非用户本身。

用COOKIE识别用户的方法当然也存在缺陷:最常见的就是COOKIE被清除而导致用户无法与原先记录实现对应;同时由于客户端电脑会被共用,或者用户会在不同的电脑上访问你的网站,这个时候COOKIE就无法直接对应到该用户了。

获取难度:★☆

准确度:★★☆

4、基于用户ID的用户识别

基于用户ID的用户识别是最为准确,因为一般情况下用户不同共享他的用户ID,所以我们可以认为数据中的userid唯一地指向该用户,几乎不存在偏差。当然要使用用户ID来识别用户是需要一定的前提条件的:网站必须是提供用户注册登录服务的,并且可以通过一些手段在点击流数据中记录 userid。

获取难度:★★

准确度:★★★

所以对于一个需要用户ID注册登录的网站来说,用户唯一标识符的选择可以遵从以下顺序:当用户注册登录时以userid为准,当用户在未登录状态浏览时以用户的COOKIE为准,当用户未登录且COOKIE无法获取的情况下以IP+Agent为准;这样就能从最大程度上识别唯一用户。

这里推荐一个网站日志中COOKIE项的自定义设置方法,以便更好地识别用户。COOKIE是从用户端存放的COOKIE文件记录中获取的,这个文件里面一般在包含一个COOKIEid的同时也会记下用户在该网站的userid(如果你的网站需要注册登陆并且该用户曾经登录过你的网站且 COOKIE未被删除),所以在记录日志文件中COOKIE项的时候可以优先去查询COOKIE中是否含有用户ID类的信息,如果存在则将用户ID写到日志的COOKIE项,如果不存在则查找是否有COOKIEid,如果有则记录,没有则记为”-”,这样日志中的COOKIE就可以直接作为最有效的用户唯一标识符被用作统计。当然这里需要注意该方法只有网站本身才能够实现,因为用户ID作为用户隐私信息只有该网站才知道其在COOKIE的设置及存放位置,第三方统计工具一般很难获取。
获取用户信息的途径

通过以上的方法实现用户身份的唯一标识后,我们可以通过一些途径来采集用户的基础信息、特征信息及行为信息,然后为每位用户建立起详细的 Profile:

1) 用户注册时填写的用户注册信息及基本资料;

2) 从网站日志中得到的用户浏览行为数据;

3) 从数据库中获取的用户网站业务应用数据;

4) 基于用户历史数据的推导和预测;

5) 通过直接联系用户或者用户调研的途径获得的用户数据;

6) 有第三方服务机构提供的用户数据。
识别并获取用户信息的价值

通过用户身份识别及用户基本信息的采集,我们可以通过网站分析的各种方法在网站是实现一些有价值的应用:

* 基于用户特征信息的用户细分;
* 基于用户的个性化页面设置;
* 基于用户行为数据的关联推荐;
* 基于用户兴趣的定向营销;
* ……


推荐阅读
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • andr ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 在本周的白板演练中,Apache Flink 的 PMC 成员及数据工匠首席技术官 Stephan Ewen 深入探讨了如何利用保存点功能进行流处理中的数据重新处理、错误修复、系统升级和 A/B 测试。本文将详细解释保存点的工作原理及其应用场景。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • Netflix利用Druid实现高效实时数据分析
    本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ... [详细]
author-avatar
傻孩纸黄国帅哟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有