一、埋点概述

1. 埋点的定义

通常说的埋点实际上就是基于埋点技术所采集的用户行为数据。埋点是一种数据采集技术,区别于业务系统所存放的业务结果数据,埋点技术主要用于获取来自APP、页面上的行为数据

具体实现方式就是在需要监测用户行为数据的地方加上一段代码,在移动app上为SDK、在网站页面上为一段JS代码,并通过采集工具上报统计数据,以便相关人员追踪用户行为

举个例子:类似城市交通系统中的摄像头,每个摄像头就是一个埋点,监控该区域发生的一切,从而满足交通、市政等的管理需求。在开车时候,交通广播电台广播的实时路况播报,基于摄像头反馈的车流情况进行分析的应用场景。

image

2. 埋点的作用

数据埋点是数据分析和建模的基础,是大部分数据生产的主要方式。而数据来源主要由业务数据、行为数据组成,而埋点采集技术就是用于解决如何获取用户行为的技术

埋点数据是现有数据体系中重要的数据来源,在数据埋点之前,大部分数据主要依托于业务库中存放的数据,对于业务发生过程中的行为数据是无法获取的,那基于行为的数据价值就无法实现。

Untitled.png

a. 用户运营:在大数据场景下,基于用户的运营是最好的运营。

b. 运营传递产品价值给用户:运营的主要工作内容通过不同的手段将产品的价值有效传递给用户。

c. 运营用户前先了解用户:运营前提就是了解用户,知道用户要什么,能够精准把握用户的需求。

d. 基于行为判定意图:用户行为是判断用户需求的有效方式,是对用户当下真实意图的一种判断依据,说什么不重要,关键是做了什么。

e. 埋点采集行为数据:埋点技术作为一种采集用户行为数据的技术,为了解用户提供了解决方案。

3. 埋点采集技术有那些?

基于不同平台,现在采集方案分别是web端(基于浏览器)日志采集及APP移动端日志采集两种。

平台 采集技术方案 埋点方案概述
web端 web端日志采集 Web埋点主要是通过先在页面中注入一段JavaScript代码,然后对收集的数据进行上报的技术。
APP端 APP移动端日志采集 App埋点技术是通过在代码中加入特殊的代码或者引入一个SDK,对App中的信息进行收集的一种技术。

二、web端(浏览器)日志采集

浏览器日志采集进一步又分为页面浏览日志、页面交互日志采集两类。

1. 页面浏览日志

当一个页面被浏览器加载呈现时采集的日志,主要用来记录用户到访过的页面和访问路径,从而解决页面流量和流量来源统计的问题,此类日志是最基础的互联网日志,也是目前所有互联网产品的两大基本指标:页面浏览量( Page View, PY)和访客数( Unique Visitors, UV)的统计基础

2. 页面交互日志

当页面加载和渲染完成之后,用户可以在页面上执行各类操作,主要用来记录用户访问某个页面时具体的互动行为特征,比如鼠标或输入焦点的移动变化(代表用户关注内容的变化)、对某些页面交互的反应(可借此判断用户是否对某些页面元素发生认知困难)等,以便通过量化获知用户的兴趣点 或者体验优化点。

3. 其他事件

针对一些特定场景的采集日志,也衍生出一些特殊采集日志。

  • 采集媒体在页面被曝光状态的曝光日志
  • 用户在线状态的检测

三、APP移动端日志采集

移动端的数据采集,一是为了服务于开发者,协助开发者分析各类设备信息;二是为了帮助各 APP 更好地了解自己的用户,了解用户在 APP 上的各类行为 , 帮助各应用不断进行优化,提升用户体验。

image

移动端的日志采集根据不同的用户行为分成不同的事件,“事件”为无线客户端日志行为的最小单位。基于常规的分析, 事件可以分成以下几类, 常用的包括页面事件(同前述的页面浏览)、页面区域的曝光事件、控件点击事件(同前述的页面交互)等。

页面浏览事件、区域曝光事件、点击事件

页面浏览事件

区域曝光事件

点击事件

1. 页面浏览事件

用户在APP内打开一次页面,刷新一次页面,记为一次该页面的页面浏览。浏览事件可以统计某个页面被打开过的数据,如今日头条一篇文章被浏览的次数。

2. 区域曝光事件

APP页面内某一区域被用户看到一次,则记为一次该区域曝光事件。曝光事件的作用就是可以统计某个区域被用户有效看到的次数,有效需要通过一些规则来

🗝️ 曝光和浏览的区别及联系:
曝光是有效浏览,需要保证内容确实被用户看到,更多的需要结合规则进行统计,比如看到的时长,看到的内容,通常统计的对象是区域、模块。
浏览则无需保证有效,更多的是从技术角度进行统计,比如一次页面接口的调用就是一个浏览事件的统计,通常统计的对象是页面。

3. 点击事件

