为了能够快速上手Quick Tracking,建议先了解和学习下采集SDK和流量分析产品的基本概念,这些基本概念会贯穿数据采集到数据分析的全流程。
行为采集
在行为采集中,有如下四个基本概念需要了解:
系统事件
系统事件是指由采集SDK发出,用来统计应用的最基础指标,所有的系统事件编码(对应SDK报文中的ID字段)都会以“$$_”开头。
事件名称 | APP | 小程序 | Web |
事件名称 | APP | 小程序 | Web |
应用启动($$_app_start) | 有 | 有 | 无 |
应用退出($$_app_end) | 有 | 有 | 无 |
分享($$_share) | 无 | 有 | 无 |
系统事件报文协议Demo如下:
{
"ekv": [
{
"9A62BBB3B0B1CD2BEB3F2E21CABED8C3": [
{
"id": "ss_app_start",//该eventid不变,代表App启动事件
"ts": 1610420984378,//触发时间
"ds": 0,
"pn": "UMMobCLick",//进程名
"status": 1,//事件前后台打标
"start_type": 1,//启动类型(冷1、热0)
"rank": 1,//事件触发排序号(同-session内,事件累加,上限10w,超过重置)
"page_name": "cn.cctv.video",//(事件触发时的)页面名称
"url": "cn.cctv.video",
//超级属性,持久化本地
"gp": {
"umsp_1": "val1111",
"gp": {
"umsp_1": "val1111",
}
}
]
}
]
}
页面事件
页面事件是用来采集页面浏览行为的事件,页面事件的日志中包含两个要素,页面事件标识码和页面编码。
页面事件标识码:用来标识该事件为页面事件,对应SDK报文中的ID字段,值是系统指定好的,$$_page_start 和 $$_page_end,$$_page_start表示该页面事件是页面进入时触发,$$_page_end表示该页面事件是页面离开时触发。
页面编码:页面的唯一标识,对应SDK报文中的page_name字段,例如我们要给商品详情页做埋点,那么就需要一个编码来指定该页面为商品详情页,如:Page_Detail。页面编码无强制要求,为了防止乱码,建议以小写英文或小写英文加下划线做为事件编码。
页面事件报文Demo如下:
{
"ekv": [
{
"9A62BBB3B0B1CD2BEB3F2E21CABED8C3": [
{
"id": "$s_page_end",//该eventid不变
"ts": 1610420984370,//触发时间
"ds": 0,
"pn": "UMMobCLick",//进程名
"status": 1,//事件前后台打标
"duration": 720,//页面访问时长
"type": 1,//页面采集模式
"rank": 1,//事件触发排序号(同一session,事件也加,上限10W,超过重置)
"page_name": "cn.cctv.video",//(事件触发时的)页面名称
"urt": "cn.cctv.video",
"page_start": 1611213614016,//Android记录页面曝光时间,i0S没有
//超级属性,持久化本地
"sp": {
"umsp_1": "val1111"
},
//全局属性,一次生命周期有效
"gp": {
"umsp_i": "val1111"
},
//页面属性透传
"transp": {
"page_arg1": "super_man"//事件(页面)属性1(用户可以设置多个)
},
//自定义页面属性
"cusp": {
"page_arg1": "super_man"//事件(页面)属性1(用户可以设置多个)
}
}
]
}
]
}
自定义事件
自定义事件是除页面事件外的其他事件,常用来采集用户的曝光和点击等行为,做事件埋点前需要给事件指定一个编码,对应SDK报文中的ID字段,事件编码无强制要求,为了防止乱码,建议以小写英文或小写英文加下划线做为事件编码。
自定义事件报文Demo如下:
{
"ekv": [
{
"9A62BBB3B0B1CD2BEB3F2E21CABED8C3": [
{
"id": "用户自己定义",//该eventid不变
"ts": 1610420984370,//触发时间
"ds": 0,
"pn": "UMMobCLick",//进程名
"status": 1,//事件前后台打标
"rank": 1,//事件触发排序号(同一session内,事件也加)
"page_name": "cn.cctv.video",//(事件触发时的)页面名称
//超级属性,持久化本地
"sp": {
"umsp_1": "val1111"
},
//全局属性,一次生命周期有效
"gp": {
"umsp_1": "val1111"
},
"cusp": {
"page_arg1": "super_man"//事件属性1(用户可以设置多个)
},
"url": "cn.cctv.video",
"ref_url": "https://xxx.taobao.com",
"ref_page_name": "cn.cctv.main",
"spm_cnt": "b.c.d",//b=page_name,c和d用户传递,不传递为b。bcd单独编码
"spm_url": "x.x.",
"spm_pre": "x.x.x"
}
]
}
]
}
属性
无论是哪种类型的事件,如果我们有深入的数据分析需求,都需要给事件传入属性,来标识该事件的发生情境。例如通过上面的采集,我们知道了商品详情页的次数和人数等基础数据,还想进一步知道不同品类的商品详情页的次数,那么就需要在商品详情页的事件中增加商品类目这一属性。
Quick Tracking的属性分为如下两类:
全局属性:
每个事件都携带的属性,如地理位置信息,全局属性的报文协议Demo如下:
{
"ekv": [
{
"9A62BBB3B0B1CD2BEB3F2E21CABED8C3": [
{
"id": "用户自己定义",//该eventid不变
"ts": 1610420984370,//触发时间
"ds": 0,
"pn": "UMMobCLick",//进程名
"status": 1,//事件前后台打标
"rank": 1,//事件触发排序号(同一session内,事件也加)
"page_name": "cn.cctv.video",//(事件触发时的)页面名称
//超级属性,持久化本地
"sp": {
"umsp_1": "val1111"
},
//全局属性,一次生命周期有效
"gp": {
"umsp_1": "val1111"
},
"cusp": {
"page_arg1": "super_man"//事件属性1(用户可以设置多个)
},
"url": "cn.cctv.video",
"ref_url": "https://xxx.taobao.com",
"ref_page_name": "cn.cctv.main",
"spm_cnt": "b.c.d",//b=page_name,c和d用户传递,不传递为b。bcd单独编码
"spm_url": "x.x.",
"spm_pre": "x.x.x"
}
]
}
]
}
事件属性:
只有该事件携带的属性,如加入购物车的商品价格属性,事件属性的报文协议Demo如下:
{
"ekv": [
{
"9A62BBB3B0B1CD2BEB3F2E21CABED8C3": [
{
"id": "用户自己定义",//该eventid不变
"ts": 1610420984370,//触发时间
"ds": 0,
"pn": "UMMobCLick",//进程名
"status": 1,//事件前后台打标
"rank": 1,//事件触发排序号(同一session内,事件也加)
"page_name": "cn.cctv.video",//(事件触发时的)页面名称
//超级属性,持久化本地
"sp": {
"umsp_1": "val1111"
},
//全局属性,一次生命周期有效
"gp": {
"umsp_1": "val1111"
},
"cusp": {
"page_arg1": "super_man"//事件属性1(用户可以设置多个)
},
"url": "cn.cctv.video",
"ref_url": "https://xxx.taobao.com",
"ref_page_name": "cn.cctv.main",
"spm_cnt": "b.c.d",//b=page_name,c和d用户传递,不传递为b。bcd单独编码
"spm_url": "x.x.",
"spm_pre": "x.x.x"
}
]
}
]
}
用户标识
我们所有的行为分析都要围绕一个主体,由这个主体来做行为串联,Quick Tracking 支持两种分析主体:
设备:设备的唯一标识,对应SDK报文中的umid字段,由采集SDK根据硬件设备标识进行加工生成,用来标识唯一一台设备。
用户:用户的唯一标识,直接对接产品的账号体系,在用户登录调用SDK传入,通过该账号来标识唯一用户。
- 本页导读 (0)
- 行为采集
- 系统事件
- 页面事件
- 自定义事件
- 属性
- 用户标识