本文我们以电商产品的商品详情页为例,介绍如何做用户浏览以及点击行为的数据埋点。
案例中包含一个页面(商品详情页接口)以及该页面上的关键按钮(加购、收藏按钮),具体页面如下图所示。
(1)第一步是采集通用信息,包括设备及浏览器信息、数据采集SDK信息、网络信息、经纬度、时间信息等。只要集成了数据采集SDK,数据采集SDK就会自动收集这些通用信息。具体字段参考表2-1。
?表2-1 通用信息字段
字段类型 | 字段中文名称 | 字段英文名 | 字段类型 | 说明 | 举例 |
设备及浏览器信息 | 操作系统名称 | $os | string | 终端操作系统 | Windows |
操作系统版本 | $os_version | string | 终端操作系统的具体版本号 | 10 | |
屏幕高度 | $screen_height | numBEr | 屏幕的物理高度 | 1024 | |
屏幕宽度 | $screen_width | numBEr | 屏幕的物理宽度 | 768 | |
浏览器名称 | $browser | string | 访问该系统当前浏览器的名字 | IE | |
浏览器版本 | $browser_version | string | 当前浏览器版本 | 10.0 | |
当前SDK信息 | SDK名称 | $lib | string | 当前埋点采用的SDK的名称 | Jsdk |
SDK版本 | $lib_version | string | 当前SDK的版本号 | 1.6.0 | |
网络信息 | IP地址 | ip | string | 当前用户的公网IP | 10.190.22.91 |
国家 | country | string | 当前用户所在国家 | 中国 | |
省份 | province | string | 所在省份/州 | 广东 | |
城市 | city | string | 所城市 | 广州 | |
经纬度 | 纬度 | latitude | string | 当前用户所在纬度 | |
经度 | longitude | string | 当前用户所在经度 | ||
时间信息 | 服务器时间 | server_time | float | 事件发送到服务端处理后的时间 | |
客户端时间 | clienttime | float | 事件发生时客户端时间 | ||
来源渠道 | 流量来源ID | trafficsourceid | string | 识别用户是从哪里来的编码,也就是访问渠道ID | 如BaiduSEM等 |
(2)第二步是采集应用的公共信息,主要包含平台的信息和页面信息。具体字段参考表2-2。
表2-2 应用公共信息字段
字段类型 | 字段中文名 | 字段英文名 | 字段 类型 | 说明 | 举例 |
页面信息 | 唯一标识 | $distinct_id | string | 用户的唯一标识,如果有登录,则在传入登录账号;否则传入相应的设备ID | 13900000000 |
会员ID(登录名或者手机号) | $user_id | string | 用户注册的会员ID,如果未登录则为空 | ||
手机号码 | $phone | string | 用户登录的手机号码 | ||
页面名称 | page_name | string | 用户当前进入的是哪一个页面 | 比如Home主页 | |
页面浏览时长 | view_dur | float | 用户从进入页面到离开页面的时长 | 毫秒 | |
当前页面urL | $url_path | string | 当前页面的路径 | 如A/B/C | |
前向urL | $referrer | string | 跳转至当前页面的前向页面url | 如A/B/C | |
事件名称 | event | string | 只有两种时间类型:浏览及点击 浏览:$pageview 点击:$pageclick | ||
事件类型 | Event_type | string | 仅针对点击事件($pageclick)的情况才传入。 需要传入按钮的名称,例如是收藏按钮,则传入collect;加入购物车,则传入addshop | ||
$是否首次访问 | $is_first_time | bool | 是否首次访问 | ||
$是否首日访问 | $is_first_day | bool | 是否首日访问 | ||
平台信息 | 平台名称 | platform | string | 当前平台ID |
(3)第三步是要制作埋点的页面列表,这里只列举商品详情页涉及的相关业务参数。当用户进入商品详情页,系统要记录2个关键信息:第1个信息是当前商品的ID(commodityid),有了商品ID,就可以通过数据库查询商品的所有信息;
第2个信息是用户从哪个位置进入商品详情页,可以通过坑位ID(spmid)来记录流量的来源,有了流量的来源,我们就可以更加清楚用户访问的来龙去脉。具体字段参考表2-3。
表2-3 埋点页面列表
序号 | 页面名称 | 字段英文名称 | 字段中文名 | 字段类型 | 字段描述 |
1 | ProductDetail | commodityid | 商品ID | string | 用户浏览商品详情页传回来的相应商品id |
spmid | 流量位ID | string | 用来记录从哪个流量位进入商品详情页 |
(4)第四步是制作当前页面需要埋点的按钮列表。在本案例中,商品详情页包含两个关键按钮:第1个是收藏按钮(collect);第2个加购按钮(addshoppingcart)。
收藏按钮需要记录用户收藏商品的ID(commodityid)、商品当时的末级分类(lastcommodity)。
加购按钮需要记录当前加购商品的ID(commodityid)、skuID(Stock keeping Unit ?ID,即商品的库存单位ID,比如一件衣服有白色、黑色两种颜色,那么每种颜色都有一个库存单位ID)、商品的单价(pricepercommodity)、商品的加购数量(commoditynumber)。
有了这些埋点信息,我们就可以更加清楚地知道用户加购或者收藏了哪个商品、加购的是哪个颜色的商品、加购的金额等用户行为信息。具体字段参考表2-4。
表2-4 按钮埋点列表
事件名 | 字段英文名 | 字段中文名 | 字段类型 | 说明 |
收藏 collect | commodityid | 商品ID | string | 用户点击收藏按钮传回来的商品ID |
加入进货车(列表商品清单) addshoppingcart | commodityid | 商品ID | string | 用户点击加入进货车按钮传回来的商品ID |
skuid | skuID | string | 用户点击加入进货车按钮传回来的skuID | |
pricepercommodity | 商品单价 | number | 用户点击加入进货车按钮传回来的商品单价 | |
commoditynumber | 商品加购数量 | number | 用户点击加入进货车按钮传回来的商品数量 |
至此,电商商品详情页的数据埋点设计已经完成,每个端可以按照这份埋点接口文档进行相应埋点,通过收集到的用户行为数据,就可以分析出用户在什么时间、在什么位置、用什么设备、查看了那些商品、点击了那些按钮,通过对用户行为数据和业务数据的分析,就能更加立体的了解我可们的用户,更好的服务我们的用户。
欢迎各位朋友与我探讨关于产品接口的方方面面。