本文介绍了数据埋点的定义、用途和分类。数据埋点是一种记录和收集终端用户操作行为的方式,通过在终端部署采集的SDK代码,自动触发记录和存储用户行为数据。采集到的数据可以通过大数据处理等方式得到产品状态的基本指标,并且在数据挖掘等技术的支持下能够发挥更多的作用。
埋点可以分为前端埋点和后端埋点,显性埋点和隐性埋点,路径埋点和独立埋点,业务埋点和监测埋点等。其中,前端埋点是当前主要采用的方式,通过终端嵌入的数据采集代码可以方便地收集用户在界面上的行为数据,为后续的数据分析提供主要来源。代码埋点是目前主流的埋点采集方案,虽然需要开发人员不断添加采集代码,但可以实现高度定制化和精准控制。
另外,还介绍了可视化埋点技术和无埋点技术的原理和优缺点。前端埋点需要注意页面和控件标识的设计,以及漏报和重复上报的衡量方法。前端埋点可以处理不需要服务器交互的事件,并将原本属于后端埋点的事件放在前端上报。后端埋点相比前端埋点具有数据传输即时性强和减少耗电的优势,但也存在一些限制。
前言
通过阅读本篇,你将获得以下三方面的知识:
什么是埋点?
埋点的用途?
埋点的分类?
一、什么是埋点?
数据埋点是一种重要的数据采集方法,其主要目的是记录和收集终端用户的操作行为。其基本原理是在App/H5/PC等终端上部署采集的SDK代码,当用户的行为满足特定条件(如进入某个页面、点击某个按钮)时,会自动触发记录和存储操作。随后,这些数据会被收集并传输给终端提供商,或用于后端采集用户使用服务过程中的请求数据。
一个典型的埋点采集处理流程如下图所示:
二、埋点的用途
终端提供商通过收集到的埋点数据,利用大数据处理、数据统计、数据分析和数据挖掘等方法,可以获取一些关键的产品状态指标,包括活跃用户数、留存率、新增用户等大体数据,从而深入了解产品的表现。此外,随着数据挖掘等技术的进步,埋点数据在以下方面的应用也变得越来越显著:
驱动决策:ABtest、漏斗优化、用户增长、bug修复、精准营销、流失用户预警
驱动产品智能:智能推荐(千人千面)、场景化提示(私人助理)等
驱动安全:风险识别
三、埋点的分类
根据定位的不同,埋点可以分为前端埋点和后端埋点。根据形式的不同,埋点可以分为显性埋点和隐性埋点。根据路径的不同,埋点可以分为路径埋点和独立埋点。根据需求的不同,埋点可以分为业务埋点和监测埋点。
由于埋点的操作过程主要依赖于终端的交互界面,制定数据采集方案的方法也只是从不同的角度来设计不同的埋点分类。当前主要采用的是前端埋点方式,以下将对前端埋点进行详细讲解。
- 前端埋点
前端埋点是一种在用户端(APP、Web、客户端)嵌入数据采集代码的技术,常见的如友盟等,通过嵌入代码实现对网页访问数据的采集。与后端埋点相比,前端埋点能够更方便地收集用户界面上的行为数据,例如按钮点击、页面跳转顺序、停留时长等。这些数据在后续的数据分析中起到重要作用。
前端埋点技术有以下三类:
- 代码埋点
代码埋点是直接将采集SDK集成在终端,然后不断在此基础上添加调整采集方案,是目前主流的埋点采集方案,其优缺点如下:
优点:
高度定制、控制精准、采集的数据丰富准确
缺点:
首先是每当有采集需求,需要开发人员不断添加采集代码,工作量大;
其次变更采集策略,需要发布新版本,代价巨大,存在滞后效应;
最终,由于将采集的用户行为数据不断记录和上报,并常驻于终端,对于移动终端来说会增加耗电和消耗数据流量的负载。此外,在数据上报传输的过程中,也存在丢失数据的风险。
- 可视化埋点
由于代码埋点需要终端开发人员来执行采集方案,对业务的功能开发侵入性较高。然而,一些公司已经开发出了可视化埋点技术,该技术允许产品与运营人员通过GUI界面进行鼠标简单点击,从而实现随时增加、取消和调整采集数据的位置和方式。采用这种埋点方式,可以避免终端开发人员的介入,直接由需求人员执行数据采集,从而减轻了需求传递过程中的信息损耗和误解。此外,可视化埋点技术往往通过服务端直接下发采集的配置文件,无需跟随版本发布,从而加快了数据采集的流程。
具体实现方式参考:
实现方法如下:通过使用SDK定时捕获应用界面截图,同时对界面的根UI对象及其可视化子对象进行遍历,以获取它们的层级关系。基于捕获的截图和UI元素的可视化信息,进行页面重新渲染,以识别可埋点的控件。当产品人员在后台管理端的截屏画面上点击可埋点控件并设置相关配置时,服务器将保存这些配置信息。而在客户端获取到这些配置后,将按照新的配置进行数据采集。
- 无埋点
无埋点和可视化埋点的原理基本相同,但它们的区别在于无埋点先遍历所有的控件和操作行为组合,然后将这些组合交给埋点后台。数据分析人员可以根据需要选择哪些组合进行数据分析。以下是无埋点的优缺点:
优点:
收集数据全面,无漏报
缺点:
采集数据量巨大,增加了终端流量消耗和服务器存储负担。
埋点的上报时机相对呆板,不能灵活的根据特定的场景进行特殊设置
前端埋点的注意事项:
页面和控件标示上报要从顶层进行合理的设计,层次感要明显
埋点数据的漏报和重复上报如何衡量
前端埋点允许我们在处理曝光和点击事件时避免与服务器的交互,并且可以将原先需要后端埋点来处理的与服务器的交互结果,例如关注成功、分享成功、优惠券领取成功等事件,转移到前端来进行上报。
后端埋点
后端埋点为了避免前端埋点的以下问题:
前端埋点的数据采集需要进行压缩和暂存处理,主要是为了减少移动端的数据流量消耗。除了一些需要实时上报的重要事件可以不受网络环境限制外,其他事件一般只在wifi环境下进行上报。因此,前端埋点数据可能会出现延迟和丢失的问题。相比之下,后端采集数据是在内网传输,具有较强的即时性和较小的数据丢失风险。
前端埋点采集程序由于需要常驻,监测实时和延迟埋点上报,不可避免的带来额外的耗电。
对于前端埋点的新增或调整采集方案,通常需要开发人员修改客户端代码并进行发布,这会受到发布周期的较大影响。此外,用户的版本更新通常不及时,导致新方案无法及时覆盖所有用户。尽管部分埋点管理后台现在支持热配置更新,但其功能一般较弱,仅支持一些基础的埋点事件的热更新部署。
注意:
很多时候并不把后端埋点独立出来,而是混合在前端埋点中,等用户和服务器端的交互返回结果之后,将结果进行上报。
为了确保精确采集相关数据,例如代金券发放等,我们建议在实施时优先选择后端埋点,除非后端无法采集到所需数据,此时可以参考前端埋点。此外,还可以考虑将业务数据库中代金券领取数据同步到数据仓库进行分析。
其它埋点
路径埋点和独立埋点
对于这部分埋点,我们应根据业务需求和SDK的开发能力进行设计。每个事件需要包含上下文路径信息,路径信息通常由页面、控件和行为三个方面组成。同时,路径的深度不应过大,一般应小于五层。
显性埋点和隐性埋点
作为一名IT工程师,可以将上述文字更专业地表达如下: 显性事件和隐性事件是根据用户感知的有无来进行区分的。显性事件是用户主动参与的事件,例如展示和点击事件。而隐性事件主要用于后台数据请求和拉取,用于监控和服务器数据交互是否正常。在隐性事件中,常使用扫描采集技术,例如应用程序启动后,扫描各个设置开关的状态信息并进行上报。
业务埋点和监测埋点
业务埋点和监测埋点是在不同角度上对业务需求进行考虑的。业务埋点主要关注产品需要统计的数据,如页面曝光和点击,推荐项的点击率等;而监测埋点主要关注业务流程中隐性的数据,比如服务器交互内容的拉取情况、本地潜在信息的生成情况等。此外,业务埋点的关键部分也可以用作监测埋点。
本文详细介绍了数据埋点的定义、用途和分类。数据埋点是一种重要的数据采集方式,通过在终端部署采集的SDK代码,记录和存储终端用户的操作行为。
埋点可以从不同的角度进行分类,如前端埋点和后端埋点、显性埋点和隐性埋点、路径埋点和独立埋点、业务埋点和监测埋点等。前端埋点是目前主要采用的方式,可以方便地收集用户在界面上的行为数据。代码埋点是主流的采集方案,具有高度定制化和精准控制的优点,但也存在开发和维护成本高、数据传输负载大的缺点。
可视化埋点技术可以减少对终端开发人员的依赖,加快数据采集流程。无埋点技术能够全面收集数据,但也增加了数据量和服务器存储负担。前端埋点需要注意页面和控件标识的设计,以及漏报和重复上报的衡量方法。部分需求可采用后端埋点,但需要注意与前端埋点的衔接和数据同步。综上所述,埋点是数据采集的重要手段,对于产品运营和决策有着重要作用。
【webfunny前端埋点系统】。]