埋点方法及管理平台设计——橡胶jet战斧

本文主要围绕埋点建设方法和埋点管理平台建设,介绍了埋点构建的“3S方法”和“4层次”,以及进行埋点场景化梳理和结构化划分的方法、规范化的埋点数据采集、定义清晰的埋点命名规范。
图片
之前写了埋点的系列文章《01初识埋点》《02业务需求分析》《03埋点文档设计》等,本篇主要介绍埋点建设方法和埋点管理平台建设,补足04篇埋点管理平台和06篇埋点质量的内容。
一、概述
随着企业中的各应用中添加的埋点逐步增多,会有成千上万个埋点事件,并且随着埋点多个版本的迭代,线上文档维护较为混乱。
对于埋点使用者而言,埋点取数逻辑不清晰,埋点准确率存疑;埋点命名和页面结构管理混乱,找对应埋点耗时耗力;埋点重复建设,不知道用哪个埋点。
对于埋点开发者而言,埋点需求较多,开发压力大;建设了大规模的埋点,服务器存储计算成本高,但不知道哪些埋点可以下线。
那有什么系统化的解决方案,规避这些问题呢?
基于“3S方法+4层次”的建设方案,采用经验方法与产品服务建设并行的方式,提升埋点质量和埋点使用效率。(如下图所示)
图片
3S方法:包含“结构化、场景化、规范化”的建设方法;
4层次:贯穿数据的“采-建-管-用”,包含数据采集层、存储计算层、产品服务层、场景应用层。
数据采集层:使用代码埋点、可视化埋点、全埋点多种方式采集数据;数据存储计算层:划分ods-dwd-dws-app数仓分层,规范数据存储与计算;产品服务层:建设应用接入、事件/属性接入、模块/页面/事件/属性管理、埋点测试能力;场景应用层:可应用至用户行为分析、人群圈选、自动化营销、广告监测等场景。
二、“3S”方法
1. 场景化
埋点场景化建设,主要是指从埋点的实际使用场景切入,拆分相关运营模型,从产品运营策略倒推需要建设哪些埋点数据,最常用到的分析模型是OSM模型、UJM模型。
OSM:即目标、策略、度量,在什么业务目标下,需要采取哪些策略,需要统计哪些指标,需要采集哪些埋点数据。
UJM:是一种常用的用户行为路径分析方法,分析用户行为旅程上有哪些触点、需要统计的数据。例如之前在《02业务需求分析》埋点需求梳理文章中写到的,通过梳理用户访问首页、访问详情页、订单页、支付页等页面核心流程,再确定指标。
2. 结构化
埋点结构化建设,旨在解决埋点混乱、重复建设、难以查找的问题。通过建设清晰的分类结构,助力数据方有序建设埋点、业务方高效使用埋点数据。埋点体系的结构化建设可包含两种方式:按应用划分、按页面结构+业务划分
(1)按应用划分
以易到用车这类小型企业为例,其存在司机端app、乘客端app、小程序、web、以及内部的各后台系统等不同应用。每个应用需要埋点,不同应用背后对应着不同的运营团队,可先按应用划分,以更好地应对应用增减功能时,及时上下线对应埋点。
(2)按“页面结构+业务”划分
以易到app应用为例,如下图,按页面结构划分可拆解为用车、接送机、我的等页面,并且拆分2-3级子页面。这里要注意的是,按页面划分也不建议划分太深的层次结构,不然查找或管理对应埋点多为不便。
图片
因而,对于存在业务线较多的企业来说,在页面结构划分的基础上,可增加按业务划分。例如,以电商业务为一级,对应的电商类模块如轮播、商品列表页等均归于该模块下,方便对应业务线的产品运营同学使用。
3. 规范化
(1)埋点字段采集规范
埋点规范化建设,基于“4W1H”的方法全面采集埋点字段,保障埋点数据的完整性。
who:谁进行了操作?用户的唯一标识,如IMEI、cookieid等
when:什么时候操作的?如timestamp时间戳
where:在哪些页面操作?如cityid
how:用户如何操作?如click点击、view浏览
what:有哪些附加信息?如页面类型、页面标题、价格
例如“路飞在上午10点,浏览了价格为100元的牛肉干商品详情页”,输出标准需求文档规范,详情见《03埋点文档设计》。
(2)埋点命名规范
埋点命名=业务_页面_位置_埋点类型,例如“car_order_paybutton_click”。通过规范的命名,可提升业务的可读性,方便理解。
三、4层次
依照上述介绍的场景化、结构化、规范化的方法,建设埋点体系架构,涵盖4个层次,包括数据采集层、数据存储层、埋点平台层、应用场景层。
1. 数据采集层
数据采集是所有后续数据服务的基础,采集数据需要全面且细致。数据采集的流程是,用户触发上报行为日志,由flume采集到HDFS形成原始日志。
图片
flume是当前常见的数据采集工具。flume作为Hadoop的组件,是一个分布式、高可靠、高可用的海量日志采集、聚合、传输的系统。可理解为捞鱼的时候,用渔网工具捕鱼,然后将鱼放进篓子里,这里的渔网就是flume工具。
flume中传输的内容定义为事件(event),flume提供SDK,可支持用户定制开发,因而一般埋点平台也会提供SDK包,供各个业务线使用。
SDK的能力,例如下所示,一般包含埋点方式以及采集的一些公共属性。埋点方式包含自定义代码埋点(包含前端和后端埋点)、全埋点、可视化埋点,其适用场景及区别见《01初识埋点》。
图片
2. 存储计算层
数据存储计算层:划分ods-dwd-dws-app数仓分层,规范数据存储与计算。
ODS层原始日志,经过如异常值过滤、去重等ETL处理规则,形成用户行为明细数据到DWD;DWD层行为明细数据经过轻度汇总,得到用户行为宽表到DWS;DWS轻度汇总用户宽表,按应用主题划分,加工成不同的指标到APP层,供各产品/分析场景使用。
3. 埋点平台层
埋点系统层,围绕“增-测-看-用-下”,建设应用接入、事件/属性接入、埋点测试、模块/页面/事件/属性查看、编辑、下线能力。
图片
(1)埋点生产
埋点生产包含数据接入、新增页面、新增事件/属性、埋点开发、埋点测试五个环节。
①数据接入
埋点平台侧为各业务提供不同端的埋点SDK,例如web、iOS、Android等,业务侧的研发可按规范接入对应埋点。
当企业所需埋点的应用/系统较多时,为了更便捷地管理各个应用的埋点,需要给应用赋予应用ID和key标识。研发安装对应埋点SDK后,在代码中加入应用ID进行标识。
②新增页面
由于埋点通常会涉及较多页面,常有重复进行埋点,或是找不到对应页面上埋点的问题。因而需要做好页面结构管理,划分并管理页面层级结构,填写页面名称、父级页面、页面链接等信息,进行页面管理。
图片
该模块要注意的是,划分好权限管控,若所有人均可新建页面,页面建设会较为混乱,缺乏清晰的结构,后续也不能及时更新页面。划分业务管理员和普通用户的角色,由业务管理员来添加管理对应页面,普通用户进行查看。
③新增事件/属性
线下Excel维护了较多的不同页面下、不同版本的埋点事件,容易混乱。因而需要再系统上添加对应时间和属性数据,进行统一管理。新建事件时需要添加三类信息:
一是事件标识信息,进行事件的标识及含义维护,该模块跟埋点需求文档的字段对应。主要包含事件英文名、中文名、事件类型(如浏览、曝光、点击)、触发时机、事件所在的页面、事件截图等;
二是事件分类信息,方便进行事件的分类查询,特别是业务比较多的企业。包含事件所属业务(如出行、金融、电商)、端(如app、web、小程序);
三是属性信息,添加事件对应的属性。
图片
(2)埋点测试
产品/运营在平台中录入对应埋点事件后,研发同学按需进行开发,开发完成后,进行测试验收。埋点人工测试主要根据上报日志进行数据校验。在界面上填写设备ID和事件名,并查看测试报告,方便查看数据。
(3)埋点地图
不同端、不同业务线的埋点建设的比较多的情况下,业务如何快速查找到所需的埋点数据。埋点数据地图主要是运用分类思维,通过各种筛选组合,助力业务快速查询埋点事件数据。
图片
筛选项的构建和事件元信息的查看,一是基于前置的新增埋点事件所填写的数据,二是统计埋点相关PV、UV数据,方便用户了解事件的命中量,同时可操作对一些无用埋点事件进行下线处理,降低存储成本。
从功能层面来看,埋点平台功能的构建比较简单,复杂度较低,做好埋点事件/属性/页面的增删改查,加埋点测试,再增减一些简易的分析,加些权限管控,就满足了基本的管理需求。
4. 应用场景层
场景应用层:可应用至用户行为分析、人群圈选、自动化营销、广告监测、推荐算法等各个需要数据的场景。本篇暂不展开,后续更新用户行为分析篇。
四、小结
本篇主要介绍了埋点构建的“3S方法”和“4层次”。
运用OSM、OJM方法进行埋点场景化梳理;按应用、页面结构、业务进行埋点结构化划分;基于4W1H规范化埋点数据采集,以及定义清晰的埋点命名规范。
贯穿埋点数据的“采-建-管-用”,基于flume工具进行埋点数据采集;基于数仓分层模型,进行数据存储与计算;建设事件/属性/页面的增删改查能力,以及埋点测试等能力;推动埋点数据在多个场景应用。
专栏作家
本文原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议。