Title: 虚拟事件 Locale: zh URL: https://sensorswave.com/docs/data-center/data-dictionary/virtual-events/ Description: 了解如何创建和使用虚拟事件,将多个相关埋点事件合并为一个统一的分析单元 虚拟事件允许您将多个埋点事件以 OR 逻辑合并为一个逻辑事件,在分析时作为统一的指标使用。虚拟事件不会产生新的数据存储,而是在查询时自动展开为其包含的所有组成事件的并集条件。 虚拟事件有两种典型用法: - **合并多个事件**:将含义相近的多个埋点事件合并为一个统一指标。例如,将「微信支付成功」「支付宝支付成功」「银行卡支付成功」合并为「支付成功」 - **拆分一个事件**:通过为同一个埋点事件添加不同的筛选条件,创建多个虚拟事件。例如,将「页面浏览」事件按页面地址拆分为「首页浏览」「商品页浏览」「结算页浏览」等 ## 核心概念 ### 组成事件 一个虚拟事件由 1 ~ 25 个埋点事件组成,这些事件称为「组成事件」。查询时,系统会将虚拟事件展开为所有组成事件的 OR 条件。 ### 筛选条件 每个组成事件可以附加独立的筛选条件,支持 AND/OR 逻辑组合。例如,「页面浏览」事件可以通过 `page_url` 属性筛选特定页面,从而只将满足条件的行为纳入虚拟事件。筛选条件是虚拟事件实现「拆分事件」用法的关键。 ### 属性合并 虚拟事件的属性是所有组成事件属性的并集。如果某个组成事件不包含某个属性,在按该属性分组时,对应数据会显示为「未设置」。 ## 创建虚拟事件 1. 进入 **数据中心** > **数据字典** 2. 切换到 **虚拟事件** 标签页 3. 点击 **新建虚拟事件** 4. 填写基本信息: - **事件名称**:虚拟事件的唯一标识,创建后不可修改。系统会自动添加 `$Virtual/` 前缀 - **显示名**:在分析界面中展示的名称 - **描述**:说明虚拟事件的用途和含义 5. 添加组成事件: - 点击 **添加事件**,从已有的埋点事件中选择 - 如需筛选,点击事件右侧的 **添加筛选条件**,设置属性过滤规则 - 重复以上操作,添加所有需要合并的事件 6. 点击 **保存** ### 示例:创建「支付成功」虚拟事件 **场景**:产品中有三种支付方式,分别对应三个埋点事件,希望统一分析所有支付行为。 **配置**: | 字段 | 值 | |------|------| | 事件名称 | PaymentSuccess | | 显示名 | 支付成功 | | 描述 | 合并所有支付渠道的支付成功事件 | **组成事件**: | 组成事件 | 筛选条件 | |---------|---------| | 微信支付成功 | 无 | | 支付宝支付成功 | 无 | | 银行卡支付成功 | 无 | 创建完成后,在任何分析模型中选择事件时,即可找到带有 `[Virtual]` 标识的「支付成功」事件。 ### 示例:拆分「页面浏览」为多个虚拟事件 **场景**:产品只有一个通用的「页面浏览」埋点事件,携带 `page_url` 属性记录页面地址。您希望在分析中直接选择「首页浏览」「商品页浏览」等更具业务含义的事件,而不必每次手动添加筛选条件。 **做法**:基于同一个埋点事件,通过不同的筛选条件创建多个虚拟事件。 **虚拟事件 1 — 首页浏览**: | 字段 | 值 | |------|------| | 事件名称 | HomePageView | | 显示名 | 首页浏览 | | 组成事件 | 筛选条件 | |---------|---------| | 页面浏览 | `page_url` 等于 `/home` | **虚拟事件 2 — 商品页浏览**: | 字段 | 值 | |------|------| | 事件名称 | ProductPageView | | 显示名 | 商品页浏览 | | 组成事件 | 筛选条件 | |---------|---------| | 页面浏览 | `page_url` 包含 `/product/` | 通过这种方式,您可以将一个通用的埋点事件拆分为多个更精细的虚拟事件,在漏斗分析中直接使用「首页浏览 → 商品页浏览 → 结算页浏览」构建转化漏斗。 ## 编辑虚拟事件 1. 在虚拟事件列表中找到目标事件 2. 点击事件名称进入详情页,或点击操作栏的 **编辑** 3. 修改显示名、描述或组成事件配置 4. 点击 **保存** > **注意**:事件名称(即唯一标识)在创建后不可修改。如需更改名称,需要删除后重新创建。 ## 删除虚拟事件 1. 在虚拟事件列表中找到目标事件 2. 点击操作栏的 **删除** 3. 系统会检查该虚拟事件是否被图表、概览或用户分群引用 - 如果没有引用,确认后即可删除 - 如果存在引用,会列出所有引用该事件的资产。您可以选择: - **取消删除**,先前往相关资产中移除对该虚拟事件的引用 - **强制删除**,直接删除虚拟事件。强制删除后,引用该事件的图表、概览、分群等资产将失效,无法正常展示数据 > **注意**:强制删除是不可逆操作。删除后相关资产会立即失效,请确认影响范围后再操作。 ## 在分析模型中使用 虚拟事件在以下分析模型中均可使用,操作方式与埋点事件完全一致: - **事件分析**:选择虚拟事件作为分析指标,支持所有度量方式(总次数、用户数、人均次数等) - **漏斗分析**:将虚拟事件作为漏斗中的一个步骤 - **留存分析**:将虚拟事件作为初始事件或回访事件 - **用户列表**:使用虚拟事件作为筛选条件 - **用户行为序列**:在行为序列中查看虚拟事件 - **用户分群**:基于虚拟事件的触发情况创建分群 ### 属性分组的注意事项 当按某个属性分组查看虚拟事件的分析结果时,如果部分组成事件没有该属性,这些事件的数据会归入「未设置」分组。 例如,虚拟事件「支付成功」由「微信支付成功」和「支付宝支付成功」组成。「微信支付成功」有 `channel_name` 属性,「支付宝支付成功」没有。按 `channel_name` 分组时,支付宝的数据会显示在「未设置」分组中。 ## 使用限制 | 限制项 | 说明 | |--------|------| | 组成事件数量 | 最多 25 个,最少 1 个 | | 嵌套虚拟事件 | 不支持,组成事件只能是埋点事件 | | 事件名称修改 | 创建后不可修改 | | 自定义 SQL | 虚拟事件不可在 SQL 查询中直接使用 | | 事件间逻辑 | 仅支持 OR 合并,不支持 AND、序列、NOT 逻辑 | ## 最佳实践 ### 1. 合理命名 为虚拟事件使用能反映业务含义的名称,而非罗列组成事件。例如: - 推荐:「支付成功」「内容互动」「注册完成」 - 不推荐:「微信支付+支付宝支付+银行卡支付」 ### 2. 控制组成事件数量 虽然支持最多 25 个组成事件,但建议将数量控制在合理范围内。过多的组成事件会增加理解成本,也可能影响查询性能。 ### 3. 添加清晰的描述 在描述中说明虚拟事件的业务含义和包含的组成事件,方便团队成员理解和使用。 ### 4. 定期维护 当业务埋点发生变化时(如新增支付渠道),及时更新虚拟事件的组成事件,确保分析结果的完整性。 ## 常见问题 ### 虚拟事件会影响数据存储吗? 不会。虚拟事件不会产生新的数据写入,它仅在查询时动态展开为组成事件的并集条件。 ### 修改虚拟事件后,历史数据会变化吗? 会。由于虚拟事件是查询时计算的,修改组成事件后,所有时间范围的查询结果都会按新的定义计算。 ### 组成事件对应的埋点事件被删除了怎么办? 虚拟事件仍然可以正常查看和编辑,但查询时系统会报错提示虚拟事件已失效。建议及时进入虚拟事件定义,移除已删除的组成事件。 ### 虚拟事件可以在自定义 SQL 查询中使用吗? 不可以。虚拟事件依赖查询引擎在执行时自动展开,自定义 SQL 查询不经过此展开流程。如需在 SQL 中实现类似效果,可以手动编写 OR 条件组合多个事件。 --- **最后更新时间**:2026 年 4 月 3 日