前段时间做过一个小调研:你还在手动埋点?手动跑数据?,后面就一直关注这个方面的知识,各家的方案都不同。数据统计这件事情,大厂99%都是自研,也不会使用第三方服务。
数据统计这件事情不只是前端的事情,而且要涉及到后端,核心需要做两件事情:
第一,前端需要上报数据;
第二,后端能够把数据保存好,能够快速获取数据;
当需要分析数据的时候,能够快速地通过平台直接查看,每次做需求的时候,能够提供AB策略,可直观地看到实验组与对照组的数据,这样能够快速确定需求是否真的有价值,有意义。
作为前端人,我们能够做到的是,数据上报「标准化」、「自动化」、「可追踪」,起码能够看到所有前端页面的浏览器分布、用户画像、地域分布、PV、UV,不用需要数据的时候才去跑数据。
前端该如何做?
如果没有思路的时候,其实可以参考其它公司的方案。这也是本文的重点。我们以懂车帝网站为例,当点击的时候会上报一条数据,通过上报的时机,可以找到对应的 js:
比如我们随便点击网站中的一个元素,可以发现都会触发一次上报:
点击后上报的参数,下图的ssid指的是服务集群的标识:
header中的数据:
events 中是一个数组,可以把多个事件合并为一个进行上报,减少请求:
重点看下 events 中最后一条 clk_event 中的 params,ele_path 既可以唯一标识一个元素:
自定义参数主要通过 DOM 中的 data 属性,比如:
总的来说,自动埋点方案可行,而且有成熟的方案可以参考。想了解更多内容,可以研究一下 autotrack.js 的实现思路。本文点到为止,目的是给大家提供一个实现自动化埋点的思路。
大家加油!!!
长按关注
素燕《前端小课》
帮助 10W 人入门并进阶前端
官网:https://lefex.gitee.io/