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

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

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...

Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...