业务埋点梳理
什么是埋点
埋点的定义
埋点,是互联网应用的一个俗称。来源于英文Event Tracking。
是一种针对特定用户行为的捕获、处理、发送的技术。
**
网站收集数据基础
- 第一大类遵守HTTP类型的交互:最典型的是网页链接
web:监测代码
APP/WAP:SDK software development kit
- 不能靠基础代码获取的用户操作行为
最典型的就是Event
网页:非HTTP类型的交互:JavaScript,flash,Ajax,各种类型的插件交互
APP:用户点击在内的所有交互
每一个需要我们监测的event互动,都被称作“监测点”
每一个监测点都必须部署上“事件监测代码”Event Tracking Code——埋点
埋点的类型
前端代码埋点:不同的监测点的命名和属性都需要一一对应,非常繁琐
可视化埋点:点击需要的相应的位置,直接提示是否需要埋点(事件在编基础代码的时候位置已经确定了)
全埋点:直接将页面的所有基本事件埋点,所有事件解析,获取Dom Path,直接把所有Dom Path获取,在有用户行为的时候直接记录,用户行为+Cookie(用户信息)/Device ID,获得所有用户事件追踪
无法追踪下拉菜单,滚动屏幕,全部取得对服务器压力很大,记录的交互行为属性很有限
可视化和全埋点正在逐步取代前端埋点,已经有很大的改进,但是部分还没法取代,依据服务器资源判断是否使用全埋点
埋点的一般收集的数据:
4W1H1O
对于埋点记录的行为数据,我们一般可以用4W+1H+1O法来理解:
一般怎么写埋点需求文档?
如何进行埋点的工作
业务分解:之前指标体系实战就已经做完了
分析指标:之前指标体系实战就已经做完了
事件设计:将业务所有的事件抽取,完善,归类,前端埋点需要做事件设计
属性设计:
事件梳理&埋点梳理
- 将用户行为拆解为单个的点击或浏览动作;
- 将需要分析的目标动作抽象为“事件”,添加事件维度;
- 根据业务需求,整体完善事件设计;
用户行为拆解
提取重要事件:
- APP安装
- APP启动
- 运营位曝光(训练营广告位+专栏广告位)
- 运营位点击
- WEB浏览(训练营页面浏览)
- WEB点击(训练营预约按键点击)
- 浏览专栏课详情页
- 创建订单
支付成功
领取会员成功
- 浏览普通页面(包括浏览会员购买页面)
- 点击普通元素(包括点击付费会员按键)
- APP退出
添加事件属性
AppInstall (App安装事件)
属性名 | 属性显示名 |
---|---|
DownloadChannel | app下载渠道 |
appVersion | app版本 |
app_type | 业务线 |
checkCode | checkCode |
platform_type | 平台类型 |
put_id | 渠道监测id |
- AppStart(App启动事件)
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
platform_type | 平台类型 |
- ViewOperatingPosition(运营位曝光)
属性名 | 属性显示名 |
---|---|
aId | aId |
app_type | 业务线 |
button_name | 按钮名称 |
courses_id | 课程ID |
duration | 时长 |
operating_type | 运营类型 |
page_id | 页面ID |
platform_type | 平台类型 |
position_id | 运营位ID |
注:
训练营广告位 : operating_type=’训练营’
专栏课: operating_type=’课程列表页’
ClickOperatingPosition(运营位点击)
属性名 | 属性显示名 |
---|---|
aId | aId |
app_type | 业务线 |
courses_id | 课程ID |
login_status | 登录状态 |
operating_type | 运营类型 |
page_id | 页面ID |
platform_type | 平台类型 |
position_id | 运营位ID |
vip_status | vip状态 |
注:
训练营广告位 : operating_type=’训练营’
专栏课: operating_type=’课程列表页’
WebView(Web浏览)
属性名 | 属性显示名 |
---|---|
activity | 所属活动 |
app_type | 业务线 |
button_name | 按钮名称 |
courses_id | 课程ID |
login_status | 登录状态 |
page_from | 页面前向来源 |
page_id | 页面ID |
platform_type | 平台类型 |
虚拟属性名 | 属性显示名 |
---|---|
class_number | 课时数 |
updated_classes | 已更新课时数 |
common_course_name | 课程名称(专栏&就业课) |
common_course_type | 课程类型(专栏&就业课) |
注:
训练营浏览详情页:page_id 为
(‘1pb3’,’1pb4’,’1pu4’,’1pu5’,’1pxi’,’1qb3’,’1qea’,’1qeb’,’1qg1’,’1qhg’,’1qjk’,’1qph’,’1qzq’)
专栏课浏览详情页通过: ViewCourseDetail 事件收集
- WebButtonClick(Web点击)训练营预约用户(按钮)
属性名 | 属性显示名 |
---|---|
activity | 所属活动 |
app_type | 业务线 |
button_name | 按钮名称 |
courses_id | 课程ID |
live_course_id | 直播课程id |
login_status | 登录状态 |
page_id | 页面ID |
platform_type | 平台类型 |
- ViewCourseDetail(浏览售前课程详情页)—-专栏课详情页事件信息收集
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
courses_id | 课程ID |
courses_name | 课程名称 |
login_status | 登录状态 |
page_from | 页面前向来源 |
page_id | 页面ID |
platform_type | 平台类型 |
CreateOrder(创建订单)
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
big_course_id | 训练营ID |
big_course_name | 训练营名称 |
courses_id | 课程ID |
courses_name | 课程名称 |
good_id | 商品ID |
good_name | 商品名称 |
login_status | 登录状态 |
order_amount | 订单金额 |
order_id | 订单ID |
order_type | 订单类型 |
payment_type | 付款类型(定金、尾单、全款) |
platform_type | 平台类型 |
sensor_put_id | 投放渠道监测id |
sensor_thirdDeviceId | sensor_thirdDeviceId |
sensor_utm_campaign | 投放广告系列名称 |
sensor_utm_content | 投放广告系列内容 |
sensor_utm_medium | 投放广告系列媒介 |
sensor_utm_source | 投放广告系列来源 |
sensor_utm_term | 投放广告系列字词 |
share_user_id | 分享用户ID |
vip_type | vip类型 |
- PayOrderSucceed(支付成功)
属性名 | 属性显示名 |
---|---|
actual_amount | 实际支付金额 |
app_type | 业务线 |
big_course_id | 训练营ID |
big_course_name | 训练营名称 |
buy_from | 订单来源 |
courses_id | 课程ID |
courses_name | 课程名称 |
credit_num | 支付分期期数 |
good_id | 商品ID |
good_name | 商品名称 |
login_status | 登录状态 |
order_id | 订单ID |
order_type | 订单类型 |
pay_type | 支付方式 |
payment_type | 付款类型(定金、尾单、全款) |
platform_type | 平台类型 |
sensor_put_id | 投放渠道监测id |
sensor_thirdDeviceId | sensor_thirdDeviceId |
sensor_utm_campaign | 投放广告系列名称 |
sensor_utm_content | 投放广告系列内容 |
sensor_utm_medium | 投放广告系列媒介 |
sensor_utm_source | 投放广告系列来源 |
sensor_utm_term | 投放广告系列字词 |
share_user_id | 分享用户ID |
vip_type | vip类型 |
专栏课订单:order_amount >0 and order_amount < 200 and order_type = ‘课程’
会员订单: order_type = ‘会员’
训练营订单:actual_amount > 200 and order_type != ‘会员’(是通过内部链接来付费的)
ReceiveVipFreely(领取会员成功)
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
login_status | 登录状态 |
platform_type | 平台类型 |
receive_from | 领取来源 |
share_user_id | 分享用户ID |
- pageview(Web 浏览页面(全埋点))
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
login_status | 登录状态 |
platform_type | 平台类型 |
浏览会员页面:$url like ‘%kaiwu.lagou.com/member%’
WebClick(Web 元素点击(全埋点))
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
login_status | 登录状态 |
platform_type | 平台类型 |
点解付费会员按钮:
$url like ‘%kaiwu.lagou.com/member%’
and $element_content = ‘¥688 开通365天会员’
AppEnd(App 退出)
属性名 | 属性显示名 |
---|---|
app_type | 业务线 |
platform_type | 平台类型 |
事件梳理注意事项
在这里,我给大家讲解一下梳理事件需要注意的几个点:
- 在事件设计的整体框架上,建议搭建按照功能模块-业务流程的方式,系统性地梳理业务场景以及 对应的分析需求。
- 将事件做一层抽象归类:
- 常规通用采集事件:APP启动、App退出、页面浏览、点击事件等等。
- 重要点击事件:对重要的点击事件进行梳理,根据具体的点击事件的类型以及个性化属性, 进行归类采集。常见的重要点击事件:Banner位点击、icon点击、频道Tab、功能重要操作 点击
- 业务流程:通常是需要记录较多重要信息的流程:比如注册流程、比如电商购物主流程。
- 在属性设计的时候,需要保证每一个属性都是独立采集。