数据采集实战:电商详情页数据埋点
本文我们以电商产品的商品详情页为例,介绍如何做用户浏览以及点击行为的数据埋点。
案例中包含一个页面(商品详情页)以及该页面上的关键按钮(加购、收藏按钮),具体页面如下图所示。
(1)第一步是采集通用信息,包括设备及浏览器信息、数据采集SDK信息、网络信息、经纬度、时间信息等。电商数据采集目前主流的方式是通过电商API接口去采集商品详情数据。只要集成了数据采集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 | 用户点击加入进货车按钮传回来的商品数量 |
相关文章:
数据采集实战:电商详情页数据埋点
本文我们以电商产品的商品详情页为例,介绍如何做用户浏览以及点击行为的数据埋点。 案例中包含一个页面(商品详情页)以及该页面上的关键按钮(加购、收藏按钮),具体页面如下图所示。 (1…...
计算机网络——计算大题(七)
前言: 最近也是在准备计算机考试,我们的考试形式是上机考试,所以可能有些计算题是会给提供思路的,前面已经对本学期的计算机网络知识有了一个简单的认识与了解,现在我们就来对计算大题进行一个学习吧,这里的…...
子网掩码与IP段计算
一.什么叫子网掩码: 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。 子网掩…...
【译文】IEEE白皮书 6G 太赫兹技术的基本原理 2023版
第一章 简介 太赫兹波是介于微波和光波之间的光谱区域,频率从 0.1THz ~ 10THz 之间,波长在 3mm ~ 30μm 之间。提供大块连续的频带范围以满足对 Tbit/s 内极高数据传输速率的需求,使该区域成为下一代无线通信(6G)的重…...
AUTOSAR从入门到精通-网络通信(UDPNm)(三)
目录 前言 原理 网络状态 初始化 执行 处理器架构 时间参数...
ubuntu 使用openssl制作一个自签名证书
我们需要为浏览器创建自己的根CA证书来信任自签名证书。因此,让我们首先创建根CA证书 创建根CA证书 创建文件夹 mkdir openssl && cd openssl执行以下openssl命令,生成 rootCA.key 以及 rootCA.crt. 用你的域名或者ip地址替换demo.mlopshub.c…...
WPF+Halcon 培训项目实战(1-5):Halcon安装,图像处理,Halcon简单模板匹配
文章目录 前言相关链接项目专栏我个人对就业市场的评价Halcon安装实战1-4:Halcon基础实战5:模板匹配[形状匹配]实战代码 结尾 前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主…...
虚函数的讲解
文章目录 虚函数的声明与定义代码演示基类Person派生类Man派生类Woman 测试代码动态绑定静态绑定访问私有虚函数总结一下通过成员函数指针调用函数的方式 虚函数的声明与定义 虚函数存在于C的类、结构体等中,不能存在于全局函数中,只能作为成员函数存在…...
Java强软弱虚引用
面试: 1.强引用,软引用,弱引用,虚引用分别是什么? 2.软引用和弱引用适用的场景? 3.你知道弱引用的话,能谈谈WeakHashMap吗? 目录 一、Java引用 1、强引用(默认支持模式…...
QCharView使用
QCharView概念:title、系列、图标Chart、视图 说明: 需要添加Qt组件charts 在使用QChart或者QChartView之前需要添加宏定义QT_CHARTS_USE_NAMESPACE (其实是使用了命名空间),不然不能识别QChart或者QChartView 3.在添加宏定义QT_CHARTS_USE_N…...
华为hcia之ipv6实验手册
R3: dhcp enable ipv6 dhcpv6 pool test address prefix 2000:23::/64 excluded-address 2000:23::2 dns-server 2000:23::2 interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2000:12::2/64 ipv6 address auto link-local undo ipv6 nd ra halt //无状态配置 inter…...
算法设计与分析-图算法小结BFS/DFS/Topologic/Dijkstra/Floyd/最大流
图 注:CSDN貌似不支持较长公式,可以复制到Markdown编辑器查看 图的表示 邻接矩阵 空间复杂度 Θ ( V 2 ) Θ(V^2) Θ(V2)邻接链表 空间复杂度 Θ ( V E ) Θ(VE) Θ(VE) BFS 邻接链表 时间复杂度 Θ ( V E ) Θ(VE) Θ(VE) void BFS(Graph G, int v) {//…...
CentOS 8 安装指定版本ansible
背景:想要练习ansible使用,用于面试,结果使用centos 8 的yum安装失败,提示版本不兼容(指的是python版本),故而使用python来安装指定版本的ansible,特此记录 环境:win11虚…...
策略模式(及案例)
策略模式 1.策略接口 定义一组算法或操作的通用接口,通常是一个抽象类或接口。该接口声明了策略类所必须实现的方法。 示例: class Strategy {doOperation() {} }2.具体策略 实现策略接口,提供具体的算法实现。每个具体策略类负责处理一…...
苹果CMS超级播放器专业版无授权全开源,附带安装教程
源码介绍 超级播放器专业版v1.0.8,内置六大主流播放器,支持各种格式的视频播放,支持主要功能在每一个播放器内核中都相同效果。 搭建教程 1.不兼容IE浏览器 2.php版本推荐7.4 支持7.1~7.4 3.框架引入不支持同时引入多个播放器 json对接教…...
项目记录:利用Redis实现缓存以提升查询效率
一、概述 当我们查询所有数据时,如果缓存中没有,则去数据库查询,如果有,直接查缓存的数据就行。注意定期更新缓存数据。 二、主体代码 private static final String ROOM_SCHEDULES_HASH "RoomSchedules";Overridepu…...
腾讯云16核32G28M轻量服务器CPU流量性能测评
腾讯云轻量16核32G28M服务器28M公网带宽下载速度峰值可达3584KB/s,折合3.5M/秒,系统盘为380GB SSD盘,6000GB月流量,折合每天200GB流量。腾讯云百科txybk.com来详细说下腾讯云轻量应用服务器16核32G28M配置性能、CPU主频型号、公网…...
【并发设计模式】聊聊等待唤醒机制的规范实现
在多线程编程中,其实就是分工、协作、互斥。在很多场景中,比如A执行的过程中需要同步等待另外一个线程处理的结果,这种方式下,就是一种等待唤醒的机制。本篇我们来讲述等待唤醒机制的三种实现,以及对应的应用场景。 G…...
CentOS:docker同一容器间通信
docker同一容器中不同服务以别名访问 1、创建bridge网络 docker network create testnet 2、查看Docker网络 docker network ls 3、运行容器连接到testnet网络 使用方法:docker run -it --name <容器名> —network --network-alias <网络别名> <…...
数据治理:释放数据价值的关键
随着数字化时代的到来,数据已成为组织和企业最重要的资产之一。然而,数据的快速增长和复杂性也给数据管理带来了巨大的挑战。为了确保数据的质量、安全性和合规性,数据治理已成为组织和企业必须面对的重要问题。数据治理是数据要素市场建设的…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
