数据采集实战:电商详情页数据埋点
本文我们以电商产品的商品详情页为例,介绍如何做用户浏览以及点击行为的数据埋点。
案例中包含一个页面(商品详情页)以及该页面上的关键按钮(加购、收藏按钮),具体页面如下图所示。
(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 <网络别名> <…...

数据治理:释放数据价值的关键
随着数字化时代的到来,数据已成为组织和企业最重要的资产之一。然而,数据的快速增长和复杂性也给数据管理带来了巨大的挑战。为了确保数据的质量、安全性和合规性,数据治理已成为组织和企业必须面对的重要问题。数据治理是数据要素市场建设的…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...