监测产品数据采集的三种埋点方案

一个典型的数据监测产品的数据处理大概要经过五个步骤:数据采集、数据传输、数据存储、数据分析/挖掘、数据可视化。作为整个流程的第一步,数据采集尤为重要。一旦数据采集出了问题,那么后面四步将变的毫无意义。

监测产品数据采集的三种埋点方案

监测类产品的数据采集,也就是我们所说的埋点(也叫加码/打点)。相信有使用过数据监测产品的朋友来说,对埋点并不陌生。常见的埋点方案有三种:手工埋点、可视化埋点和无埋点。

手工埋点

手工埋点最为常见,技术原理也相对简单。先在需要监测的页面引入基础 js 文件,然后根据业务需求添加监测代码。下图为曾经使用 Webtrends 手工添加业务代码和事件代码:

Webtrends埋点
(图:Webtrends 业务代码)

Webtrends埋点
(图:Webtrends 事件代码)

比较常用的监测产品,如 Google Analytics、Omniture、Webtrends、Coremetrics、Flurry、百度统计、CNZZ、腾讯云分析、友盟等,均是手工埋点。

手工埋点的最大优势是灵活。使用者可以灵活方便地设置自定义事件属性、发送数据内容、发送时间等,采集自己最为关心和需要的数据。不过,对于大型、复杂的网站来说,每次增加或者修改一个页面,均需要数据分析师重新出一份埋点文档,开发同事根据埋点文档埋点,数据分析师验收埋点无误才能上线。跨部门沟通使得手工埋点成本变高。

可视化埋点

为更好的解决手工埋点流程复杂、成本高问题,可视化埋点应运而生。可视化埋点与好多年前比较流行的网页制作利器 Dreamweaver 类似——所见即所得,通过点击交互替代手写代码。可视化埋点采集数据的原理是在需要监测的页面引入基础 js 文件;使用者进入可视化模式下,选择并配置监测内容(Html 元素)的信息被记录,并存放在相应位置。当真实世界的用户触发到该监测内容时,基础 js 会自动加载之前配置过的信息,记录并发送该数据。

使用可视化埋点比较有代表性的数据监测产品是国外的 Mixpanel, Mixpanel 有两种埋点方式:Programmatic 和 Codeless。其中,Codeless 也就是我们说的可视化埋点。可视化埋点的使用流程如下:

  1. 在需要监测的页面引入基础 js 文件;
  2. 通过 Mixpanel 后台选择要添加监测的页面;
    数据监测产品Mixpanel
  3. 在页面中选择要监测的内容(Html 元素);
    数据监测产品Mixpanel
  4. 配置要监测的内容并保存。
    数据监测产品Mixpanel

国内可视化埋点的数据监测产品有神策分析。

无埋点

无埋点和可视化埋点操作形式类似,均是通过可视化的形式添加要监测的内容。但是从实际的实现角度看,两者并不相同。可视化埋点必须先通过配置才能实现内容监测;而无埋点默认先尽可能多的收集能监测的内容,然后再通过配置确定哪些内容需要展示和分析。所以无埋点又叫做「全埋点」。

使用无埋点比较有代表性的数据监测产品是国外的 Heap. 和可视化埋点类似,无埋点的使用流程如下:

  1. 在需要监测的页面引入基础 js 文件;
  2. 通过 Heap 后台选择要添加监测的页面;
    数据监测产品HeapAnalytics
  3. 在页面中选择要监测的内容(Html 元素);
    数据监测产品HeapAnalytics
  4. 配置要监测的内容并保存。
    数据监测产品HeapAnalytics

国内无埋点的数据监测产品有 GrowingIO.

由于无埋点默认已经尽可能多的收集了能监测的内容,所以无埋点相比可视化埋点的优点是可以对想要监测的数据进行回溯,不必担心因为漏掉埋点而导致数据丢失情况。但由于有大量的数据需要预先传输,数据时效性和网络传输对无埋点技术要求较高。

总结

无埋点技术添加一些简单的事件类监测确实比较方便,但依然无法完全取代手工埋点。无埋点添加监测的前提是在可视化界面下能看到并且能够点击,而需要通过拖动屏幕载入更多内容的「瀑布流」网站,便无法添加监测事件。同时,对于电商类网站的多级分类关系以及提交订单收集商品详细信息等复杂操作,无埋点还是无法实现,还是需要手工埋点。手工埋点虽然操作流程相对复杂,但是数据采集更加灵活。

对于三种埋点方案,你有什么看法,欢迎留言讨论。

本文首发于微信公众号:DataPD

评论