用户在APP内产生的每一次点击,记为一次点击事件,其最直接作用就是可以统计某个按钮,某个区域的被点击次数/人数。

  • 加入购物车按钮点击
  • 立即购买按钮点击
  • 联系客服按钮点击
  • 店铺按钮点击
  • 购物车按钮点击

4. 案例

背景 埋点 埋点分类 作用
公司业务最近上新了一个新功能“消息通知”,分析师需要知道这个功能上线后倒地有多少人去使用 消息通知icon的点击 点击事件 消息通知icon点击率
需要知道消息通知列表页面用户一般会看几条信息,因为业务可能会推送多条的更新信息 每条消息曝光 曝光事件 页面停留时长和浏览高度
知道用户是那个信息来源来到消息通知页面的 消息通知页浏览事件 页面时间 确定浏览页面的来源是点击“消息通知”icon进来的、还是点击通知提示进来的

四、埋点技术方案

数据埋点需要通过技术手段实现,从技术实现方案来看,常见的数据埋点有代码埋点、全埋点、可视化埋点三种。

Untitled.png

image

1.代码埋点(自定义埋点)

代码埋点也称自定义埋点,是一种应用于APP应用的埋点技术,通过在代码中加入一段埋点代码进行数据上报,从而监控用户行为事件,收集用户数据。

这里进一步又可以基于实施人员,拆分出客户端代码埋点及服务端代码埋点两种

a.客户端埋点

由前端开发手动定义数据采集时机及内容,将数据采集代码加入到前端业务代码中,当用户在前端产生对应行为时,触发数据采集。

  • 优点
    • 按需埋点、定制化个性化上报,几乎可以覆盖所有数据采集场景
    • 可将行为数据与业务数据整合上报
  • 缺点
    • 数据延迟上报,存在存储数据丢失问题
    • 需要客户端发版,老版本埋点不全
    • 埋点的开发工作量较大,研发成本
    • 埋点管理问题,埋点越来越多,划分越来越细致,涉及管理人员越来越多,就导致埋点丢失或者改变、落后业务等问题

eg:在电商网站中,可以在商品详情页的购买按钮处添加一个点击事件的埋点,记录用户点击了该按钮的时间、位置和商品信息等数据。

b.服务端埋点

由服务端开发将埋点采集代码加入到后端服务器代码中,当用户通过前端代码请求服务端数据时,按照约定规则触发埋点。

  • 优点
    • 按需埋点、定制化个性化上报,几乎可以覆盖所有数据采集场景
    • 可将行为数据与业务数据整合上报
    • 数据采集时上报,准确性高,丢失率低
  • 缺点
    • 纯前端操作,不触发后端接口请求的行为,数据则无法上报
    • 埋点开发工作量大
    • 埋点流程需要多方协作,容易漏埋点、错埋

eg:对于一些非点击、不可见的行为,或者要获取用户身份信息、更多的业务相关的属性信息。如果前后端都可以采集到,优先后端埋点。

2. 全埋点

全埋点是指通过在app内引入SDK,自动收集用户的行为数据,无需手动添加埋点代码,这样就可以规避很多人工错误。

适用于简单的数据采集,例如页面停留时间、滚动深度、搜索关键词等数据,在实际业务上用的不多。

  • 标准化采集带来非标准化采集的不可用,定制、个性化的埋点无法兼容
  • APP开发存在复杂性,无法兼容全部场景
  • 无效信息的上报造成数据上报量级大使得存储成本增大,且很难得到治理,造成传输、存储、使用等资源浪费

eg: 在新闻网站中,可以使用无埋点技术,收集用户的页面停留时间、点击量和滚动深度等数据,了解用户对不同新闻类型和内容的兴趣和喜好。

3. 可视化埋点

可视化埋点是指通过可视化工具,如Google Analytics、Mixpanel、Amplitude等,在页面上选择需要埋点的元素,即可自动生成代码,并收集相应的数据。

可视化埋点是较多产商、自研轮子兵家必争之地,希望通过可视化埋点平台为业务提供一站式埋点方案。

  • 优点是标准化程度高
  • 缺点是不灵活,覆盖场景有限。

eg:在SaaS平台中,可以使用Google Analytics等工具,在注册页面的“提交”按钮处添加一个点击事件的埋点,记录用户的注册行为、来源渠道和注册成功率等数据。

4. 如何为公司选择埋点技术

选择埋点技术,根据公司所处的发展阶段,综合考量公司的业务情况、技术储备进行选择,下面给出一些建议。

  • 起步阶段,业务简单、数据量不大,未到精细化运营阶段,则考虑无埋点技术或自定义埋点技术都可。
  • 发展阶段,业务复杂度具备一定复杂性、数据量逐步变大,则用自定义埋点技术,这也是实际工作中使用最多的方案。
  • 成熟阶段,流量巨大,业务复杂度高,可以单独使用有埋点技术、也可以结合无埋点技术

总言之,都是为了进行数据采集,都有其优劣势,结合公司所处阶段、业务情况,选择适合自己的即可。