# Session: 2026-05-25 11:16:08 GMT+8 - **Session Key**: agent:main:feishu:direct:ou_e63ce6b760ad39382852472f28fbe2a2 - **Session ID**: e942f03c-fd78-4ddc-b742-d05ded398d38 - **Source**: feishu ## Conversation Summary assistant: 关键发现:**"H5 页面曝光时"全部是匿名用户(accountId=0)**,但有 `userId` 字段。我用 `userId` 作为统一标识重新跑漏斗。 assistant: 以下是 H5 购买流程的完整漏斗分析: --- ## H5 购买流程漏斗 ### 📊 事件级漏斗 ``` H5 页面曝光时 20,891 (100.0%) │ ▼ -54.4% 商品切换点击 9,530 ( 45.6%) │ ▼ -99.0% 立即购买按钮点击 94 ( 0.4%) │ ▼ -1.1% 支付成功 93 ( 0.4%) ``` ### 👤 用户级漏斗(按 userId 去重) ``` H5 页面曝光时 6,245 人 (100.0%) 人均3.3条 │ ▼ -71.2% 商品切换点击 1,801 人 ( 28.8%) 人均5.3条 │ ▼ -94.8% 立即购买按钮点击 93 人 ( 1.5%) 人均1.0条 │ ▼ -1.1% 支付成功 92 人 ( 1.5%) 人均1.0条 ``` ### 🔑 关键发现 | 指标 | 数值 | |---|---| | **曝光→切换转化率** | 28.8%(1,801/6,245) | | **切换→购买转化率** | 5.2%(93/1,801) | | **购买→支付成功率** | 98.9%(92/93) | | **全链路完成人数** | **84 人** | | **仅曝光未切换** | 4,444 人(流失 71.2%) | | **仅切换未购买** | 1,716 人(流失 94.8%) | ### ⚠️ 重要说明 - **第一步「H5 页面曝光时」全部是匿名用户**(accountId=0),说明是 H5 落地页未登录状态下的曝光埋点 - **第二步起全部为已登录用户**(accountId>0),用户从曝光到切换商品之间发生了登录 - 这也意味着 userId 在第一步和后续步骤间存在断层,**实际的曝光→切换转化率可能比 28.8% 更高**(部分匿名 userId 登录后变为新的 userId) - 核心瓶颈在**切换→购买**环节,仅 5.2% 的浏览用户最终点击了购买按钮 - 支付环节表现良好,点击购买后 98.9% 完成了支付 user: 我们来确认一下accountId和userId的关系,是不是都同时为0 assistant: 结果很清晰了: ## accountId × userId 关系 | accountId | userId | 条数 | 占比 | |:---:|:---:| ---:| ---:| | =0 | =0 | 56 | 0.2% | | =0 | >0 | **25,919** | **72.6%** | | >0 | =0 | 0 | 0.0% | | >0 | >0 | 9,716 | 27.2% | **结论:不是同时为 0。两者的含义不同:** - **accountId = 0** → 未登录的**匿名用户** - **userId > 0** → 设备/会话级标识,**匿名和已登录时都存在** ### 按步骤细拆 | 步骤 | accountId=0 | accountId>0 | |---|---|---| | H5 页面曝光时 | 20,891(全部匿名) | 0 | | 商品切换点击 | 1 | 9,529(全部已登录) | | 立即购买按钮点击 | 0 | 94 | | 支付成功 | 0 | 93 | | 领课加微 / firstScreen | 2,731(且无 userId 字段) | 0 | | 领课加微 / secondScreen | 2,352(且无 userId 字段) | 0 | ### 核心发现 1. **H5 页面曝光时**:用户还未登录,accountId=0,但 userId 是设备级标识(非 0) 2. **商品切换点击开始**:用户已登录,accountId 变为真实账号 ID 3. **userId 跨登录状态存在但关联不完整** — 之前算出的 28.8% 曝光→切换重合(1,801/6,245)就是通过 userId 串起来的,但因为登录前后 userId 可能变化,**实际转化率可能更高** 4. **领课加微**行为比较特殊:accountId=0 且完全没有 userId 字段,是纯粹的匿名埋点 user: 那么以后growth_activity_behavior都按照userId进行统计,忽略掉accountId assistant: 收到,已记录。 assistant: 已记入长期记忆。以后 `growth_activity_behavior` 的统计都按 `userId` 做用户去重,不依赖 `accountId`。 user: 那么重新统计H5 购买流程的子行为的完整漏斗数据 assistant: 按照新口径(userId 去重),完整的 H5 购买流程漏斗: --- ## H5 购买流程漏斗(按 userId 统计) ### 📊 事件级漏斗 ``` H5 页面曝光时 20,891 ██████████████████████████ 100.0% ▼ -54.4% 商品切换点击 9,530 ████████████ 45.6% ▼ -99.0% 立即购买按钮点击 94 ▏ 0.4% ▼ -1.1% 支付成功 93 ▏ 0.4% ``` ### 👤 用户级漏斗(userId 去重) ``` H5 页面曝光时 6,245 ██████████████████████████ 100.0% ▼ -71.2% 商品切换点击 1,801 ████████ 28.8% ▼ -94.8% 立即购买按钮点击 93 ▏ 1.5% ▼ -1.1% 支付成功 92 ▏ 1.5% ``` ### 🔗 步骤间用户重合 | 关联 | 重合人数 | 说明 | |---|---|---| | 曝光 → 切换 | 1,801 | 曝光 6,245 人中 28.8% 继续切换 | | 切换 → 购买 | 85 | 切换 1,801 人中 4.7% 点击购买 | | 购买 → 支付 | 92 | 购买 93 人中 98.9% 完成支付 | | **全链路** | **84** | 完整走完 4 步 | ### 📋 用户行为路径 | 路径 | 人数 | 占比 | |---|---|---| | 曝光 → 离开 | 4,436 | 71.0% | | 曝光 → 切换 → 离开 | 1,716 | 27.5% | | 曝光 → 切换 → 购买 → 支付 ✅ | 84 | 1.3% | | 曝光 → 购买 → 支付(跳过切换) | 8 | 0.1% | | 曝光 → 切换 → 购买 → 未支付 | 1 | 0.02% | --- **关键瓶颈:** 切换→购买环节流失最严重(95.3% 流失),1,716 人浏览了商品详情但没有点击购买按钮。曝光→切换也有 71.2% 的流失,但考虑到曝光是 H5 落地页的泛流量,这个比例在正常范围内。 user: 用户不是一定要尽力切换步骤才会点击购买按钮,也可能是曝光后直接点击购买按钮 assistant: 确实,之前路径分布里已经看到了这种情况:**有 8 人从曝光直接跳到了购买**,没有经过商品切换步骤。 这也意味着之前按"步骤顺序"算的漏斗转化率偏保守了。实际的购买决策漏斗应该考虑两条路径的合并: ``` 曝光 6,245 人 / \ 切换 1,801 人 直接购买 8 人 | | 购买 85 人 8 人 | | 支付 84 人 8 人 ``` ### 按"最终结果"重新聚合: | 漏斗层级 | userId 数 | 占曝光比 | |---|---|---| | 曝光 | 6,245 | 100.0% | | 有切换行为 | 1,801 | 28.8% | | 有购买行为(切换+直达) | 93 | **1.5%** | | 有支付行为 | 92 | **1.5%** | 购买这一步实际是 93 人:85 人通过切换进入购买 + 8 人直接从曝光进入购买。购买→支付 98.9% 几乎全转化。 user: info里面都有哪些值 assistant: `info` 字段在全量 35,691 条记录中**全部为空**,六个子行为无一例外。这个字段定义了但从未写入过数据,可以忽略。 user: 接下来我想看索引user_behavior_buried_points中buryingPointId为1000的数据的数据结构 assistant: 以下是 `buryingPointId=1000` 的完整数据结构: --- ## buryingPointId=1000(名称未设定,共 23,447 条) ### 字段清单 | 字段 | 非空率 | 说明 | |---|---|---| | `accountId` | 100% | 账号ID | | `accountName` | 100% | 脱敏手机号 | | `characterId` | 100% | 角色ID | | `characterName` | 100% | 角色名 | | `buryingPointId` | 100% | 固定为 1000 | | `buryingPointName` | **0%** | 全为空 | | `buryingPointSubId` | 100% | 子事件ID(见下) | | `buryingPointSubName` | **0%** | 全为空 | | `cType` | **62%** | 组件类型 | | `cId` | **62%** | 组件编号 | | `componentId` | 100% | **全为 0** | | `componentName` | **62%** | 组件名称 | | `lessonId` / `lessonName` | **62%** | 课时信息 | | `unitId` / `unitName` | **84%** | 单元信息 | | `seasonPackageId` / `seasonPackageName` | **84%** | 课程包 | | `ex2` | 100% | 整数,1~12 | | `ex3` | **45%** | 浮点数(只在 subId=4 时有值) | | `stepDuration` | 100% | 步骤耗时(毫秒),中位 5ms,最大 388s | | `versionId` | 100% | 版本号 | | `activeTime` | 100% | 时间戳(秒) | ### buryingPointSubId 分布 | subId | 数量 | 推测含义 | |:---:| ---:| --- | | 1 | 10,967 | 开始 / 进入 | | 4 | 10,637 | 完成 / 提交(此时 ex3 有值) | | 2 | 1,396 | 中间步骤1 | | 3 | 447 | 中间步骤2 | **1 和 4 基本成对出现**(10,967 vs 10,637),且只有 subId=4 时 `ex3` 有浮点值,很像"进入→完成"的事件对;2 和 3 是中间状态。 ### cType 分布(前 10) | cType | 数量 | |---|---| | (空) | 7,835 | | mid_dialog_select | 4,103 | | mid_dialog_fillin | 3,770 | | core_listening_drag | 2,231 | | mid_grammar_cloze | 1,982 | | core_listening_choose | 1,561 | | mid_vocab_item | 761 | | mid_grammar_sentence | 595 | | mid_sentence_dialogue | 557 | | mid_dialog_repeat | 37 | ### versionId 分布 | 版本 | 数量 | |---|---| | 1.2.2 | 8,897 | | 1.3.1 | 7,777 | | 1.2.4 | 5,041 | | 1.2.3 | 1,732 | ### seasonPackageId 分布 | seasonPackageId | 数量 | 说明 | |:---:| ---:| --- | | 1 | 13,488 | 序章 | | 0 | 8,767 | 不在任何课程包中 | | 2 | 1,179 | 第二季度包 | | 12 | 12 | | | 14 | 1 | | --- **总结:** 这是一个组件级交互追踪埋点,覆盖了对话选择、填空、听力拖拽、语法完形等多种题型。subId 1→4 是一个典型的"开始→完成"事件对,ex3 在完成时记录一个浮点指标。约 38% 的记录没有任何课程上下文(seasonPackageId=0),可能是课程外的独立练习场景。