一、前言
神策分析 Web JS SDK,是一款轻量级用于 Web 端和 H5 端的数据采集埋点 SDK,它的核心功能是数据采集和发送数据到指定的服务端。具体而言,是指使用原生 JavaScript 技术实现代码埋点、全埋点、可视化全埋点、网页热力图和触达图等功能。下面,我们将对这些功能逐一进行介绍。
二、数据采集
对于 SDK 而言,数据采集是指在用户行为触发时(例如:进入某个页面、点击了某个按钮等),按照既定的数据格式,将用户的行为进行数据化。按照采集方式的不同,可以分为代码埋点、全埋点和可视化全埋点等。
2.1 代码埋点
2.1.1 概要介绍
代码埋点又称为自定义埋点。具体含义是:在 SDK 初始化之后,对于每一个关注的事件,调用 track() 等相关接口,将采集的数据保存到发送队列中,然后按照一定的发送策略将数据发送到指定的服务端。例如:某个 li 元素被点击,如果想采集这个 li 元素的点击事件,就需要在 li 元素的 click 事件代码中采集数据。
2.1.2 使用场景
代码埋点有很多优点:
(1)精准控制埋点位置。
(2)灵活的自定义事件和属性,方便采集丰富的业务相关数据。
(3)可以满足精细化的分析需求。
当然,代码埋点也有相应的缺点:
(1)埋点代价比较大,每一个控件的埋点都需要添加相应的代码,不仅工作量大,而且需要技术人员参与。
(2)更新的代价比较大,每一次更新埋点方案,都必须修改代码。
(3)所有前端埋点方案都会面临的数据传输时效性和可靠性的问题,这个问题只能通过在后端采集数据来解决了。
因此,可以知道代码埋点适用于需要精准控制埋点位置、灵活的自定义事件和属性等精细化需求的场景。
2.2 全埋点
2.2.1 概要介绍
全埋点又可以称为自动埋点。具体含义是:当集成使用了 SDK,开启了对应的配置项,就可以自动采集数据。采集的范围包括:页面浏览、页面元素点击、视区停留等。
(1)页面浏览:用户打开网站或者 H5 页面时,立即触发一次页面浏览事件,然后采集相关数据并发送到指定的服务端。
(2)页面元素点击:用户在网站或者 H5 页面内,对于 a input button textarea 元素进行点击时,触发页面元素点击事件,然后采集相关数据并发送到指定的服务端。
(3)视区停留:用户在网站或者 H5 页面内,有效停留一点时间,比如 4 秒(时间可以自定义),触发了 document 的滚动。此时,会采集相关数据,记录有效浏览,并发送到指定的服务端。
2.2.2 使用场景
全埋点有如下优点:
(1)展示宏观指标,满足基本数据分析需求。通过展现 PV、 UV 等网站分析的宏观指标,告诉运营人员每个控件被点击的量有多少,哪些控件值得做更进一步的分析,有助于企业了解用户行为,为进一步数据分析指明方向。
(2)技术门槛低,使用与部署较简单。只需要嵌入 SDK,极大程度避免了因需求变更、埋点错误等原因导致重新埋点的复杂工作。
(3)用户友好性强。自动向服务器发送数据,避免手工埋点的失误。
同时,全埋点也有一些缺点:
(1)全埋点只能采集到用户交互数据,且适合标准化的采集,自定义属性的采集需要代