# 埋点系统产品需求文档 V2.14.0（十页图文完整版）

| 项目 | 内容 |
|---|---|
| 文档版本 | V2.14.0（十页图文完整版） |
| 编制日期 | 2026-07-21 |
| 文档状态 | 已整合交付，待产品、研发与测试评审 |
| 适用范围 | 仅新站；老站不接入、不迁移、不维护 |
| 输入材料 | 埋点系统需求 V1.0／V1.1／V1.2、用户360 V1.0、埋点管理、事件查询、V2.12.1 完整事件清单及现行产品原型 |
| 目标读者 | 产品、数据、风控、研发、测试、运营、财务、审计 |
| 本次修订 | 完整保留 V2.13.0 全量要求，逐页复核 10 个子页面并补充最新截图、页面结构、字段、交互、状态、视觉规则和验收标准 |

> 本文将来源信息分为三种：`【原文】`表示现有需求明确提出；`【设计】`表示为完成埋点系统而补充的产品方案；`【待确认】`表示源版本缺失、跨版本冲突或需要业务决策。缺失版本不阻塞首版设计，但不得把推断直接当成生产规则。

> 版本适用规则：第 1-22 章完整继承【埋点系统需求 V1.2】的系统建设、对象、事件、指标、风控、质量、权限、非功能和实施要求；第 23-28 章为 V2.13.0 整合后的页面与交互要求；第 30-40 章为本次按最新线上原型逐页复核后的现行要求。发生冲突时，以章节号较大的要求为准；未冲突内容全部继续有效，不得因后续页面迭代而省略。

## 1. 建设背景

现有 SaaS 包网产品已覆盖多站点、多渠道和多国家，核心业务包括用户注册登录、游戏大厅与游戏订单、充值提款、VIP、代理裂变、活动、消息推送、PWA/W2A 投放、域名运维及运营后台。已有需求中存在部分 Pixel、Adjust、Appsflyer 事件和业务报表，但尚未形成统一事件模型，主要问题如下：

1. 前端页面事件、服务端业务事实和后台操作日志分别建设，用户全链路无法稳定串联。
2. 同一指标在不同版本中名称或正负方向不一致，例如“用户输赢”“充提比”。
3. PWA/W2A 事件名依赖外部平台映射，内部业务语义不稳定。
4. 现有风控信息分散在会员详情、关联查询、提款审核、会员分组和操作日志中，缺少规则命中、案件处置及结果回流闭环。
5. 多站点、多渠道、多国家环境下，`channel`、`appcode`、`PID`、投放渠道等概念容易混用。
6. 多个旧版本材料缺失，需要一套可扩展、可配置、可追溯的埋点体系承接后续迭代。

## 2. 产品目标

### 2.1 业务目标

1. 统一采集用户从获客、访问、注册、充值、游戏、提款、留存到召回的完整行为链路。
2. 以服务端事件作为资金、订单、游戏结算、奖励和佣金的事实源，支持经营指标准确核算。
3. 建立用户、设备、指纹、IP、银行卡/钱包、代理关系和广告归因的关联视图，支持多账号及套利风险识别。
4. 对后台人员登录、权限校验、资金操作、配置变更、批量导出等高风险操作形成不可抵赖的审计记录。
5. 提供漏斗、路径、留存、分群、用户 360、风险规则、预警和案件处置能力。
6. 建立事件字典、版本、质量监控和验收机制，降低新站、新渠道和新功能接入成本。

### 2.2 首版成功标准

| 编号 | 成功标准 |
|---|---|
| S1 | P0 核心链路的每一步均有事件，且充值、提款、游戏、账变最终状态可与业务库对账 |
| S2 | 任意充值/提款订单可通过 `trace_id` 关联用户行为、服务端状态、三方回调和后台人工操作 |
| S3 | 任意已登录用户可查看按时间排序的跨端行为时间线及其设备/IP/支付账户关联关系 |
| S4 | PWA/W2A 可统一计算“投放页访问—安装点击—激活—注册—首充—复充”漏斗 |
| S5 | 风险规则命中后可生成预警或案件，并记录处置人、动作、原因和最终结果 |
| S6 | 高风险后台操作 100% 进入审计日志；日志不得由普通后台账号修改或删除 |
| S7 | 事件上线前可测试，事件上线后可监控缺失、延迟、重复、枚举异常和金额对账差异 |
| S8 | 任意活动奖励可通过 `reward_order_id` 追溯资格、任务证据、配置版本、领取、审核、随机结果、到账账变和稽核流水 |

## 3. 需求范围

### 3.1 本期范围

- 仅新站接入；老站需求、历史数据和旧报表不纳入维护或迁移范围。
- 后续产品需求和埋点版本统一从 V2.11.5 开始管理，不再为 V2.11.5 之前的老站版本追加兼容需求。
- 站点、APP、国家、币种和推广渠道维度。
- H5、PWA、Android APK、iOS APP、iOS 书签、谷歌上架包等渠道类型。
- 前端行为采集、服务端业务事件、外部回调事件、后台操作审计。
- 获客归因、注册登录、安全中心、游戏大厅、充值、提款、账变、VIP、代理、充值/投注返利、邀请/挑战、救援金、票券、月卡、消息、域名及后台权限。
- 行为分析、用户 360、指标看板、风险特征、规则、预警、案件和处置记录。
- 埋点管理、数据质量、权限、隐私与验收。

### 3.2 暂不纳入首版

- 全量页面录屏、键盘输入回放等高隐私会话重放功能。
- 使用模型自动封禁或自动罚没。首版仅允许确定性规则自动拦截，其余进入人工审核。
- 广告预算、广告消耗和 ROI 的完整闭环；广告成本不纳入首充单价或充值单价。
- 游戏风控、游戏公平性算法、赔率算法和反作弊模型；本期仅保留游戏行为采集、经营分析和订单对账。
- 与现有黑名单、完整设备/IP 报表的兼容迁移。
- 替代业务系统订单库、账本或支付系统。埋点平台只做观测、分析和风险决策，不作为资金记账主库。

## 4. 角色与权限

| 角色 | 主要诉求 | 默认数据范围 |
|---|---|---|
| 产品/数据分析 | 漏斗、路径、留存、分群、指标口径 | 被授权站点及渠道；敏感字段脱敏 |
| 风控专员 | 用户关联、规则命中、案件审核、风险处置 | 被授权站点；支付账户只展示掩码和关联结果 |
| 财务审核 | 充值提款状态、人工处理、资金风险 | 被授权站点和财务模块 |
| 运营 | 渠道、活动、VIP、代理和消息效果 | 被授权站点和渠道 |
| 管理员 | 事件字典、规则、权限和系统配置 | 按角色授权；密钥类字段不可进入埋点平台 |
| 审计人员 | 查询后台操作、导出和案件处置记录 | 只读；支持审计导出 |
| 研发/测试 | 埋点调试、Schema 校验、质量告警 | 测试环境或脱敏生产样本 |

权限沿用“APP/站点权限 + 页面权限 + 按钮权限”的思路，并新增：

- 数据域权限：行为、资金、风控、后台审计。
- 行级权限：`site_id + app_code + promotion_channel_code`。
- 字段权限：手机号、IP、账户姓名、银行卡/钱包等分级脱敏。
- 动作权限：查询、导出、规则编辑、案件审核、执行处置、查看敏感值。
- 所有查询、导出、规则修改和案件处置均写入后台审计事件。

## 5. 核心设计原则

### 5.1 事实源原则

| 数据类型 | 权威来源 | 说明 |
|---|---|---|
| 页面曝光、点击、筛选、弹窗 | 前端事件 | 表示用户意图，不代表业务完成 |
| 注册、登录、绑定、订单创建 | 服务端事件 | 以接口成功结果为准 |
| 充值/提款状态、金额、账变 | 服务端业务库/三方回调 | 不得用前端成功页替代 |
| 游戏投注、退回、结算、Jackpot | 游戏服务端/三方回调 | 以最终结算版本为准 |
| 奖金、VIP、佣金 | 奖励/账本服务端 | 领取按钮点击与实际到账分开 |
| 推送送达 | 推送服务商回执 | 前端只记录权限、展示和打开 |
| 后台操作 | 后台网关及业务服务 | 同步记录操作者、权限码和前后值 |

### 5.2 事件与状态分离

- 用户点击“充值”是行为事件；订单创建是业务事件；订单变为已支付是状态事件；账本入金是账变事件。
- 同一业务状态允许多次尝试，但最终事实必须通过业务对象版本号和幂等键去重。
- 订单状态不得只记录最终值，必须保留合法的状态流转历史。

### 5.3 内部事件与外部映射分离

平台内部事件名保持稳定，例如 `deposit_order_created`、`first_deposit_succeeded`。Pixel、Adjust、Appsflyer 的事件名及 token 仅作为可配置映射，不允许反向决定内部事件语义。

### 5.4 站点隔离

本系统忽略 `tenant_id`，所有事件必须带 `site_id`。跨站点查询默认禁止；共享设备、IP 或支付账户的关联分析不得跨站点展示。

## 6. 业务对象与标识体系

### 6.1 核心业务对象

| 对象 | 主标识 | 说明 |
|---|---|---|
| 站点 | `site_id` | 站点唯一 ID 和数据隔离边界 |
| 渠道/活动渠道 | `app_code`、`promotion_channel_code` | 渠道码与活动渠道码分别存储 |
| 匿名访客 | `anonymous_id` | 首次访问生成，不因登录而改变 |
| 用户 | `user_id` | 会员唯一 ID |
| 设备 | `device_id` | 前端 UUID；清缓存可能变化 |
| 浏览器指纹 | `fingerprint_id` | SDK 生成；用于关联和风险，不作为唯一用户身份 |
| 广告访客 | `fb_finger_id`、`adid`、`gps_adid` | 投放归因标识 |
| 会话 | `session_id` | 30 分钟无交互或重新登录后新建 |
| 充值订单 | `deposit_order_id` | 对应三方订单号和状态版本 |
| 提款订单 | `withdrawal_order_id` | 对应审核、代付和状态版本 |
| 游戏订单 | `game_order_id`、`game_round_id` | 自研/三方统一标识 |
| 账变 | `ledger_entry_id` | 每笔资金变更唯一记录 |
| 活动/任务 | `promotion_id`、`promotion_version`、`promotion_task_id` | 活动配置、任务和用户进度均绑定不可变版本 |
| 奖励/佣金 | `reward_order_id`、`reward_id`、`commission_id` | 奖励计算、领取、审核、到账与稽核可追溯 |
| 用户票券 | `user_coupon_id`、`coupon_config_id`、`coupon_version` | 每张用户票券及其领取时配置快照 |
| 用户月卡 | `monthly_card_instance_id`、`monthly_card_config_id`、`monthly_card_version` | 每次购买生成独立实例并冻结配置版本 |
| 奖品 | `prize_grant_id`、`prize_config_id` | 现金、实物或碎片的发放与核销记录 |
| 后台账号 | `admin_id` | 与前台会员 ID 分离 |
| 风险案件 | `risk_case_id` | 聚合规则命中及处置记录 |

### 6.2 渠道字段标准化

| 字段 | 示例 | 定义 |
|---|---|---|
| `channel_type` | `h5`、`pwa`、`android_apk`、`ios_app`、`ios_bookmark`、`google_play` | 用户访问载体类型 |
| `promotion_channel_code` | `lgparty_pwa_018` | 活动渠道码 |
| `promotion_channel_name` | `PWA_01` | 后台运营名称 |
| `app_code` | `lgparty_pwa_047` | 渠道码；与活动渠道码分别存储 |
| `pid` | `1006` | PWA/W2A 投放配置唯一标识 |
| `delivery_type` | `pwa`、`w2a`、`pwa_w2a` | 投放类型 |
| `promoter` | 投放团队名称 | 推广商/投放团队 |
| `attribution_types` | `direct`、`referral`、`organic` | 多值归因结果：有广告来源为直推，有邀请码来源为裂变；二者均无时为自然流。直推和裂变同时满足时均保留 |

不得继续使用一个 `channel` 字段同时表达渠道类型、渠道名称和渠道码。

### 6.3 活动对象与统一枚举

| 字段 | 枚举/定义 |
|---|---|
| `promotion_type` | `deposit_rebate`、`next_day_bet_rebate`、`daily_invite`、`sabong_win_streak`、`mines_challenge`、`daily_rescue`、`weekly_rescue`、`bankruptcy_rescue`、`coupon_campaign`、`monthly_card` |
| `reward_type` | `cash`、`physical_item`、`item_fragment`；现金奖励另带具体来源类型 |
| `reward_status` | `calculated`、`claimable`、`claim_submitted`、`pending_review`、`approved`、`auto_approved`、`rejected`、`granted`、`expired`、`cancelled` |
| `claim_mode` | `manual`、`auto_daily_end`、`auto_activity_end`、`batch_collect` |
| `review_mode` | `auto`、`manual` |
| `coupon_type` | `cash_chest`、`lucky_red_packet`、`lucky_wheel`、`golden_egg` |
| `monthly_card_type` | `normal`、`super`、`prestige` |
| `prize_type` | `fixed_cash`、`random_cash`、`physical_item`、`item_fragment` |

统一活动模型必须把“任务完成”“生成可领资格”“用户点击领取”“审核通过”“奖励到账”“稽核流水生成”拆成不同事实。活动、票券和月卡配置修改只生成新版本；已参与、已领券或已购卡用户继续使用其绑定的旧版本，历史事件不得因下架、重新上架或配置删除而物理删除。

### 6.4 身份合并规则

1. 匿名阶段使用 `anonymous_id + device_id + fingerprint_id`。
2. 注册或登录成功后，将当前匿名行为挂接到 `user_id`，保留原匿名标识。
3. 同一用户跨端登录，可按 `user_id` 汇总，但设备记录仍分开。
4. 两个不同 `user_id` 仅因同 IP、同设备或同指纹不得自动合并；应建立“风险关联边”。
5. `fb_finger_id/adid/gps_adid` 与用户的绑定需记录绑定时间、来源和置信度。
6. 用户变更手机号、绑定账户或后台修改资料时，保留历史版本，不覆盖关联证据。
7. 三类流量均必须完成归因：存在有效 `fbc` 或 `fb_finger_id` 等广告来源证据时记录 `direct`；存在有效邀请码或邀请关系时记录 `referral`；两类证据均不存在时记录 `organic`。直推和裂变证据同时成立时均写入 `attribution_types`，不得按单一优先级覆盖。

## 7. 事件模型

### 7.1 事件命名

- 使用英文小写蛇形命名：`业务对象_动作`，例如 `withdrawal_order_created`。
- 成功事实使用过去式语义：`user_registered`、`deposit_succeeded`。
- 状态统一使用 `*_status_changed`，旧状态和新状态作为属性。
- 页面与通用交互使用 `page_viewed`、`element_clicked`、`list_item_exposed`，通过稳定的 `page_code/element_code` 区分。
- 禁止把中文文案、按钮显示文本或动态 URL 作为事件名。
- 事件升级通过 `event_version`，不得原地改变字段含义。

### 7.2 通用事件信封

| 字段 | 类型 | 必填 | 来源 | 说明 |
|---|---|---|---|---|
| `event_id` | string | 是 | 事件生产方 | UUID；全局唯一 |
| `event_name` | string | 是 | 事件生产方 | 事件字典中的稳定名称 |
| `event_version` | integer | 是 | Schema | 从 1 开始 |
| `event_time` | datetime | 是 | 事件生产方 | 事实发生时间，ISO 8601 |
| `received_at` | datetime | 是 | 采集服务 | 平台接收时间 |
| `source_type` | enum | 是 | 采集服务 | `client/server/admin/external_callback/batch` |
| `environment` | enum | 是 | 系统 | `dev/test/staging/prod` |
| `site_id` | string | 是 | 系统 | 站点标识 |
| `country_code` | string | 是 | 系统 | ISO 国家码 |
| `currency` | string | 是 | 系统 | PHP、IDR 等 |
| `user_id` | string | 否 | 身份服务 | 未登录为空 |
| `anonymous_id` | string | 否 | 客户端 | 匿名访问标识 |
| `session_id` | string | 否 | 客户端/网关 | 会话标识 |
| `device_id` | string | 否 | 客户端 | 设备 UUID |
| `fingerprint_id` | string | 否 | 客户端 | 浏览器指纹 |
| `trace_id` | string | 是 | 网关/客户端 | 串联一次业务链路 |
| `request_id` | string | 否 | 网关 | 单次接口请求 |
| `app_code` | string | 否 | 渠道服务 | 渠道码 |
| `channel_type` | enum | 否 | 渠道服务 | 访问载体类型 |
| `promotion_channel_code` | string | 否 | 渠道服务 | 活动渠道码 |
| `page_code` | string | 否 | 客户端 | 页面稳定编码 |
| `properties` | object | 是 | 事件生产方 | 业务属性 |

### 7.3 客户端公共属性

| 分类 | 字段 |
|---|---|
| 设备 | `os`、`os_version`、`device_platform`、`device_model`、`screen_width`、`screen_height` |
| 应用 | `app_version`、`build_version`、`skin_code`、`language`、`timezone` |
| 浏览器 | `browser_name`、`browser_version`、`user_agent_hash` |
| 网络 | `ip` 由服务端获取；`network_type`；IP 国家、城市、运营商由服务端解析 |
| 页面 | `page_code`、`previous_page_code`、`referrer_domain`、`route`、`url_query_keys` |
| 实验 | `experiment_ids`、`variant_ids` |

完整 URL 可能含邀请码、广告参数及用户标识，默认不进入通用属性；只解析白名单参数。UA 原文仅进入受控明细库，分析层默认使用哈希或结构化结果。

### 7.4 服务端公共属性

| 分类 | 字段 |
|---|---|
| 业务对象 | `business_type`、`business_id`、`business_version` |
| 结果 | `result`、`error_code`、`error_category`、`is_retry`、`retry_count` |
| 金额 | `amount`、`fee_amount`、`bonus_amount`、`net_amount`、`currency` |
| 操作来源 | `trigger_source`：user/system/admin/provider/scheduler |
| 三方 | `provider_code`、`merchant_id`、`provider_order_id`、`callback_id` |
| 时间 | `created_at`、`completed_at`、`duration_ms` |

### 7.5 后台审计公共属性

| 字段 | 说明 |
|---|---|
| `admin_id/admin_account/role_ids` | 操作人及当时角色快照 |
| `permission_code` | 本次操作要求的按钮权限码 |
| `module_code/page_code/action_code` | 稳定后台功能编码 |
| `target_type/target_id` | 订单、用户、角色、域名或配置等操作对象 |
| `before_snapshot/after_snapshot` | 脱敏后的变更前后值；密钥字段只记录“是否变化” |
| `operation_reason` | 补单、驳回、罚没、冲正等必填原因 |
| `operator_ip/device_id/session_id` | 操作环境 |
| `authorization_result` | allow/deny |
| `result/error_code` | 操作执行结果 |
| `batch_id/affected_count` | 批量操作标识及影响条数 |

### 7.6 幂等、顺序与补数

- 客户端事件以 `event_id` 去重；SDK 失败重试不得生成新 `event_id`。
- 订单状态事件幂等键为 `business_type + business_id + business_version + new_status`。
- 三方回调幂等键为 `provider_code + merchant_id + provider_order_id + callback_id`。
- 后台事件幂等键为 `request_id + action_code + target_id`。
- 活动任务完成幂等键为 `user_id + promotion_id + promotion_version + task_id + period_id`；重复证据不得重复生成奖励单。
- 奖励到账幂等键为 `reward_order_id + grant_version`；票券开奖以 `user_coupon_id`、月卡每日槽位以 `monthly_card_instance_id + card_day + reward_slot_type` 幂等。
- 随机奖励请求首次受理后必须复用同一 `random_request_id` 和结果，客户端或服务端重试不得重新抽取。
- 允许迟到事件，但分析窗口需同时保留 `event_time` 和 `received_at`。
- 服务端补数必须标记 `source_type=batch`、`backfill_job_id` 和原始业务时间。
- P0 资金、账变、游戏结算和后台审计事件不得采样。

## 8. 埋点管理后台

### 8.1 信息架构

| 一级模块 | 二级功能 | 核心能力 |
|---|---|---|
| 数据总览 | 实时概览、核心漏斗、质量概览 | 查看核心业务与数据健康状态 |
| 埋点管理 | 事件字典、属性字典、页面元素、版本发布 | Schema 全生命周期管理 |
| 调试中心 | 实时事件、设备调试、链路追踪 | 按 event_id/trace_id/user_id 检查上报 |
| 分析中心 | 漏斗、路径、留存、分群、指标看板 | 自助行为分析 |
| 用户中心 | 用户 360、行为时间线、关联关系 | 用户与实体关系调查 |
| 风控中心 | 特征、规则、预警、案件、处置 | 风险闭环 |
| 数据质量 | 完整性、延迟、重复、枚举、对账 | 监控与告警 |
| 系统管理 | 角色、权限、脱敏、导出审计 | 平台治理 |

### 8.2 事件字典生命周期

事件状态为：草稿 → 待评审 → 开发中 → 测试中 → 已上线 → 已废弃。

每个事件至少维护：中文名称、英文事件名、业务说明、触发时机、事件来源、负责人、事件版本、属性及枚举、示例、优先级、关联指标、适用站点、上线版本和废弃替代事件。

### 8.3 发布门禁

1. 事件名、属性名和枚举通过 Schema 校验。
2. P0 事件必须提供成功、失败、重复提交、断网重试和跨端场景测试。
3. 服务端事件必须给出幂等键和业务表对账规则。
4. 包含 PII 的属性必须通过隐私检查。
5. 修改已有字段含义必须升级 `event_version`。
6. 上线后 24 小时内进入重点质量观察。

## 9. 埋点事件字典

### 9.1 优先级说明

| 优先级 | 定义 |
|---|---|
| P0 | 资金、身份、核心转化、风险、后台审计；首期必须上线，不采样 |
| P1 | 游戏发现、VIP、代理、活动、消息效果；第二阶段上线 |
| P2 | 低频运营交互和体验优化；可按模块接入 |

### 9.2 通用前端事件

通用事件用于低价值、重复性 UI 交互；核心业务仍使用后续语义事件。

| 事件名 | 触发时机 | 关键属性 | 优先级 |
|---|---|---|---|
| `page_viewed` | 页面完成可交互渲染 | `page_code`、`previous_page_code`、`load_duration_ms` | P0 |
| `element_clicked` | 配置在元素字典中的按钮被点击 | `element_code`、`element_type`、`position_index` | P1 |
| `list_item_exposed` | 列表项有效曝光 | `list_code`、`item_type`、`item_id`、`position_index` | P1 |
| `tab_selected` | 用户切换 Tab | `tab_code`、`previous_tab_code` | P1 |
| `filter_applied` | 用户提交筛选 | `filter_code`、`selected_value_codes`；不得上报敏感原文 | P1 |
| `dialog_result` | 弹窗确认、取消或关闭 | `dialog_code`、`result` | P1 |
| `copy_completed` | 复制邀请码、订单号、链接、UID 等 | `content_type`；不得上报复制原文 | P2 |
| `external_link_opened` | 跳转客服、TG、媒体分享或外部页面 | `destination_type`、`destination_domain` | P1 |

### 9.3 获客与 PWA/W2A

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `attribution_context_captured` | 服务端完成广告、邀请码或自然流归因 | `pid`、`px_id_hash`、`campaign_id/name`、`adset_id/name`、`ad_id/name`、`fb_finger_id`、`fbc_hash`、`fbp_hash`、`invite_code_hash`、`inviter_user_id`、`attribution_types`、`promoter`、`delivery_type` | P0 |
| `acquisition_page_viewed` | 投放页、仿谷歌页或预审页有效访问 | `page_type`：landing/mock_google/pre_review、`template_id`、`domain_id`、`is_paid_traffic` | P0 |
| `acquisition_cta_clicked` | 点击投放页或仿谷歌页主按钮 | `page_type`、`cta_type`：redirect/install/play/download | P0 |
| `acquisition_redirect_result` | 跳转外部浏览器、谷歌页或主站结果 | `from_page_type`、`to_type`、`result`、`browser_name`、`fallback_reason` | P0 |
| `app_install_clicked` | 用户点击安装 PWA/APK | `install_type`、`is_supported`、`already_installed`、`download_url_id` | P0 |
| `app_activated` | 安装后首次进入 PWA/APK/APP，由服务端确认 | `install_type`、`first_open`、`fb_finger_id`、`adid`、`gps_adid` | P0 |
| `attribution_identity_linked` | 广告标识与匿名访客或用户绑定成功 | `identity_type`、`identity_hash`、`user_id`、`link_source`、`confidence_level` | P0 |
| `attribution_identity_conflict` | fbc/fbp、指纹、adid 或渠道信息出现冲突 | `conflict_type`、`expected_hash`、`observed_hash`、`risk_level` | P0 |
| `external_conversion_requested` | 内部事件触发 Pixel/Adjust/Appsflyer 回传 | `internal_event_name`、`platform`、`mapping_event_name`、`event_token_id` | P0 |
| `external_conversion_result` | 外部平台回传请求完成 | `platform`、`result`、`http_status`、`error_code`、`retry_count` | P0 |
| `promotion_link_generated` | 后台生成新投放地址 | `pid`、`domain_id`、`template_id`、`selected_ad_params`、`admin_id` | P1 |
| `promotion_link_opened` | 生成的投放地址首次/重复打开 | `promotion_link_id`、`pid`、`open_seq`、`referrer_domain` | P1 |

#### 外部事件映射要求

外部映射在后台按 `site_id + promotion_channel_code + platform` 配置。以 Pixel、Adjust、Appsflyer 当前生产映射为迁移基线，PageView、ViewContent、Lead、StartTrial、AddToCart、CompleteRegistration、InitiateCheckout、AddPaymentInfo、Purchase、Donate 等外部事件必须先绑定内部事件。外部映射变更只生成新配置版本，不修改内部历史事件；不再保留任何“虚拟赋值”事件。

### 9.4 注册、登录与安全中心

注册和登录方式仅包含 `username`（用户名）与 `phone`（手机号），系统不设置昵称字段。

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `auth_mode_selected` | 用户切换注册/登录、账号/手机号方式 | `flow_type`、`auth_method` | P1 |
| `registration_submitted` | 点击注册且前端校验通过 | `register_method`、`privacy_consent`、`invite_code_present` | P0 |
| `user_registered` | 服务端创建用户成功 | `register_method`、`register_site_url_id`、`register_ip`、`device_platform`、`fingerprint_id`、`invite_code`、归因字段 | P0 |
| `registration_failed` | 服务端注册失败 | `register_method`、`error_code`、`error_category`、`field_code` | P0 |
| `login_submitted` | 点击登录且前端校验通过 | `login_method`、`remember_password_selected` | P0 |
| `user_logged_in` | 服务端登录成功 | `login_method`、`last_login_ip`、`device_platform`、`device_id`、`fingerprint_id`、`is_new_device` | P0 |
| `login_failed` | 服务端登录失败 | `login_method`、`error_code`、`failure_reason`、`attempt_count_window` | P0 |
| `user_logged_out` | 主动退出、账号禁用、重置密码或会话过期 | `logout_reason`、`trigger_source` | P0 |
| `verification_code_requested` | 请求发送手机号验证码 | `verification_type`、`country_code`、`result`、`error_code` | P0 |
| `verification_submitted` | 用户提交验证码 | `verification_type`、`attempt_seq`；严禁上传验证码 | P0 |
| `phone_verified` | 服务端手机号验证成功 | `phone_hash`、`country_code`、`is_new_binding` | P0 |
| `email_verified` | 服务端邮箱验证成功 | `email_hash`、`is_new_binding` | P0 |
| `password_changed` | 用户或后台修改密码成功 | `change_source`、`forced_logout`；不得上传密码 | P0 |
| `withdrawal_account_bound` | 新绑定银行卡/电子钱包 | `account_type`、`bank_code`、`account_hash`、`account_last4`、`name_hash`、`change_source` | P0 |
| `withdrawal_account_changed` | 后台修改已绑定收款账户 | 上述账户属性、`admin_id`、`operation_reason`、`previous_account_hash` | P0 |
| `user_profile_changed` | 后台修改邮箱、姓名、备注、分组等 | `changed_field_codes`、`change_source`、`admin_id` | P0 |
| `user_identity_observed` | 注册或登录时服务端保存身份环境 | `ip`、`ip_country/city/isp`、`device_id`、`fingerprint_id`、`ua_hash`、`channel_type` | P0 |

### 9.5 大厅、游戏发现与游戏订单

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `home_banner_exposed` | 首页宣传图有效曝光 | `banner_id`、`position_index`、`target_type` | P1 |
| `home_banner_clicked` | 点击宣传图 | `banner_id`、`target_type`、`target_id` | P1 |
| `game_navigation_selected` | 点击 Hot、LG、My Games、All Games、类型、子类型、品牌或标签 | `navigation_type`、`navigation_id`、`position_index` | P1 |
| `game_search_submitted` | 提交游戏搜索 | `keyword_hash`、`keyword_length`、`game_type_id`、`result_count` | P1 |
| `game_filter_applied` | 所有游戏/专题页筛选 | `game_type_id`、`subtype_id`、`brand_id`、`tag_ids`、`rtp_range`、`max_multiplier_range` | P1 |
| `game_card_exposed` | 游戏卡片有效曝光 | `game_id`、`brand_id`、`section_id`、`position_index`、`is_hot`、`is_new` | P1 |
| `game_detail_viewed` | 点击游戏卡片打开详情 | `game_id`、`brand_id`、`entry_page`、`section_id`、`position_index` | P1 |
| `game_favorite_changed` | 收藏或取消收藏成功 | `game_id`、`favorite_state`、`entry_page` | P1 |
| `game_launch_requested` | 用户点击 Play | `game_id`、`brand_id`、`game_type_id`、`game_status` | P0 |
| `game_launch_result` | 服务端返回游戏启动结果 | `game_id`、`result`、`error_code`、`maintenance_scope` | P0 |
| `game_session_started` | 成功进入游戏 | `game_id`、`game_session_id`、`wallet_balance_before` | P0 |
| `game_session_ended` | 退出/超时结束游戏 | `game_session_id`、`duration_sec`、`bet_count`、`valid_bet_amount`、`net_win_amount` | P1 |
| `game_bet_created` | 服务端创建投注订单 | `game_order_id`、`game_round_id`、`bet_amount`、`bet_option`、`odds`、`bet_stage` | P0 |
| `game_bet_status_changed` | 投注进行中、成功、取消、退回等状态变化 | `game_order_id`、`old_status`、`new_status`、`status_reason` | P0 |
| `game_bet_settled` | 游戏订单最终结算 | `game_order_id`、`bet_amount`、`returned_amount`、`valid_bet_amount`、`award_amount`、`jackpot_amount`、`user_net_win_amount`、`platform_ggr` | P0 |
| `game_bet_returned` | 投注退回到账 | `game_order_id`、`return_amount`、`reason_code`、`ledger_entry_id` | P0 |
| `jackpot_awarded` | Jackpot 奖金结算 | `game_order_id`、`game_id`、`jackpot_amount`、`ledger_entry_id` | P0 |
| `game_maintenance_encountered` | 用户点击维护中的品牌/游戏 | `game_id`、`brand_id`、`maintenance_scope`、`maintenance_end_at` | P1 |

### 9.6 充值链路

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `deposit_page_viewed` | 充值页面可交互 | `available_method_count`、`maintenance_method_count` | P0 |
| `deposit_method_selected` | 选择代收方式 | `collection_method_id`、`method_status`、`position_index` | P0 |
| `deposit_channel_selected` | 选择代收渠道；不展示渠道时记录系统默认 | `collection_channel_id`、`provider_code`、`min_amount`、`max_amount`、`bonus_type/value`、`selection_source` | P0 |
| `deposit_amount_entered` | 金额校验完成或点击快捷金额 | `amount`、`amount_source`、`is_within_limit`、`estimated_bonus_amount` | P0 |
| `deposit_submit_clicked` | 点击提交充值 | `amount`、方式/渠道属性、`pending_order_exists` | P0 |
| `deposit_order_create_blocked` | 未满足限额、维护、存在未支付订单等 | `block_reason`、`amount`、方式/渠道属性 | P0 |
| `deposit_order_created` | 服务端创建充值订单 | `deposit_order_id`、`provider_order_id`、`order_amount`、`lifetime_deposit_seq`、`successful_deposit_seq_before`、`is_first_deposit_candidate` | P0 |
| `deposit_cashier_opened` | 成功拉起三方收银台 | `deposit_order_id`、`provider_code`、`duration_ms` | P0 |
| `deposit_order_cancel_requested` | 用户主动取消 | `deposit_order_id`、`elapsed_sec` | P0 |
| `deposit_callback_received` | 收到三方代收回调 | `callback_id`、`provider_order_id`、`callback_status`、`callback_amount`、`signature_valid`、`order_current_status`、`callback_age_hours`、`within_late_credit_window` | P0 |
| `deposit_order_status_changed` | 未支付、已支付、失败、取消、超时等状态流转 | `old_status`、`new_status`、`trigger_source`、`reason_code`、`paid_amount`、`bonus_amount`、`net_credit_amount` | P0 |
| `deposit_succeeded` | 订单首次进入已支付且账本入金成功 | `deposit_order_id`、`paid_amount`、`bonus_amount`、`net_credit_amount`、`successful_deposit_seq`、`ledger_entry_ids` | P0 |
| `first_deposit_succeeded` | 用户生命周期首充成功 | 充值属性、`time_from_registration_sec`、`attribution_window_type` | P0 |
| `repeat_deposit_succeeded` | 非首充充值成功 | 充值属性、`successful_deposit_seq` | P0 |
| `deposit_manual_action_completed` | 后台补单、置失败、锁定、解锁 | `action_code`、`admin_id`、`reason`、`old_status`、`new_status` | P0 |
| `deposit_ledger_entry_created` | 充值及赠金实际入账 | `ledger_entry_id`、`deposit_order_id`、`ledger_type`、`amount`、`balance_before/after` | P0 |

充值订单取消或超时后的 24 小时内，仍允许通过验签、金额及幂等校验的成功回调入账；超过 24 小时不得自动入账，进入人工处理并记录审计。24 小时从订单进入取消或超时状态的时间开始计算。

### 9.7 提款链路

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `withdrawal_page_viewed` | 提款页可交互 | `available_method_count`、`daily_success_count`、`remaining_daily_count` | P0 |
| `withdrawal_prerequisite_checked` | 服务端校验手机号、邮箱、账户、时间、次数和稽核流水 | `phone_verified`、`email_verified`、`account_bound`、`within_time_window`、`daily_limit_passed`、`audit_turnover_passed` | P0 |
| `withdrawal_prerequisite_blocked` | 任一前置条件不满足 | `block_reason`、`redirect_target`、`audit_turnover_remaining` | P0 |
| `withdrawal_method_selected` | 选择代付方式和收款账户 | `payout_method_id`、`account_type`、`bank_code`、`account_hash` | P0 |
| `withdrawal_amount_entered` | 金额及手续费预览完成 | `order_amount`、`fee_amount`、`net_payout_amount`、`within_limit` | P0 |
| `withdrawal_submit_clicked` | 用户确认提交提款 | 金额、代付方式、账户及稽核流水属性 | P0 |
| `withdrawal_risk_precheck_result` | 创建订单前同步风险检查 | `decision`、`risk_score`、`hit_rule_ids`、`required_action`、`single_manual_limit_passed`、`auto_payout_eligible`、`high_risk_auto_disabled` | P0 |
| `withdrawal_order_created` | 服务端创建提款订单 | `withdrawal_order_id`、金额、`lifetime_withdrawal_seq`、`successful_withdrawal_seq_before`、`is_first_withdrawal_candidate`、`historical_cash_gap`、`expected_cash_gap` | P0 |
| `withdrawal_order_locked` | 系统或后台人员锁定订单 | `lock_source`、`admin_id`、`lock_reason` | P0 |
| `withdrawal_order_unlocked` | 解锁订单 | `unlock_source`、`admin_id`、`duration_locked_sec` | P0 |
| `withdrawal_provider_submitted` | 提交至三方代付 | `payout_channel_id`、`provider_code`、`provider_order_id`、`submit_source`、`single_manual_limit_passed`、`risk_level` | P0 |
| `withdrawal_callback_received` | 收到代付回调 | `callback_id`、`callback_status`、`signature_valid`、`failure_reason` | P0 |
| `withdrawal_order_status_changed` | 待支付、支付中、已支付、失败、取消、冲正、驳回、罚没、退回等流转 | `old_status`、`new_status`、`trigger_source`、`reason_code`、`admin_id` | P0 |
| `withdrawal_succeeded` | 已支付或冲正且最终出款成立 | `withdrawal_order_id`、`order_amount`、`fee_amount`、`net_payout_amount`、`successful_withdrawal_seq` | P0 |
| `first_withdrawal_succeeded` | 用户生命周期首提成功 | 提款属性、`time_from_first_deposit_sec`、`valid_bet_since_deposit` | P0 |
| `withdrawal_amount_returned` | 驳回/失败后金额退回用户 | `withdrawal_order_id`、`return_amount`、`reason_code`、`ledger_entry_id` | P0 |
| `withdrawal_amount_confiscated` | 后台罚没且不退回 | `withdrawal_order_id`、`amount`、`admin_id`、`reason` | P0 |
| `withdrawal_manual_action_completed` | 提交、驳回、罚没、人工确认、置失败、冲正、退回、重置 | `action_code`、`admin_id`、`reason`、`payout_channel_id`、`old_status/new_status` | P0 |
| `withdrawal_batch_action_completed` | 批量锁定/提交/重置/退回/罚没 | `batch_id`、`action_code`、`selected_count`、`success_count`、`skip_count`、`failure_count` | P0 |
| `withdrawal_ledger_entry_created` | 扣款、退回、手续费等账变 | `ledger_entry_id`、`ledger_type`、`amount`、`balance_before/after` | P0 |

自动出款仅在订单通过单笔人工配置的提款限制且未被判定为高风险时允许执行；高风险订单必须强制关闭自动出款并转人工处理。稽核流水倍数 N 支持全站、会员分组、活动、充值渠道和用户五个配置层级，每次校验必须记录实际生效的 `audit_config_level`、`audit_config_id`、`audit_config_version` 和 `audit_turnover_multiplier`。

### 9.8 钱包、活动、VIP 与代理

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `wallet_viewed` | 钱包页面打开 | `balance`、`available_balance`、`audit_turnover_remaining` | P1 |
| `ledger_entry_created` | 非充提类账变生成 | `ledger_type_parent`、`ledger_type`、`amount`、`related_business_id`、`balance_before/after` | P0 |
| `promotion_list_viewed` | 活动中心打开 | `active_promotion_count`、`claimable_count` | P1 |
| `promotion_detail_viewed` | 查看活动详情 | `promotion_id`、`promotion_type`、`entry_source` | P1 |
| `promotion_eligibility_checked` | 服务端判断用户是否可见、可参与或可购买 | `promotion_id/version`、`promotion_type`、`eligible`、`reason_codes`、`vip_level`、`binding_states`、`agent_scope`、`channel_scope` | P0 |
| `promotion_task_progress_updated` | 充值、有效投注、邀请、游戏结果或绑定状态改变任务进度 | `promotion_id/version`、`task_id`、`progress_before/after`、`target_value`、`progress_source_event_id`、`period_id` | P0 |
| `promotion_task_completed` | 用户首次达到子任务或主任务条件 | `promotion_id/version`、`task_id`、`completion_type`、`completed_at`、`evidence_event_ids`、`period_id` | P0 |
| `promotion_reward_calculated` | 生成一笔确定的活动奖励金额或奖品资格 | `reward_order_id`、`promotion_id/version`、`task_id`、`calculation_type`、`base_amount`、`rate`、`amount`、`prize_config_id`、`calculation_snapshot` | P0 |
| `promotion_claim_clicked` | 点击领取活动奖励 | `promotion_id`、`task_id`、`claimable_amount` | P1 |
| `reward_claim_result` | 服务端受理领取请求成功或失败；不代表已经到账 | `reward_order_id`、`promotion_id/version`、`result`、`error_code`、`review_mode`、`reward_status` | P0 |
| `promotion_reward_status_changed` | 奖励在可领、待审核、通过、拒绝、到账、过期等状态间变化 | `reward_order_id`、`old_status/new_status`、`trigger_source`、`reason_code`、`admin_id`、`period_id` | P0 |
| `reward_review_completed` | 后台或系统完成活动/票券奖励审核 | `reward_order_id`、`review_mode`、`review_result`、`admin_id`、`reject_reason`、`locked_by_admin_id` | P0 |
| `reward_granted` | 奖金或奖品最终发放；现金以账变成功为准 | `reward_order_id`、`reward_type`、`reward_source_type`、`grant_source`、`amount`、`prize_grant_id`、`ledger_entry_id`、`admin_id` | P0 |
| `reward_audit_turnover_created` | 现金奖励到账后生成稽核流水要求 | `reward_order_id`、`audit_task_id`、`audit_turnover_multiplier`、`required_valid_bet`、`eligible_game_scope`、`config_version` | P0 |
| `random_reward_resolved` | 服务端完成转盘、金蛋、红包、宝箱或月卡额外奖励随机结果 | `reward_order_id`、`random_scene`、`probability_config_version`、`candidate_snapshot_hash`、`random_request_id`、`result_prize_id`、`result_amount` | P0 |
| `deposit_rebate_unlocked` | 第 1、2、3 次充值成功解锁对应充值返利任务 | `promotion_id/version`、`successful_deposit_seq`、`deposit_order_id`、`deposit_amount`、`bonus_amount`、`required_valid_bet` | P0 |
| `bet_rebate_settled` | 按站点日结算个人次日投注返利 | `promotion_id/version`、`settlement_date`、`vip_level`、`game_category_breakdown`、`valid_bet_amount`、`rebate_rate`、`rebate_amount`、`reward_order_id` | P0 |
| `rescue_fund_settled` | 日、周或破产触发点计算救援金资格和金额 | `promotion_id/version`、`rescue_type`、`period_id`、`member_net_win`、`loss_amount`、`carryover_loss_before/after`、`excluded_bonus_amount`、`reward_order_id`、`eligible` | P0 |
| `coupon_issued` | 用户获得一张活动票券 | `user_coupon_id`、`coupon_config_id/version`、`coupon_type`、`promotion_id/version`、`issued_at`、`effective_at`、`expires_at`、`device_requirement` | P0 |
| `coupon_status_changed` | 用户票券进入待生效、可用、停发后继续、已使用或已过期 | `user_coupon_id`、`old_status/new_status`、`reason_code`、`task_progress_snapshot` | P0 |
| `coupon_prize_action_completed` | 用户完成转盘、砸蛋、拆红包或开宝箱动作 | `user_coupon_id`、`coupon_type`、`action_type`、`reward_order_id`、`result`、`error_code` | P0 |
| `monthly_card_purchase_submitted` | 用户确认购买月卡 | `monthly_card_config_id/version`、`monthly_card_type`、`price`、`eligibility_check_id` | P1 |
| `monthly_card_purchased` | 扣款成功并生成月卡实例 | `monthly_card_instance_id`、`monthly_card_config_id/version`、`monthly_card_type`、`price`、`ledger_entry_id`、`valid_from/to` | P0 |
| `monthly_card_reward_claimed` | 服务端受理月卡每日必得、额外奖励或过期后一键领取，并生成奖励单 | `monthly_card_instance_id`、`card_day`、`reward_slot_type`、`claim_mode`、`reward_order_ids`、`calculated_amount`、`prize_config_ids` | P0 |
| `monthly_card_refund_requested` | 用户确认申请退回已购或已过期月卡 | `monthly_card_instance_id`、`price`、`claimed_daily_cash_amount`、`calculated_refund_amount` | P1 |
| `monthly_card_refunded` | 月卡退回账变成功并终止后续领取 | `monthly_card_instance_id`、`refund_amount`、`ledger_entry_id`、`card_status_before`、`claimed_reward_snapshot` | P0 |
| `monthly_card_expired` | 月卡到达有效期 | `monthly_card_instance_id`、`expired_at`、`unclaimed_daily_count`、`unclaimed_extra_count`、`refundable` | P0 |
| `prize_granted` | 用户实际获得实物或碎片 | `prize_grant_id`、`prize_config_id`、`reward_order_id`、`prize_type`、`quantity`、`redemption_status` | P0 |
| `prize_redeemed` | 后台核销实物或碎片 | `prize_grant_id`、`redeem_quantity`、`admin_id`、`remark`、`result` | P0 |
| `vip_page_viewed` | VIP 主页面打开 | `vip_level`、`upgrade_progress`、`weekly_progress`、`claimable_amount` | P1 |
| `vip_reward_claim_clicked` | 点击领取升级或周奖励 | `vip_reward_type`、`vip_level`、`claimable_amount` | P1 |
| `vip_level_changed` | VIP 等级升级/调整 | `old_level`、`new_level`、`change_reason`、`recharge_progress`、`valid_bet_progress` | P0 |
| `vip_reward_claimed` | 奖励领取且到账 | `vip_reward_type`、`vip_level`、`amount`、`ledger_entry_id` | P0 |
| `affiliate_page_viewed` | 代理主页打开 | `commission_level`、`claimable_commission`、`team_size` | P1 |
| `affiliate_share_initiated` | 复制链接/邀请码、保存二维码或分享到媒体 | `share_type`、`share_destination`、`invite_code` | P1 |
| `invite_link_opened` | 被邀请人打开邀请链接 | `invite_code`、`inviter_user_id`、`anonymous_id` | P0 |
| `affiliate_relationship_created` | 注册或后台绑定形成上下级关系 | `inviter_user_id`、`invitee_user_id`、`relation_source`、`absolute_level` | P0 |
| `affiliate_relationship_changed` | 解绑或重建邀请关系 | `old_inviter_user_id`、`new_inviter_user_id`、`admin_id`、`affected_team_size` | P0 |
| `commission_settled` | 每日代理佣金结算 | `commission_id`、`settlement_date`、`direct_amount`、`indirect_amount`、`team_valid_bet`、`commission_level` | P0 |
| `commission_claim_clicked` | 点击领取佣金 | `claimable_amount`、`unclaimed_day_count` | P1 |
| `commission_claimed` | 佣金实际到账 | `commission_ids`、`amount`、`ledger_entry_id` | P0 |
| `member_group_changed` | 系统规则或后台调整会员分组 | `group_ids_before/after`、`change_source`、`rule_id`、`admin_id` | P0 |

#### 活动类型关键口径

| 活动类型 | 资格、结算与领取口径 |
|---|---|
| 充值返利 | 仅用户全生命周期 `successful_deposit_seq=1/2/3` 分别解锁首充、二充、三充任务；各次奖励单独计算 `奖励金额 × 稽核流水倍数 N`，用户总剩余稽核为未完成任务之和。达到稽核要求后手动领取，服务端幂等防重复；配置无有效期时奖励不自动过期 |
| 个人次日投注返利 | 按上一站点自然日、游戏分类和结算时 VIP 等级计算；多日未领取金额可以汇总展示和一次提交，但每天必须保留独立 `reward_order_id`、结算日和明细，领取后对应日展示为 0 |
| 每日邀请 | 按站点自然日重置；合格邀请必须同时满足专属邀请码关系、注册成功及配置的最低充值成功金额。同一被邀请用户在同一任务周期只计一次；各子任务和全部完成奖励分别生成奖励单 |
| 斗鸡连胜/扫雷挑战 | 仅作为活动任务计算，不属于游戏风控。斗鸡输局重置连胜，平局、取消和双边下注不计；扫雷只统计符合配置倍数的胜利局。任务按站点自然日重置，子任务可累计完成 |
| 每日/每周救援金 | 以站点自然日或周一至周日的站点周结算；支持当期亏损或累计亏损、固定金额或比例金额、未领取累计或过期。每次结算冻结游戏范围、奖励排除项和配置版本 |
| 破产救援金 | 所有在途游戏订单结算后余额小于配置阈值（来源默认 `<1`）触发；支持每日首次或每次破产、单次或累计亏损。每个触发点生成独立结算事件，不得因重复刷新页面重复生成奖励 |
| 票券活动 | 每张用户票券绑定领取时配置版本、有效期和设备条件；任务从 `effective_at` 开始累计，使用、审核通过和奖金到账分别统计。停发或活动下架不影响已领取票券继续完成任务，过期后不再参与或开奖 |
| 月卡 | 购买成功生成独立实例并冻结配置版本；每天最多领取一次必得奖励和一次额外奖励，按站点自然日计算当日有效投注。已过期但未退回的实例可领取遗留奖励和一键领取；退回后禁止继续领取 |

救援金统一使用本文件的会员视角公式：`会员净输赢 = 游戏中奖金额 + Jackpot 金额 - 有效投注`，`亏损金额 = max(0, -会员净输赢)`。若配置“扣除其他彩金”，则先按配置把对应彩金加入会员收益后再计算亏损，必须记录被排除的奖励类型及金额。来源材料中“投注退回金额加/减”写法不一致时，不直接使用原式，统一从已定义的有效投注和会员净输赢推导。

月卡额外奖励的计算值由服务端生成并保留快照：固定奖品概率 `P = P0 + min(V/T, 1) × (1-P0)`；随机现金在 `V < Vmin` 时按同式提升至最低金额资格，在 `Vmin ≤ V ≤ Vmax` 时按 `(V-Vmin)/(Vmax-Vmin)` 在线性区间内从最小金额增加至最大金额，超过上限取最大金额。`V` 为当日合格有效投注；领取后该奖励槽位停止累计。

### 9.9 消息与通知

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `notification_permission_prompted` | 展示浏览器/系统通知授权引导 | `platform`、`prompt_type`、`prompt_daily_seq` | P1 |
| `notification_permission_result` | 用户允许、拒绝或关闭 | `platform`、`result`、`system_permission_state` | P1 |
| `message_center_viewed` | 消息中心打开或切换通知/公告 | `message_tab`、`unread_count` | P1 |
| `message_opened` | 打开站内信详情 | `message_id`、`message_type`、`send_user_type`、`was_unread` | P1 |
| `message_marked_read` | 单条/批量标记已读 | `message_ids_count`、`operation_type` | P1 |
| `message_deleted` | 用户删除站内信 | `message_ids_count`、`operation_type` | P2 |
| `in_app_notice_shown` | 站内顶部通知展示 | `notice_id`、`queue_position`、`auto_close_sec` | P1 |
| `in_app_notice_dismissed` | 用户关闭或自动关闭 | `notice_id`、`dismiss_reason`、`visible_duration_ms` | P1 |
| `push_send_requested` | 后台/系统发起推送 | `push_id`、`platforms`、`audience_type`、`target_count`、`jump_target` | P1 |
| `push_delivery_result` | 极光等服务商返回送达结果 | `push_id`、`registration_id_hash`、`result`、`failure_reason` | P1 |
| `push_opened` | 用户点击系统通知 | `push_id`、`jump_target`、`time_from_delivery_sec` | P1 |
| `message_batch_status_changed` | 站内信/推送任务状态变化 | `message_batch_id`、`old_status/new_status`、`sent_count`、`failed_count` | P1 |

### 9.10 后台、配置与运维

| 事件名 | 触发时机与来源 | 关键属性 | 优先级 |
|---|---|---|---|
| `admin_login_attempted` | 后台提交账号密码/MFA | `admin_account_hash`、`operator_ip`、`mfa_required` | P0 |
| `admin_login_result` | 后台登录成功或失败 | `admin_id`、`result`、`failure_reason`、`ip_whitelist_passed`、`mfa_passed` | P0 |
| `admin_forced_logout` | 账号关闭、重置密码/密钥、过期等 | `admin_id`、`logout_reason`、`trigger_admin_id` | P0 |
| `admin_permission_denied` | 页面或按钮权限校验失败 | `admin_id`、`permission_code`、`module_code`、`action_code` | P0 |
| `admin_action_completed` | 通用后台按钮操作完成 | 审计公共属性、`result`、`duration_ms` | P0 |
| `admin_sensitive_value_viewed` | 具备字段查看权限的人员查看完整手机号、IP、收款账户等；无需二次审批 | `field_codes`、`target_type/id`、`permission_code`、`view_reason` | P0 |
| `admin_sensitive_exported` | 导出用户、订单、报表或关联数据 | `export_type`、`filter_summary`、`row_count`、`sensitive_field_codes`、`file_id` | P0 |
| `admin_batch_action_completed` | 批量禁用、分组、财务处理等 | `batch_id`、`action_code`、`selected/success/failure/skip_count` | P0 |
| `admin_role_changed` | 新增/编辑角色或权限 | `role_id`、`permission_codes_added/removed`、`site_scope_changed` | P0 |
| `admin_account_changed` | 新增、启停、改角色、重置密码/MFA | `target_admin_id`、`action_code`、`trigger_admin_id` | P0 |
| `admin_ip_whitelist_changed` | 新增/编辑白名单 | `target_admin_id`、`ip_count_before/after`、`trigger_admin_id` | P0 |
| `payment_config_changed` | 商户、渠道、方式、限额、轮询、维护配置变更 | `config_type`、`target_id`、`changed_field_codes`、`admin_id` | P0 |
| `game_config_changed` | 品牌、类型、标签、游戏状态、首页区域等变更 | `config_type`、`target_id`、`changed_field_codes`、`admin_id` | P0 |
| `promotion_config_changed` | 活动、任务、票券、月卡、奖品、VIP、代理或消息配置变更 | `config_type`、`target_id`、`old_version/new_version`、`changed_field_codes`、`effective_user_policy`、`probability_validation_result`、`admin_id` | P0 |
| `delivery_config_changed` | PWA/W2A、Pixel/Adjust 映射及投放地址变更 | `pid`、`changed_field_codes`、`mapping_version`、`admin_id` | P0 |
| `domain_config_changed` | 域名新增、编辑、启停、删除、清缓存 | `domain_id`、`action_code`、`function_category`、`admin_id` | P0 |
| `domain_health_checked` | 域名解析或开放国家访问检测 | `domain_id`、`check_type`、`country_code`、`result`、`latency_ms` | P1 |
| `provider_callback_anomaly_detected` | 支付/游戏回调验签、金额或状态异常 | `provider_code`、`business_type`、`anomaly_type`、`business_id` | P0 |

### 9.11 风控闭环事件

| 事件名 | 触发时机 | 关键属性 | 优先级 |
|---|---|---|---|
| `risk_feature_updated` | 实时或批量特征更新 | `entity_type/id`、`feature_code`、`feature_value_bucket`、`window` | P0 |
| `risk_rule_evaluated` | 规则对一次业务请求完成计算 | `rule_id/version`、`scene_code`、`decision`、`duration_ms` | P0 |
| `risk_rule_hit` | 满足规则条件 | `rule_id/version`、`scene_code`、`risk_level`、`evidence_ids`、`score_delta` | P0 |
| `risk_alert_created` | 命中需通知或观察的规则 | `alert_id`、`entity_type/id`、`risk_level`、`rule_ids` | P0 |
| `risk_case_created` | 命中需人工审核或合并多个预警 | `risk_case_id`、`scene_code`、`entity_ids`、`risk_score` | P0 |
| `risk_case_status_changed` | 待处理、处理中、通过、拒绝、关闭等变化 | `old_status/new_status`、`reviewer_admin_id`、`reason_code` | P0 |
| `risk_action_executed` | 验证、拦截、冻结提款、停用奖励、强制下线等 | `action_code`、`action_source`、`target_id`、`result`、`expire_at` | P0 |
| `risk_review_completed` | 人工审核完成 | `risk_case_id`、`review_result`、`confirmed_risk_type`、`false_positive` | P0 |

## 10. 指标口径与分析需求

### 10.1 时间与人数口径

1. 原始事件统一存 UTC 时间，同时保留 `site_timezone` 和站点日期分区。
2. `site_timezone` 按站点所属国家配置，使用 IANA 时区；全部历史与新增报表均使用对应站点国家时间，配置变更不得回写历史日期。
3. 订单归属日期默认按“成功/最终状态发生时间”；创建人数、创建次数按创建时间。页面必须明确选择的时间口径。
4. 已登录业务人数按 `distinct user_id`；匿名获客人数按 `fb_finger_id > fingerprint_id > anonymous_id` 的优先级去重，并展示采用的标识口径。
5. 比率分母为 0 时展示 `-`，不得展示 0% 或无穷大。
6. 金额按事件币种存储；跨币种看板必须选择统一折算币种和汇率日期，首版默认不跨币种求和。

### 10.2 核心指标字典

| 指标 | 定义 |
|---|---|
| 新增注册人数 | 统计期内 `user_registered` 去重用户数 |
| 登录成功人数 | 统计期内 `user_logged_in` 去重用户数 |
| DAU | 统计日内至少发生一次有效 APP 行为的登录用户数；后台账号不计 |
| 充值人数 | 统计期内创建过充值订单的去重用户数 |
| 充值次数 | `deposit_order_created` 数量 |
| 充值成功人数 | 统计期内 `deposit_succeeded` 去重用户数 |
| 充值成功次数 | `deposit_succeeded` 数量 |
| 充值成功金额 | `deposit_succeeded.paid_amount` 之和，不含赠金 |
| 用户入金 | `deposit_succeeded.net_credit_amount` 之和 |
| 充值成功率（人） | 充值成功人数 / 充值人数 |
| 充值成功率（次） | 充值成功次数 / 充值次数 |
| 首充人数/金额 | `first_deposit_succeeded` 去重人数及 `paid_amount` 之和 |
| 新客充值成功人数 | 注册日等于充值成功日的充值成功用户数 |
| 新客首充人数 | 注册日等于首充成功日的用户数 |
| 提款人数 | 统计期内创建过提款订单的去重用户数 |
| 提款成功人数 | 统计期内 `withdrawal_succeeded` 去重用户数 |
| 提款成功次数 | `withdrawal_succeeded` 数量；已支付和已冲正只计一次 |
| 提款成功金额 | `withdrawal_succeeded.order_amount` 之和 |
| 实际出款金额 | `withdrawal_succeeded.net_payout_amount` 之和 |
| 提款成功率（人） | 提款成功人数 / 提款人数 |
| 提款成功率（次） | 提款成功次数 / 提款订单创建次数 |
| 充提差 | 充值成功金额 - 提款成功金额 |
| 充提比 | 充值成功金额 / 提款成功金额 |
| 投注金额 | `game_bet_created.bet_amount` 之和，包含后续退回 |
| 投注退回金额 | `game_bet_returned.return_amount` 之和 |
| 有效投注 | 投注金额 - 投注退回金额 |
| 游戏中奖金额 | `game_bet_settled.award_amount` 之和，不含 Jackpot 时需单独说明 |
| Jackpot 金额 | `jackpot_awarded.jackpot_amount` 之和 |
| 会员净输赢 | 游戏中奖金额 + Jackpot 金额 - 有效投注；正数表示会员赢钱 |
| 平台 GGR/客损 | 有效投注 - 游戏中奖金额 - Jackpot 金额；正数表示平台盈利 |
| RTP | （游戏中奖金额 + Jackpot 金额）/ 有效投注 |
| 杀率 | 平台 GGR / 有效投注 |
| 活动彩金 | `reward_granted` 中活动类奖励金额之和 |
| 活动访问人数 | `promotion_detail_viewed` 去重用户数；不得替代参与人数 |
| 活动合资格人数 | `promotion_eligibility_checked.eligible=true` 去重用户数 |
| 活动参与人数 | 至少完成一个活动任务的去重用户数，以 `promotion_task_completed` 为准 |
| 活动任务完成次数 | `promotion_task_completed` 数量，按主任务/子任务分别统计 |
| 可领取奖励次数/金额 | `reward_status=claimable` 的奖励单数量及金额；后续状态变化不得回写历史首次可领时间 |
| 已提交领取次数/金额 | 成功进入 `claim_submitted` 或 `pending_review` 的奖励单数量及金额；不等于到账 |
| 奖励审核通过率 | `approved + auto_approved` 奖励单数 / 已进入审核流程奖励单数 |
| 奖励到账次数/人数/金额 | `reward_granted` 对应奖励单数、去重用户数及现金金额；实物和碎片数量另列 |
| 未领取奖励次数/金额 | 当前为 `claimable` 且未进入领取流程的奖励单数量及金额 |
| 奖励过期次数/金额 | 首次进入 `expired` 的奖励单数量及金额 |
| 次日投注返利领取天数 | 至少一笔次日投注返利 `reward_granted` 的不同结算日数；不得命名为留存天数 |
| 救援金到账金额 | 按 `daily_rescue/weekly_rescue/bankruptcy_rescue` 分列的 `reward_granted.amount` |
| 票券发放张数 | `coupon_issued` 数量 |
| 票券使用张数 | 首次成功完成 `coupon_prize_action_completed` 的 `user_coupon_id` 数；不要求审核通过 |
| 票券奖励到账次数/人数/金额 | 票券来源 `reward_granted` 的奖励单数、去重用户数和现金金额 |
| 月卡购买数量/金额 | `monthly_card_purchased` 实例数及 `price` 之和 |
| 月卡退回数量/金额 | `monthly_card_refunded` 实例数及 `refund_amount` 之和 |
| 月卡净收入 | 月卡购买金额 - 月卡退回金额 |
| 月卡奖励金额 | 月卡来源 `reward_granted.amount`，必得和额外奖励分列；仅生成奖励单或待审核不得计入 |
| 代理佣金 | `commission_claimed.amount` 之和；结算未领取金额另列 |
| 稽核流水剩余 | 需完成的累计有效投注 - 已完成有效投注，最小值为 0 |
| 首充转化率 | 首充人数 / 新增注册人数；需明确同日或归因窗口 |
| 注册留存率 Dn | 某注册 Cohort 在第 n 日发生有效 APP 行为人数 / Cohort 注册人数 |
| 首充留存率 Dn | 某首充 Cohort 在第 n 日再次成功充值人数 / Cohort 首充人数 |
| 游戏留存率 Dn | 某首投 Cohort 在第 n 日再次有效投注人数 / Cohort 首投人数 |

### 10.3 序次口径

- `lifetime_deposit_seq`：用户全生命周期充值订单创建序次。
- `successful_deposit_seq`：用户全生命周期充值成功序次；`successful_deposit_seq=1/2/3` 分别定义为首充、二充、三充。
- 首充、二充、三充不因建立或变更代理关系而重新计算。
- 提款对应维护 `lifetime_withdrawal_seq` 与 `successful_withdrawal_seq`，订单创建次数和成功次数分别统计。
- 每日提款次数限额默认按 `successful_withdrawal_seq` 在站点自然日内的成功次数判断。

### 10.4 核心漏斗

| 漏斗 | 步骤 | 默认窗口 |
|---|---|---|
| 获客漏斗 | 投放页访问 → 主按钮点击/进入谷歌页 → 安装点击 → APP 激活 → 注册 → 首充 → 复充 | 当天、7 天、全部 |
| 注册漏斗 | 注册页访问 → 选择注册方式 → 提交 → 注册成功 → 首次登录成功 | 单次会话/24 小时 |
| 充值漏斗 | 充值页 → 选择方式 → 选择渠道 → 输入金额 → 创建订单 → 拉起收银台 → 支付成功 | 24 小时，状态按订单 |
| 提款漏斗 | 提款页 → 前置校验通过 → 选择账户 → 提交 → 风险预检通过 → 订单创建 → 审核/代付 → 出款成功 | 7 天，状态按订单 |
| 游戏漏斗 | 首页游戏曝光 → 游戏详情 → 点击 Play → 启动成功 → 创建首笔投注 → 首笔结算 | 单次会话/24 小时 |
| VIP 漏斗 | VIP 入口曝光 → VIP 页 → 可领取奖励曝光 → 点击领取 → 到账成功 | 24 小时 |
| 通用活动奖励漏斗 | 活动入口曝光 → 活动详情 → 合资格 → 任务完成 → 奖励可领 → 提交领取 → 审核通过/自动通过 → 奖励到账 | 按活动周期和奖励单 |
| 票券漏斗 | 活动详情 → 票券发放 → 票券生效 → 任务完成 → 开奖动作完成 → 审核通过/自动通过 → 奖励到账 | 按 `user_coupon_id` |
| 月卡漏斗 | 月卡入口 → 详情 → 购买提交 → 购买成功 → 每日奖励可领 → 领取成功 → 过期或退回 | 按 `monthly_card_instance_id` |
| 代理裂变漏斗 | 代理页 → 发起分享 → 邀请链接打开 → 被邀请人注册 → 被邀请人首充 → 有效投注 → 上级佣金结算/领取 | 本期不配置跨步骤归因窗口，仅展示各步骤事实量 |
| 消息召回漏斗 | 推送请求 → 送达 → 打开 → 目标页面到达 → 目标业务完成 | 本期不配置跨步骤归因窗口，仅展示各步骤事实量 |

所有漏斗支持按站点、国家、渠道类型、活动渠道码、投放 PID/广告、设备平台、注册方式、会员分组、VIP、代理类型和风险标签分层。代理分享和消息召回本期不计算窗口归因转化率。

### 10.5 路径、留存与分群

#### 路径分析

- 指定起点或终点，展示前后最多 10 步路径。
- 支持页面事件与业务事件混合，例如“首页 → 游戏详情 → Play → 首投”。
- 自动合并连续相同页面，区分退出、超时和跨端登录。
- 支持对比首充用户与未首充用户、赢钱与输钱用户、风险与正常用户路径。

#### 留存分析

- 支持注册、首充、首投、游戏品牌/类型首次投注作为 Cohort 起点。
- 回访行为支持登录、任意 APP 行为、充值成功、有效投注。
- 支持 D1、D2、D3、D5、D7、D15、D30 和自定义日。
- 三类流量全部归因：存在有效 `fbc` 或 `fb_finger_id` 等广告来源证据记为直推，存在有效邀请码或邀请关系记为裂变，两类证据均不存在记为自然流。直推和裂变同时成立时全部写入 `attribution_types`；报表使用服务端结果，不在查询层重复推断或相互覆盖。

#### 用户分群

支持以下条件组合：

- 用户属性：国家、渠道、注册方式、设备、VIP、代理类型、会员分组、风险等级。
- 行为条件：做过/未做过某事件、次数、金额、连续天数、首次/最近发生时间。
- 关系条件：共享 IP/设备/指纹/收款账户人数、代理层级、团队规模。
- 资金条件：充值、提款、充提差、稽核流水、奖励、佣金。
- 游戏条件：有效投注、GGR、RTP、游戏品牌/类型/名称。

分群可用于分析、风控规则和消息触达，但用于触达时必须保留分群版本和用户快照。

### 10.6 看板需求

| 看板 | 核心内容 |
|---|---|
| 获客投放 | 广告系列/广告组/广告、投放页、安装、激活、注册、首充、复充、充提比、直推、裂变与自然流 |
| 用户增长 | 注册、登录、DAU、新客充值、注册/首充/游戏留存、渠道与设备分布 |
| 支付经营 | 充值/提款人数次数金额、成功率、状态耗时、商户/渠道成功率、失败原因、人工操作率 |
| 游戏经营 | 有效投注、中奖、Jackpot、会员净输赢、平台 GGR、RTP、杀率，按品牌/类型/游戏/渠道分层 |
| VIP/活动/代理 | 活动访问—合资格—任务完成—可领—提交—审核—到账漏斗；充值/投注返利、邀请、挑战、救援金、票券、月卡分项；VIP 升级、代理新增、团队有效投注和佣金结算/领取 |
| 消息效果 | 授权率、送达率、打开率、目标页到达率及业务转化 |
| 风控总览 | 风险用户、规则命中、提款拦截、关联团伙、案件积压、误报率、处置金额 |
| 后台审计 | 登录失败、IP/MFA 异常、敏感操作、批量处理、导出、配置变更和操作失败 |

## 11. 用户 360 与关联关系

### 11.1 用户 360 页面

| 区域 | 展示内容 |
|---|---|
| 基本信息 | 用户 ID、用户名、手机号、注册方式、手机号/邮箱验证、VIP、代理、会员分组、账号状态 |
| 注册与登录 | 注册/最后登录时间、IP 地理和运营商、设备平台、设备 ID、指纹、渠道类型、完整归因摘要 |
| 资金 | 充值、提款、充提差、账户余额、稽核流水、绑定收款账户、最近订单和失败原因 |
| 游戏 | 有效投注、中奖、Jackpot、会员净输赢、GGR、RTP、常玩游戏及最近订单 |
| 奖励 | 活动资格/任务/奖励单状态、充值与投注返利、邀请/挑战、救援金、票券、月卡、实物/碎片、VIP 奖励、人工派彩、佣金及到账记录 |
| 关系 | 上下级代理、共享 IP/设备/指纹/手机号/账户/姓名的用户及关联强度 |
| 风险 | 风险分、标签、规则命中、案件、历史处置、申诉或误报结果 |
| 时间线 | 前端行为、业务状态、风险命中及后台操作按时间合并展示 |

敏感值默认掩码；具备对应字段查看权限的人员可直接查看完整值，不需要二次审批，但每次查看必须填写原因并写入 `admin_sensitive_value_viewed` 审计事件。

### 11.2 关联图谱

实体节点包括用户、匿名访客、设备 ID、指纹 ID、IP、手机号、邮箱、银行卡/钱包、绑定姓名、代理邀请码、广告标识和后台账号。

关系边至少包含：关系类型、首次发现时间、最后发现时间、出现次数、来源事件、站点、当前状态和置信度。支持一至三跳查询、按时间过滤、导出关联摘要及一键生成风险案件。

## 12. 风控系统需求

### 12.1 风控处理流程

风险链路统一为：事件进入 → 特征更新 → 规则计算 → 决策 → 预警/案件 → 人工审核 → 处置 → 结果回流。

决策等级：

| 决策 | 说明 | 允许动作 |
|---|---|---|
| `pass` | 未命中或低风险 | 业务正常继续 |
| `observe` | 弱信号，持续观察 | 加风险标签、提高监控频率 |
| `verify` | 需要附加验证 | 手机/邮箱验证、重新登录、人工补充资料 |
| `review` | 需要人工审核 | 提款进入待审核、奖励暂缓、生成案件 |
| `block` | 确定性高风险或业务硬性条件不满足 | 拦截本次操作；禁止直接改变资金归属 |

自动罚没、永久封号和跨业务冻结不在首版自动决策范围，必须由有权限人员人工确认。

### 12.2 风险特征库

| 特征组 | 示例特征 |
|---|---|
| 注册/登录 | `registration_count_by_ip/device/fingerprint_1h/1d/7d`、新设备登录、失败次数、国家跳变、UA 异常 |
| 账户关系 | 共享手机号、邮箱、银行卡/钱包、绑定姓名的用户数；代理上下级共享设备比例 |
| 充值 | 创建/成功/失败/取消/超时次数与金额、成功率、回调延迟、回调金额差、首充重复领取关联 |
| 提款 | 提交/成功/失败次数、首提、绑定后至提款时长、稽核流水、历史/预计充提差、渠道重试次数 |
| 奖励 | 合资格—完成—可领—审核—到账转化、奖励金额/充值金额、奖励金额/有效投注、同设备奖励用户数、重复领取、审核拒绝率、随机奖品分布、月卡购买/退回/领取组合 |
| 代理 | 邀请关系环、团队共享实体比例、团队首充集中度、佣金异常、关系变更次数 |
| 投放 | 点击—安装—激活—注册耗时、同指纹多广告归因、fbc/fbp 冲突、广告参数缺失率 |
| 后台 | 登录失败、非白名单 IP、权限拒绝、敏感操作频次、批量金额、导出量、非工作时段操作 |
| 运维 | 支付通道失败率、回调异常率、域名异常国家数、配置变更后指标突变 |

所有金额、次数和比例特征至少支持 5 分钟、1 小时、1 天、7 天、30 天及生命周期窗口；规则界面只引用特征编码，不在规则中重复实现统计逻辑。游戏相关数据只用于行为分析、经营指标和订单对账，本期不得配置游戏风控特征或规则。

### 12.3 风险场景与规则矩阵

下表中的 `N/T/A/R` 均为后台可配置参数，不是最终阈值。具体阈值、风险等级以及自动/人工处置边界本期暂不定稿，不作为本期验收阻塞项；确定性业务硬规则按业务系统现有配置执行。

| 场景编号 | 触发节点 | 判断信号 | 默认决策/动作 | 优先级 |
|---|---|---|---|---|
| R-REG-01 多账号注册 | 注册前/成功后 | 同 IP、设备或指纹在 T 内注册用户数 ≥ N | `verify` 或 `review`；建立关联边 | P0 |
| R-REG-02 重复身份 | 绑定手机号/收款账户 | 手机、账户哈希或绑定姓名已关联多个用户 | `review`；高亮关联用户 | P0 |
| R-LOG-01 登录爆破 | 登录失败 | 同账号/IP/设备在 T 内失败 ≥ N | 限速、附加验证、预警 | P0 |
| R-LOG-02 异地/新设备 | 登录成功 | 国家跳变、新设备且近期有资金操作 | `verify`；短期提高提款风险级别 | P0 |
| R-DEP-01 未支付订单堆积 | 创建充值 | 存在未支付订单或短时创建 ≥ N | 按业务硬规则拦截/限速 | P0 |
| R-DEP-02 回调金额异常 | 充值回调 | 回调金额与订单金额不一致 | `block` 入账并生成财务案件 | P0 |
| R-DEP-03 回调状态异常 | 充值回调 | 取消/超时订单收到成功回调，或回调超过允许期限 | 状态变更后 24 小时内通过验签、金额及幂等校验可入账；超过 24 小时转人工并告警 | P0 |
| R-DEP-04 通道异常 | 回调/聚合 | 某商户/渠道成功率或延迟偏离基线 | 支付运营预警，建议降权/维护 | P0 |
| R-DEP-05 首充套利群 | 首充成功 | 同设备/IP/账户关联多名首充及奖励用户 | 暂缓奖励、生成团伙案件 | P0 |
| R-WDR-01 前置条件不足 | 提款提交 | 手机/邮箱/账户/时间/次数/稽核流水不满足 | 确定性 `block`，返回原因 | P0 |
| R-WDR-02 绑定后速提 | 提款提交 | 收款账户变更后 T 内提款 | `review`；展示变更前后账户 | P0 |
| R-WDR-03 充值后速提 | 提款提交 | 充值成功后 T 内提款且有效投注低 | `review` | P0 |
| R-WDR-04 充提异常 | 提款提交 | 预计充提差低于 -A 或充提比异常 | `review`，风险分加权 | P0 |
| R-WDR-05 共享环境提款 | 提款提交 | 登录 IP/设备/指纹关联多个提款用户 | `review`；相同 IP 标红 | P0 |
| R-WDR-06 共享收款账户 | 提款提交 | 同账户哈希或姓名关联用户数 ≥ N | `review`；暂停自动出款并展示关联用户 | P0 |
| R-WDR-07 渠道反复失败 | 代付失败/重置 | 同订单重置 ≥ N 或多渠道连续失败 | 财务预警，人工检查账户信息 | P0 |
| R-WDR-08 首提高风险 | 首提创建 | 首提金额、奖励占比、关联实体同时异常 | `review`，强制关闭自动出款 | P0 |
| R-BON-01 奖励套利 | 奖励领取 | 奖励/充值或奖励/有效投注比例异常 | 暂缓奖励，生成案件 | P0 |
| R-BON-02 人工派彩异常 | 后台派彩 | 单笔/累计金额 ≥ A，或非工作时段频繁派彩 | 单人权限校验、必填原因并审计预警；不启用双人审批 | P0 |
| R-BON-03 重复领取/状态绕过 | 活动、票券或月卡领取 | 同一任务、奖励单、用户票券或月卡奖励槽位重复提交，或在非可领状态请求到账 | 幂等拒绝并生成审计预警 | P0 |
| R-BON-04 随机奖励异常 | 票券/月卡随机奖励 | 实际结果不在配置候选集、概率版本缺失，或结果分布显著偏离配置 | 阻止异常到账、保留随机请求证据并告警 | P0 |
| R-BON-05 月卡退回套利 | 月卡退回 | 退回金额与价格、已领必得现金不一致，或退回后继续领取 | 确定性拦截并核对账变 | P0 |
| R-AGT-01 代理关系环 | 创建/变更关系 | 用户同时成为自身上/下级或形成闭环 | 确定性 `block` | P0 |
| R-AGT-02 团队同源 | 新增下级/首充 | 团队成员共享设备/IP/账户比例 ≥ R | `review`，团伙视图 | P0 |
| R-AGT-03 佣金异常 | 佣金结算 | 佣金率、团队有效投注或层级计算异常 | 暂停结算并告警 | P0 |
| R-ATTR-01 归因冲突 | 归因绑定 | fbc/fbp、fbFingerID、adid 与已有绑定冲突 | 标记低置信度，停止重复回传 | P0 |
| R-ATTR-02 虚假转化 | 激活/注册/首充 | 大量用户出现不合理短耗时、同指纹或无前序事件 | 投放风险预警、单独统计 | P1 |
| R-ADM-01 后台登录异常 | 后台登录 | 非白名单 IP、MFA 失败或短时失败 ≥ N | 确定性拒绝、告警 | P0 |
| R-ADM-02 越权操作 | 权限校验 | 无按钮权限仍请求敏感接口 | 拒绝并产生高风险审计 | P0 |
| R-ADM-03 资金操作异常 | 补单/冲正/罚没/退回/人工上下分 | 金额、次数或影响用户数 ≥ 阈值 | 单人权限校验、必填原因并全量审计；不启用双人审批 | P0 |
| R-ADM-04 批量导出异常 | 导出 | 敏感字段、行数或频次超过阈值 | 限制、审批或安全告警 | P0 |
| R-OPS-01 域名异常 | 健康检测 | 开放国家访问异常或解析失效 | 运维告警，关联受影响渠道 | P1 |
| R-OPS-02 配置变更突变 | 配置变更后 | 支付成功率、注册或游戏指标在 T 内显著下降 | 自动关联变更记录并告警 | P1 |

### 12.4 规则管理

每条规则配置：规则名称、场景、版本、适用站点/渠道、触发事件、条件组、特征窗口、风险分、决策、动作、有效期、灰度比例、负责人、说明和变更记录。

规则发布流程：草稿 → 仿真回放 → 待审批 → 灰度 → 全量 → 停用。规则仿真需展示历史命中人数、订单数、涉及金额、与已确认风险的召回率、正常用户误伤率及样本明细。

### 12.5 预警与案件

- 相同实体、相同场景、指定时间窗口内的多条预警可自动合并为一个案件。
- 案件状态：待分配、待处理、处理中、待复核、已通过、已拒绝、已关闭。
- 案件必须展示规则命中、证据时间线、关联图、资金摘要和历史处置。
- 处置时必须选择原因码并填写备注；补单、冲正、罚没、退回和人工上下分等资金动作不启用双人审批，由具备权限的单一操作人执行并全量审计。
- 审核结果回流至规则评估，标记真实风险或误报，不得删除原始命中记录。

## 13. 数据质量与对账

### 13.1 质量规则

| 质量维度 | 检查内容 | 建议目标 |
|---|---|---|
| 完整性 | 必填字段、关键链路事件、业务对象状态是否缺失 | P0 服务端事件 ≥ 99.99%；客户端 P0 ≥ 99.5% |
| 唯一性 | `event_id`、业务幂等键、订单成功事件是否重复 | P0 重复率 < 0.01% |
| 及时性 | `received_at - event_time` | 风险关键事件 P95 ≤ 10 秒；行为事件 P95 ≤ 5 分钟 |
| 合法性 | Schema 类型、枚举、金额精度、状态流转 | 非法事件进入隔离区，不污染正式指标 |
| 一致性 | 事件金额/数量与订单、账本、游戏结算主库对账 | 日对账差异为 0；有差异必须可定位 |
| 连续性 | 站点/版本事件量突降、突增、归零 | 与 7 日同周期基线对比告警 |
| 关联性 | 业务事件是否有 user_id、trace_id、business_id | P0 关联率 ≥ 99.99% |

以上数值为首版建议，需结合实际峰值和网络环境评审。

### 13.2 业务对账

每日自动生成以下对账任务：

1. `deposit_succeeded` 与充值订单已支付、充值账变金额核对。
2. `withdrawal_succeeded` 与已支付/已冲正订单、提款账变及实际出款核对。
3. 游戏投注、退回、结算、Jackpot 与游戏订单/账变核对。
4. `reward_granted`、`commission_claimed` 与奖励/佣金账变核对。
5. 后台补单、冲正、罚没、退回、人工上下分必须同时存在业务结果事件和后台审计事件。
6. 外部转化回传请求、成功和最终业务转化数量核对。
7. `promotion_task_completed` 必须能回溯到充值、投注、邀请、绑定或游戏结算等证据事件，并绑定活动配置版本。
8. 每个活动 `reward_order_id` 的可领、审核、到账和过期状态流转必须合法；`reward_granted` 与现金账变、实物发放、稽核流水任务逐笔核对。
9. 票券使用数与开奖动作核对，票券奖励到账与审核通过核对；随机奖励结果必须属于对应概率配置版本的候选集。
10. 月卡购买、每日奖励、额外奖励、退回金额和账变逐实例核对；退回后不得存在新的领取成功事件。
11. 救援金结算的会员净输赢、亏损、彩金排除项和累计结转值与源游戏结算、奖励账变逐周期核对。

对账差异需记录：差异对象、期望值、实际值、差异金额、首次发现时间、处理状态、责任模块和补数批次。

### 13.3 质量告警

告警支持站内、邮件和 Lark/企业通信工具。P0 告警包括：资金事件缺失、账变不平、订单非法状态流转、回调金额不一致、后台敏感操作无审计、事件量归零和风险事件延迟。告警需支持确认、指派、关闭、重复合并和恢复通知。

## 14. 隐私、安全与合规

### 14.1 禁止采集

以下信息不得进入埋点属性、审计前后快照或调试日志：

- 用户密码、确认密码、短信/邮箱验证码。
- Google 身份验证器密钥。
- Pixel Token、Adjust S2S 识别码、Appsflyer Token、极光 Master Secret。
- 支付商户密钥、私钥、公钥原文、签名字段和三方密钥。
- 完整银行卡号、电子钱包账号、身份证件等非分析必需原文。
- 消息正文中的任意自由输入敏感内容，除非进入专门内容存储并按权限访问。

### 14.2 敏感字段处理

| 信息 | 分析层处理 |
|---|---|
| 手机号/邮箱 | 标准化后加盐哈希；仅展示国家码、掩码 |
| 银行卡/钱包账号 | 加盐哈希 + 后四位；相同账户可关联但不可反查原文 |
| 绑定姓名 | 标准化哈希；原文仅业务主库受控访问 |
| IP | 风控明细库保存，普通分析层可降精度；查询与导出受审计 |
| UA | 保存结构化设备信息和哈希；原文限制访问 |
| 完整 URL | 只保留域名、路由和白名单参数；敏感 query 丢弃 |
| 后台配置快照 | 密钥字段只记录 `changed=true/false` |

敏感字段哈希、加盐和原文访问策略首版沿用现有安全体系，本期不新增跨站点关联方案，也不单独调整加盐策略。

### 14.3 数据留存与删除

- 原始事件、资金数据、后台审计和风险案件均需长期留存，不设置业务侧自动删除期限。
- 产品需支持热存与冷存分层、归档、恢复查询和存储容量监控；转入冷存不得改变事件内容、业务时间和审计链路。
- 聚合指标需与长期留存的原始事实保持可追溯关系；任何清理或匿名化操作必须留下执行记录。
- 用户删除或匿名化请求需保留账务/审计所需最小信息，并对行为分析标识做不可逆匿名化。

## 15. 外部系统集成

| 系统 | 集成内容 | 关键要求 |
|---|---|---|
| Pixel/Meta CAPI | 广告页面与转化事件回传 | 内部事件映射、event_id 去重、失败重试、结果记录 |
| Adjust/Appsflyer | 安装、激活、注册、登录、充值等 | token 仅在密钥系统；映射可版本化 |
| 极光推送 | WEB/PWA/APP 发送及回执 | registration_id 哈希、送达与打开分离 |
| 支付服务商 | 代收/代付回调 | 验签、金额校验、幂等、回调原始记录受控保存 |
| 游戏服务/三方游戏 | 投注、退回、结算、Jackpot | 统一游戏/订单标识和最终结算版本 |
| Cloudflare/域名检测 | 域名配置、缓存、解析与国家访问状态 | 配置变更审计、健康事件、失败告警 |
| IP 地理服务 | 国家、城市、运营商识别 | 记录数据版本和查询结果，不把第三方原文作为唯一事实 |
| 会员/账本/奖励/代理服务 | 用户、资金、奖励和关系事件 | 事务后可靠投递、幂等、支持补数 |

外部请求统一记录请求时间、结果、错误码、重试次数和最终状态。重试采用退避策略，超过次数进入死信和人工处理队列。Pixel、Adjust、Appsflyer 使用当前生产映射作为初始配置，不保留“虚拟赋值”事件。

## 16. 非功能需求

### 16.1 性能与可用性

- 容量按新站预估峰值事件 QPS 的 2 倍设计，并支持站点级限流。
- 风险同步决策服务建议 P95 ≤ 150 ms、P99 ≤ 300 ms【待压测确认】；超时必须执行场景配置的降级策略。
- 用户时间线近 30 天查询 P95 ≤ 3 秒；标准看板 P95 ≤ 5 秒。
- 核心采集服务可用性目标 ≥ 99.95%；单一外部平台故障不得阻塞内部业务事件落库。
- 客户端 SDK 支持批量、压缩、断网缓存、重试和版本控制；不得阻塞主业务线程。

### 16.2 一致性与可靠性

- 资金、账变、游戏结算和审计事件应采用业务事务后可靠投递机制。
- 同一业务对象的事件保留版本号；乱序到达时按业务版本重建状态，不以接收顺序直接覆盖。
- 事件原始层不可修改；补数和纠错以新版本/冲正事件实现。
- 采集服务故障期间，业务主流程按场景降级；后台敏感操作审计无法可靠写入时应阻止操作【待技术评审】。

### 16.3 可观测性

平台自身需监控采集 QPS、失败率、处理延迟、积压、隔离事件、死信、存储用量、查询耗时、规则耗时、外部回传成功率和告警发送状态。

## 17. 实施阶段与优先级

### 阶段一：P0 基础与资金风控

- 事件/属性字典、SDK/服务端接入规范、调试、质量监控。
- 新站站点隔离、用户身份、注册登录、安全中心和用户关联。
- PWA/W2A 获客归因主链路。
- 充值、提款、账变、支付回调及后台财务操作。
- 活动奖励单、审核、现金/奖品到账、稽核流水及随机结果审计基础。
- 后台登录、权限、白名单、敏感操作和导出审计。
- 用户 360 基础、提款前置风控、多账号关联和风险案件基础。

### 阶段二：P1 行为分析

- 游戏大厅、搜索、收藏、启动、投注与结算。
- VIP、充值/投注返利、邀请/挑战、救援金、票券、月卡、代理、消息与推送。
- 漏斗、路径、留存、分群和核心看板。
- 奖励、代理及投放风险规则；游戏风控不在本期范围。

### 阶段三：P2 平台化与优化

- 规则仿真、灰度、效果评估和特征管理。
- 关联团伙分析、变更后指标异常检测。
- 多国家/多币种高级汇总。
- V2.11.5 之后的新站扩展；不补录老站历史数据。

## 18. 验收方案

### 18.1 埋点验收

每个事件验收：事件名和版本正确、触发次数正确、成功失败均覆盖、属性类型和枚举正确、公共属性完整、敏感数据未上报、断网重试不重复、跨端身份关联正确、测试环境与生产环境隔离。

### 18.2 P0 端到端用例

| 用例 | 验收结果 |
|---|---|
| 投放访问到首充 | 可通过 fbFingerID/匿名 ID/user_id 串联页面、安装、激活、注册、首充和外部回传；广告、邀请码和自然流均产生服务端归因结果 |
| 用户名/手机号注册登录 | 成功与失败原因可统计；IP、设备、指纹和渠道正确保存 |
| 绑定/验证 | 手机、邮箱、银行卡/钱包的点击、服务端结果和历史变更可追溯；无明文敏感值 |
| 正常充值 | 页面选择、订单创建、三方回调、支付成功、赠金和账变完整一致 |
| 取消/超时/补单 | 取消或超时后 24 小时内的合法成功回调可入账，超过 24 小时转人工；补单同时产生业务事件、账变和后台审计 |
| 正常提款 | 前置校验、风险预检、订单、审核、代付回调和成功账变完整；每日次数按成功次数，自动出款通过单笔限制且高风险订单不会自动出款 |
| 驳回/罚没/冲正/退回 | 原因、操作者、前后状态、金额和账变完全可核对 |
| 多账号风险 | 同 IP/设备/指纹/账户关联用户可被识别，但不会错误合并为同一用户 |
| 后台越权 | 无权限请求被拒绝并生成高风险审计 |
| 后台批量操作 | batch_id、选中/成功/失败/跳过数量和每个受影响对象均可追溯 |
| 游戏订单 | 启动、投注、退回、结算、Jackpot 与账变金额一致 |
| 奖励/佣金 | 点击领取与实际到账分开；未到账不得计入领取金额 |
| 充值返利 | 仅第 1、2、3 次充值成功解锁对应任务；累计稽核进度正确，重复领取被幂等拦截 |
| 次日投注返利 | 按站点日、游戏分类和 VIP 结算；多日可汇总领取但每天奖励单和明细保持独立 |
| 救援金 | 日、周、破产三类按统一会员净输赢公式计算，累计亏损、彩金排除项、审核和到账可逐笔复算 |
| 票券活动 | 发券、生效、任务、开奖、审核、到账和过期状态完整；随机结果可关联概率配置版本和随机请求 ID |
| 月卡 | 购买、每日必得、额外奖励、过期一键领取和退回账变可按实例核对；退回后无法继续领取 |
| 活动人工审核 | 锁定、通过、拒绝原因、操作人、完成时间和奖励状态完整；不启用双人审批 |

### 18.3 上线门槛

1. P0 用例 100% 通过。
2. 连续 3 个完整业务日的资金和账变自动对账无未解释差异。
3. 数据质量告警和补数流程演练完成。
4. 本期实际启用的确定性风控规则完成回放及误报评审；尚未定稿的阈值规则不阻塞上线。
5. 权限、脱敏、导出和审计通过安全评审。
6. 事件字典、指标口径、责任人和回滚方案完成归档。

## 19. 跨版本口径处理

| 编号 | 发现的问题 | 本文处理方案 |
|---|---|---|
| C01 | PWA V2.3.6 去掉投放落地页，后续 V2.11.0 又出现投放落地页和模版 | 用 `page_type=landing/mock_google/pre_review` 兼容，不假定固定页面数 |
| C02 | “用户输赢”有用户视角与平台视角两种相反公式 | 拆分为“会员净输赢”和“平台 GGR/客损”，禁止只写“用户输赢” |
| C03 | “充提比”分别出现充值/提款和提款/充值 | 统一定义为充值成功金额 / 提款成功金额 |
| C04 | 旧提款及活动材料使用盈利流水，新方案改为稽核流水 | 以 V2.10.4+V2.11.2 的稽核流水为当前方案，活动奖励也统一生成稽核流水，废弃盈利流水 |
| C05 | PWA 外部标准事件映射多次变化 | 内部事件稳定，外部事件/token 版本化配置 |
| C06 | channel、appcode、推广渠道、投放渠道混用 | 建立 `channel_type`、`promotion_channel_code`、`app_code`、`pid` 独立字段 |
| C08 | 直推/裂变/自然流的判断口径 | 广告来源通过 `fbc` 或 `fb_finger_id` 等证据记为直推，邀请码来源记为裂变，二者均无时记为自然流；所有命中归因均保留 |
| C09 | 用户身份字段存在用户名、手机号和昵称混用 | 仅保留用户名、手机号两个账号字段，不设置昵称 |
| C10 | 首二三充在生命周期和加入代理后有不同语义 | 统一按用户全生命周期第 1、2、3 次充值成功定义 |
| C11 | 报表及活动周期存在北京时间与多国家差异 | 原始事件存 UTC，全部报表、活动日/周和倒计时使用站点所属国家时区 |
| C12 | PWA 报表中“落地页点击/进入谷歌页”“安装/激活”曾合并 | 分成独立事件和指标，不以点击安装代替激活 |
| C13 | 部分报表把奖金和 Jackpot 是否计入中奖写法不一致 | 中奖、Jackpot 独立存储，指标显式组合 |
| C14 | 提款次数描述包含“未成功次数减 1” | 订单创建次数和成功次数分开；每日限额按成功次数 |
| C15 | 救援金材料对投注退回金额存在加、减两种公式 | 不直接采用冲突公式，统一由有效投注、会员净输赢和 `亏损=max(0,-会员净输赢)` 推导 |
| C16 | 活动材料混用“领取、已使用、审核通过、已到账” | 拆分奖励可领、领取提交、审核、开奖/使用和最终到账状态；经营金额只以 `reward_granted` 计入 |
| C17 | 部分活动写明重新上架时删除用户原数据 | 配置重新上架生成新版本；用户进度、奖励单、审核、账变和历史事件长期保留，不物理删除 |
| C18 | 随机票券和月卡奖励只描述概率，缺少结果审计 | 每次随机结果必须保存概率配置版本、候选集快照哈希、随机请求 ID、结果奖品和金额 |

## 20. 来源覆盖矩阵

**覆盖原则：** 下表所列来源材料中，凡涉及埋点事件、字段、指标、行为分析或风控数据口径的内容，统一使用本文覆盖；来源材料与本文不一致时，以本文为准。来源材料仅作为原业务功能、流程和版本背景的追溯依据，本文不替代其范围外的功能需求。

| 业务模块 | 主要来源材料 | 本文覆盖范围 |
|---|---|---|
| 产品全貌 | 大厅和后台梳理 | APP/后台范围、核心导航和数据中心 |
| 用户身份 | 用户系统 V2.11.0；安全中心、绑定银行卡 V1.0.7；会员管理 V1.0.7 | 注册登录、设备/IP/指纹、绑定与关联 |
| 会员分组 | 会员分组管理 V2.6.7 | 规则分组、批量操作和风险标签基础 |
| 支付与财务 | 支付重构 V2.9.0；财务管理 V2.9.0；迭代 V2.10.1；V2.10.4+V2.11.2 | 充提全状态、稽核流水、人工处理和对账 |
| 银行/钱包 | 银行卡/钱包信息 V2.3.2 | 账户关联、绑定姓名、相同 IP 风险 |
| 游戏 | 游戏管理 V2.4.0；后台功能优化 V2.5.1 | 游戏发现、启动、订单、RTP/GGR/杀率 |
| VIP/代理 | VIP 1.0；代理 V1.0；代理下级会员报表 V2.1.0 | VIP 进度/奖励、三级代理、佣金和团队报表 |
| 活动体系 | 活动中心 V1.0.9；充值返利 V1.0；个人投注次日返利 V1.0；救援金 V2.7.0；票券活动 V2.6.0；月卡 V2.5.0 | 活动资格/任务/奖励生命周期、审核到账、稽核流水、救援金、票券随机奖励、月卡和实物核销 |
| 投放归因 | PWA&W2A V2.2.0；PWA 流程 V2.3.6；PWA 报表 V2.3.5/V2.4.2；域名 V2.11.0 | 归因身份、漏斗、外部映射、投放地址和域名 |
| 消息 | 站内信和通知推送 V2.8.0 | 权限、站内信、推送送达/打开与转化 |
| 权限审计 | 后台权限系统 V1.0.10；权限细分 V2.6.6 | 后台登录、MFA、白名单、按钮权限和操作日志 |
| 报表口径 | 每日报表 V2.3.0；用户数据报表 V2.10.0；留存报表 V2.10.1 | 用户、充提、游戏、活动、代理与留存指标 |
| 最新迭代与版本基线 | 迭代需求 V2.11.2 | V2.11.2 作为历史输入；后续产品与埋点版本从 V2.11.5 开始，仅维护新站 |

## 21. 业务确认结论

T01-T20 均已形成处理结论。T12 已由 6 份活动需求补充并关闭；标记为“暂不纳入”或“延期定稿”的事项不阻塞本期上线。

| 编号 | 业务确认结论 | 本文处理 | 状态 |
|---|---|---|---|
| T01 | 只上线新站，老站不维护；后续所有版本从 V2.11.5 开始 | 范围、实施阶段和版本基线均仅保留新站 | 已确认 |
| T02 | 忽略 `tenant_id`；`site_id` 为站点 ID；`app_code` 为渠道码；`promotion_channel_code` 为活动渠道码 | 已更新隔离键、公共信封、权限和渠道字段定义 | 已确认 |
| T03 | 站点报表时区根据站点国家时区确定 | 原始事件存 UTC，报表使用站点国家对应 IANA 时区 | 已确认 |
| T04 | 会话超时时间采用 30 分钟 | 30 分钟无交互或重新登录后新建会话 | 已确认 |
| T05 | 每日提款次数按成功次数 | 创建次数与成功次数分开，每日限额只统计成功次数 | 已确认 |
| T06 | 稽核流水倍数 N 支持全站、分组、活动、充值渠道或用户配置 | 每次提款校验记录实际生效配置的层级、ID、版本和倍数 | 已确认 |
| T07 | 充值取消/超时订单在 24 小时内仍允许回调入账 | 24 小时内合法成功回调可入账，超时后转人工 | 已确认 |
| T08 | 自动出款前必须通过单笔人工配置的提款限制；高风险订单强制关闭自动出款 | 已加入前置校验、事件属性、规则动作和验收用例 | 已确认 |
| T09 | 补单、冲正、罚没、人工上下分等不启用双人审批 | 单人权限校验、必填原因、全量审计 | 已确认 |
| T10 | 直推为广告来源，裂变为邀请码来源，其余为自然流；三类都需要归因 | 直推与裂变同时成立时全部保留，自然流仅在二者均无时写入 | 已确认 |
| T11 | 代理分享、消息召回等漏斗的归因窗口暂时不做 | 保留步骤事实，不计算跨步骤窗口归因转化率 | 已确认，暂不实施窗口 |
| T12 | 补充活动中心、充值返利、个人投注次日返利、救援金、票券和月卡需求 | 已补齐活动资格、任务进度、奖励审核/到账、失败原因、稽核流水、随机结果及验收 | 已补充关闭 |
| T13 | 暂时不做游戏风控 | 保留游戏行为、经营指标和对账，移除游戏风险特征与规则 | 已确认，暂不纳入 |
| T14 | 风险阈值、等级及自动/人工处置边界暂时不管 | 参数继续可配置，具体值不作为本期验收阻塞项 | 已确认，延期定稿 |
| T15 | 敏感字段哈希、加盐、原文访问和跨站点关联政策暂时不管 | 首版沿用现有安全体系，不新增跨站点关联方案 | 已确认，暂不调整 |
| T16 | 原始事件、资金、审计和案件需要长期留存 | 采用热冷分层和长期归档，不设置业务侧自动删除期限 | 已确认 |
| T17 | Pixel/Adjust/Appsflyer 使用当前生产映射，不继续保留“虚拟赋值”事件 | 当前生产映射作为初始版本，删除虚拟赋值映射要求 | 已确认 |
| T18 | 广告成本不需要纳入首充单价/充值单价 | 成本、单价和 ROI 闭环不在本期范围 | 已确认，暂不纳入 |
| T19 | 风控中心不需要兼容迁移现有黑名单、完整设备/IP 报表 | 老系统风险数据与报表不迁移 | 已确认，暂不纳入 |
| T20 | 查看完整手机号、IP、账户等敏感值不需要二次审批 | 使用字段权限控制，查看原因及结果全量审计 | 已确认 |

## 22. 评审结论记录

| 日期 | 评审范围 | 参与角色 | 结论 | 待办 |
|---|---|---|---|---|
| 2026-07-14 | 第 19-21 章业务口径及活动补充 | 产品 | C01-C06、C08-C18、T01-T20 已形成处理结论，T12 已补充关闭 | 进入产品、研发与测试评审 |

## 23. 本次整合范围与现行产品结构

### 23.1 整合任务

本文件一次性整合以下任务，不再拆成互相引用的精简需求：

1. 【埋点系统需求V1】：保留系统建设背景、目标、范围、权限、事实源、业务对象、事件模型、事件字典、指标、漏斗、路径、留存、风控、质量、隐私、集成、非功能、实施和验收。
2. 【埋点系统-用户360】：补齐五类明细、会员信息、加载、导出、权限、异常和专项验收。
3. 【埋点系统-埋点管理】：补齐定义筛选、状态开关、新增表单联动、详情和分页。
4. 【埋点系统-事件查询】：补齐双事件名称、UID／指纹ID、渠道、点击查询、最近 20 条、无分页和复制交互。

### 23.2 现行页面

|页面|核心目标|
|---|---|
|经营总览|展示核心指标、用户主行为链路、趋势、来源与风险待办|
|转化漏斗|分析投放下载、注册／登录、充值、提款、代理、活动奖励等转化|
|留存分析|分析用户活跃以及注册后充值、首充后复充、首投后复投留存|
|获客分析|按归因类型、访问载体与渠道查看获客链路|
|活动分析|按唯一 `activity_id` 查看活动效果、行为转化、趋势和分层|
|用户360|查看单用户行为、资金、活动、设备、风险和会员信息|
|风险中心|查看规则命中、案件、等级、状态与处置记录|
|埋点管理|维护 104 个前端事件和 16 个后端结果事件定义|
|事件查询|查询原始前后端事件及完整属性|
|数据质量|监控完整性、重复、延迟、覆盖和业务对账|

### 23.3 原型交付

- 线上交互原型：[打开埋点系统](https://lg-admin-tracking-v2121.pages.dev/?page=overview)
- 用户360：[打开用户360](https://lg-admin-tracking-v2121.pages.dev/?page=user)
- 埋点管理：[打开埋点管理](https://lg-admin-tracking-v2121.pages.dev/?page=tracking-manage)
- 事件查询：[打开事件查询](https://lg-admin-tracking-v2121.pages.dev/?page=events)

## 24. 现行事件体系

### 24.1 事件规模与职责

|类型|数量|职责|打点端|上报方式|
|---|---:|---|---|---|
|前端埋点|104|页面进入、浏览、点击、输入、选择、停留等用户行为|H5、PWA、Android、iOS、iOS 书签|客户端 SDK|
|后端埋点|16|接口完成、业务状态变化、成功／失败结果|业务服务器|服务端事件上报|

- 前端行为只能表示用户意图，不能代表注册、充值、提款、奖励或佣金成功。
- 同一业务动作同时存在用户操作和业务结果时，必须拆为两个事件。
- 后端结果统一通过 `result_status=success/failed` 区分，失败必须携带可读 `error_code` 或失败原因。
- 内部事件名称稳定，Pixel、Adjust、AppsFlyer 等外部平台映射独立版本化。

### 24.2 104 个前端事件模块分布

|模块|数量|覆盖范围|
|---|---:|---|
|投放页面|5|斗篷页、投放落地页曝光、点击和停留|
|下载页面|4|下载页曝光、PWA／弹窗下载点击和停留|
|主站首页|12|首页曝光、弹窗、充值入口、导航、游戏、客服|
|注册登录|4|注册／登录弹窗和提交操作|
|充值返利|7|活动页、首二三充及奖励领取|
|投注返利|3|活动页、领奖、昨日记录|
|月卡|6|活动页、购买、确认、每日奖励和退回|
|救援金|9|每日、每周、破产救援页面与领取操作|
|斗鸡连胜|8|活动页、连胜任务、奖励领取与记录|
|票券活动|6|票券活动页、抽奖、领取及记录|
|代理|8|代理页、邀请、团队、佣金领取|
|钱包|10|充值、支付拉起、提款、钱包与记录|
|安全中心|7|密码、手机号、邮箱等安全操作|
|银行信息|2|银行信息页面和绑定操作|
|个人中心|7|个人中心、资料、VIP、记录入口|
|消息客服|4|消息、公告、客服进入与交互|
|菜单下载|2|菜单打开和下载入口|

每个事件必须维护：内部事件名、中文名称、埋点类型、业务模块、打点端、触发来源、触发条件、上报时机、必填业务属性、公共字段、去重规则、指标用途与成功判定、负责人、版本和状态。

### 24.3 16 个后端结果事件

|内部事件名|中文业务结果|必须关联的业务主键|
|---|---|---|
|`landing_route_result`|页面分流结果|`route_request_id`|
|`download_info_result`|下载信息返回结果|下载请求 ID|
|`home_page_info_result`|主站首页信息返回结果|`trace_id`|
|`register_result`|注册结果|`user_id`／注册请求 ID|
|`login_result`|登录结果|登录请求 ID／`user_id`|
|`activity_reward_result`|活动奖励结果|`reward_order_id`|
|`agent_team_join_result`|加入代理团队结果|`agent_id`／邀请请求 ID|
|`deposit_result`|充值最终结果|`order_id`|
|`withdraw_result`|提款最终结果|`order_id`|
|`phone_bind_result`|绑定手机号结果|绑定请求 ID|
|`email_bind_result`|绑定邮箱结果|绑定请求 ID|
|`password_change_result`|修改密码结果|修改请求 ID|
|`bank_bind_result`|绑定银行信息结果|绑定请求 ID|
|`avatar_change_result`|更换头像结果|`avatar_id`／修改请求 ID|
|`username_change_result`|修改用户名结果|修改请求 ID|
|`logout_result`|退出登录结果|`session_id`|

如果研发实现采用等价内部名称，必须在事件字典中维护名称映射、版本、启用时间和替代关系，不得直接改变历史事件语义。

### 24.4 公共字段补充

在第 7 章公共事件信封基础上，现行客户端事件必须补充 `page_instance_id`、`channel_type`、`app_code`、`promotion_channel_code`、`pid`、`client_version`；现行服务端事件必须补充 `service_name`、`trace_id`、`business_id`、`result_status`、`error_code`。

浏览器指纹字段统一使用 `fingerprint_id`：

- 未注册阶段用于匿名识别、重复事件识别和风险关联。
- 注册或登录后继续保留，并关联 `anonymous_id`、`session_id` 与 `user_id`。
- 两个不同 UID 仅因相同指纹不得自动合并，只能形成风险关联边。

## 25. 用户360完整页面需求

### 25.1 页面结构

1. 页面标题与站点报表时区。
2. 全局筛选：统计周期、归因类型、访问载体、渠道、查询、重置。
3. 用户查询：用户名／手机号／会员 ID。
4. 会员摘要：账号状态、VIP、注册时间、归因来源。
5. 主明细区：行为轨迹、资金记录、活动记录、登录设备、风险记录。
6. 会员信息区：基本资料、资金概要、稽核状态和风险标签。

### 25.2 全局筛选与用户查询

|筛选项|规则|
|---|---|
|统计周期|今天、昨天、最近7天、最近14天、最近30天；默认最近14天|
|归因类型|全部来源、直推、裂变、自然流|
|访问载体|H5、PWA、Android、iOS、iOS 书签；底层字段 `channel_type`|
|渠道|页面显示渠道；底层字段 `app_code`|
|埋点类型|本页不展示|

- 一个用户查询框支持用户名、手机号或会员 ID，不支持昵称。
- 输入为空时不发起请求；无结果时清空上一会员数据。
- 切换会员后默认进入行为轨迹，五个标签已加载数量全部重置。

### 25.3 会员摘要与归因

|字段|规则|
|---|---|
|用户名／会员 ID|展示当前账号名称和唯一 UID|
|账号状态／VIP|展示业务系统实时状态|
|注册时间|按站点时区展示注册成功时间|
|归因来源|展示归因类型及来源平台|
|渠道名称（渠道码）|展示运营渠道名称和渠道码，不显示 `app_code` 技术名称|

直推为有效广告来源，裂变为有效邀请关系，二者均无时为自然流；`channel_type`、`promotion_channel_code`、`app_code`、`pid` 独立保存。

### 25.4 行为轨迹

行为轨迹按站点时间倒序，页面展示中文业务行为和业务详情，不展示内部事件名与埋点端。必须覆盖分流、落地页、下载页、下载点击、主站、注册、登录、支付拉起、充值成功、提款拉起、提款成功、进入游戏、进入活动、奖励领取、奖励成功、佣金领取和佣金成功。

业务成功必须以后端结果事件的 `result_status=success` 判定；前端点击只作为行为步骤。

### 25.5 资金记录

|字段|要求|
|---|---|
|站点时间|业务结果时间，倒序|
|业务类型|充值、提款、投注扣款、派彩、奖励、佣金等|
|订单号|对应唯一业务单号|
|金额|入金绿色“+”，出金红色“-”，带币种|
|结果|成功绿色，失败红色|
|原因|失败展示具体原因；成功显示“—”|

金额正负表示资金方向，不表示业务成败。

### 25.6 活动记录

展示站点时间、活动名称、用户动作、奖励金额、结果和原因。同名活动通过唯一 `activity_id` 区分；领取点击与奖励到账分开，奖励成功以 `activity_reward_result` 为准。

### 25.7 登录设备

展示最近登录时间、渠道类型、设备／浏览器、IP 和状态。同一设备合并展示，最近登录时间取最新成功登录；IP 默认脱敏，有权限时查看完整值。

### 25.8 风险记录与会员信息

- 风险记录展示时间、案件编号、风险类型、等级、处理状态；用户360只读，处置在风险中心完成。
- 会员信息展示用户名、脱敏手机号、脱敏注册 IP、余额、充值总额、提款总额、净输赢、稽核流水和风险标签。
- 查看完整手机号、IP 与导出必须受权限控制并记录审计。

### 25.9 加载与导出

- 五个标签首屏各 10 条，上拉每次追加 10 条。
- 切换标签、会员或筛选条件后恢复首屏 10 条。
- 导出当前会员、当前标签和当前筛选范围的全部记录，不受页面已加载数量限制。
- 大数据量使用异步导出任务；不得退化为只导出已加载记录。

### 25.10 异常处理

|场景|要求|
|---|---|
|未找到用户|清空上一会员并显示未找到|
|某标签无记录|只显示该标签空状态|
|部分数据源不可用|对应模块显示失败和重试，不伪造空数据|
|失败无原因|显示“未返回失败原因”并记录数据质量问题|
|记录晚到|按真实完成时间回补，不按接收时间置顶|

## 26. 埋点管理完整页面需求

### 26.1 汇总与筛选

- 顶部展示前端 104 个事件、后端 16 个结果事件、打点端及划分原则。
- 筛选项：埋点类型、内部事件名称、中文名称、业务模块、状态。
- 内部事件名称与中文名称分别支持模糊搜索。
- 状态选项：全部状态、已启用、已停用。

### 26.2 列表与分页

列表字段：内部事件名、中文名称、埋点类型、打点端、触发来源、上报方式、业务模块、状态、操作。每页 10 条，支持上一页、下一页；筛选后回到第 1 页；无结果时展示明确空状态。

### 26.3 状态开关

- 已启用／已停用以开关展示，可直接切换。
- 状态筛选使用切换后的实时状态。
- 发布事件的状态变更必须记录操作者、时间、原因和版本；原型只演示交互，生产实现必须落审计日志。

### 26.4 新增埋点

表单包含内部事件名、中文名称、埋点类型、打点端、触发来源、业务模块、上报方式、触发条件、上报时机、必填业务属性、去重／幂等规则、指标用途与成功判定。

- 前端埋点默认浏览器／APP 客户端，触发来源可选页面进入、浏览、点击、输入、选择、停留。
- 后端埋点默认服务端，触发来源可选接口完成、业务状态变化、异步回调完成、定时任务完成。
- 埋点类型和打点端双向联动，并重置不适用的触发来源。
- 内部事件名必须为小写蛇形命名且全局唯一。

### 26.5 详情与版本

详情展示基础信息、开发定义和公共字段。发布后的内部事件名、字段语义、埋点类型不得直接修改；语义变化必须升级 `event_version`，保留历史版本和替代事件。

## 27. 事件查询完整页面需求

### 27.1 筛选项与匹配规则

|顺序|筛选项|控件|规则|
|---|---|---|---|
|1|事件时间|日期范围|按站点时区查询|
|2|埋点类型|下拉|全部、前端、后端|
|3|内部事件名称|输入|模糊搜索|
|4|事件中文名称|输入|模糊搜索|
|5|用户名|输入|按用户名查询|
|6|UID|输入|完整值精确搜索|
|7|指纹ID|输入|完整值精确搜索|
|8|渠道|下拉|底层字段 `app_code`|
|9|状态|下拉|全部、正常、异常|

UID 与指纹ID的英文字母匹配不区分大小写。未注册用户用户名、UID 显示“—”，通过稳定指纹ID识别和去重。

### 27.2 查询触发

- 输入或选择条件时不立即刷新。
- 点击查询后一次性提交当前全部条件。
- 点击重置后清空输入、恢复默认下拉项并恢复默认最近结果。
- 导出使用最近一次已提交条件，不使用尚未查询的草稿条件。

### 27.3 列表

- 按站点时间倒序展示最近 20 条。
- 不展示分页，不提供上一页、下一页或跳页。
- 字段：站点时间、埋点类型、打点端、内部事件名、事件中文名称、用户名、UID、指纹ID、渠道、上报来源、状态、接收延迟、操作。
- 用户名、UID、指纹ID可点击复制；“—”不可复制；成功后显示短暂提示。
- 查看详情展示公共信封及客户端／服务端完整属性。
- 导出不受页面最近 20 条限制，按已提交条件创建异步任务。

### 27.4 身份关联与去重

1. 未注册事件至少携带 `fingerprint_id`、`anonymous_id`、`session_id`。
2. 同一未注册用户相同环境的事件使用稳定指纹ID。
3. 客户端事件以 `event_id` 去重；页面曝光同时使用 `session_id + page_instance_id`。
4. 注册或登录后建立指纹ID、匿名标识、会话与 UID 的关联，不覆盖原始事件。
5. 不同 UID 因同设备或同指纹只形成风险关系，禁止自动合并账号。

## 28. 统一验收标准

### 28.1 系统级验收

第 18 章原埋点验收、P0 端到端用例和上线门槛全部继续有效，并增加以下专项验收。

### 28.2 用户360

|编号|标准|
|---|---|
|U360-01|用户名、手机号、会员 ID 可查询，页面无昵称查询|
|U360-02|展示统计周期、归因类型、访问载体、渠道，不展示埋点类型|
|U360-03|完整串联分流、落地、下载、主站、注册、登录及后续业务|
|U360-04|注册、充提、奖励、佣金成功以后端结果为准|
|U360-05|资金方向、结果颜色、失败原因正确|
|U360-06|五标签首屏 10 条，上拉每次 10 条，切换后重置|
|U360-07|导出全部记录，不受已加载数量限制|
|U360-08|手机号、IP 脱敏及权限、审计有效|

### 28.3 埋点管理

|编号|标准|
|---|---|
|TM-01|展示 104 个前端和 16 个后端事件|
|TM-02|内部事件名、中文名称分别模糊搜索|
|TM-03|类型、模块、状态筛选有效|
|TM-04|启用／停用开关及筛选结果一致|
|TM-05|新增表单类型、打点端、触发来源联动正确|
|TM-06|每页 10 条、前后翻页和无结果状态正确|
|TM-07|详情完整展示触发、字段、上报、去重和指标判定|

### 28.4 事件查询

|编号|标准|
|---|---|
|EQ-01|内部事件名、事件中文名称分别模糊搜索|
|EQ-02|UID、指纹ID精确搜索|
|EQ-03|渠道下拉显示业务名称，底层使用 `app_code`|
|EQ-04|修改条件不刷新，点击查询后才加载|
|EQ-05|列表按时间倒序最多 20 条且无分页|
|EQ-06|列表包含事件中文名称、UID、指纹ID和渠道|
|EQ-07|用户名、UID、指纹ID可复制，“—”不可复制|
|EQ-08|未注册用户通过稳定指纹ID识别和去重|
|EQ-09|导出按已提交条件且不受 20 条限制|

## 29. 本版交付清单

- 产品原型：[埋点系统线上原型](https://lg-admin-tracking-v2121.pages.dev/?page=overview)
- 产品需求文档：本文档
- 版本变更记录：[埋点系统 V2.14.0 版本变更记录](./埋点系统V2.14.0_版本变更记录.md)

## 30. 十页原型复核结论与通用页面规范

### 30.1 本次复核范围

本次以 1280px 桌面视口逐页打开正式原型，复核经营总览、转化漏斗、留存分析、获客分析、活动分析、用户360、风险中心、埋点管理、事件查询、数据质量共 10 个页面。检查范围包括：页面标题、全局筛选、指标卡、图表、表格、页签、抽屉、弹窗、空状态、加载规则、横向溢出、字段口径和响应式降级。

### 30.2 已修正的共性问题

|问题|修正要求|
|---|---|
|用户360记录表原因列被右侧会员信息卡挤压|记录页签采用 `主记录区 + 210px 会员摘要` 布局；原因列最小宽度 150px并允许换行|
|用户360记录表首列受负边距影响被截断|记录表取消面板负边距，首列时间完整显示|
|资金、活动失败信息不易识别|金额流入绿色、流出红色；成功绿色、失败红色；失败原因红色并完整展示|
|渠道筛选仍显示技术字段名|用户界面统一显示“渠道／全部渠道”，底层字段继续使用 `app_code`|
|宽表滚动能力不明显|表格容器显示细横向滚动条；操作列按页面需要固定在右侧|
|跨页面筛选与按钮尺寸不一致|筛选项统一四列栅格，查询/重置按钮采用紧凑尺寸，窄屏降为两列或单列|

### 30.3 通用页面结构

所有页面自上而下均由：后台全局顶栏、页签栏、面包屑与页面标题、站点报表时区、页面筛选区、业务内容区组成。除用户360的会员搜索外，查询条件改变后不应在未点击“查询”时隐式刷新数据。所有时间按站点国家时区显示，底层存储 UTC 时间。

### 30.4 通用状态要求

1. 加载中：内容区保留原布局并显示骨架，不得造成卡片跳动。
2. 无数据：在原组件区域显示无数据说明，并保留当前筛选条件。
3. 查询失败：显示错误原因和“重新查询”，不得用空数据代替错误。
4. 权限不足：敏感值脱敏；无查看权限时不展示“查看”按钮。
5. 宽表：冻结关键操作列；横向滚动不影响页面整体宽度。
6. 导出：按最后一次已提交的查询条件创建任务，不受当前列表展示条数限制。

## 31. 页面一：经营总览

![经营总览原型](./原型图/埋点系统V2.14.0/01_经营总览.png)

- 原型入口：[经营总览](https://lg-admin-tracking-v2121.pages.dev/?page=overview)
- 页面目标：用一屏概括埋点覆盖、核心经营指标、用户主行为链路、投放转化、获客来源和风险待办。
- 使用角色：运营负责人、产品、数据分析、管理层。

### 31.1 筛选与指标

筛选项为统计周期、归因类型、访问载体和渠道。指标卡展示活跃会员、首充人数、充值金额、提款金额、平台 GGR；点击指标卡后，核心指标趋势同步切换到对应指标。金额使用站点币种，比例与上一周期同口径比较。

### 31.2 内容与交互

1. 埋点采集状态分前端埋点和后端埋点，展示事件数、成功率、打点端及数据用途。
2. 用户主行为链路按广告入口、落地/下载、主站、注册登录、业务行为、业务结果排列；“查看五类漏斗”跳转转化漏斗。
3. 趋势支持今天、最近7天、最近14天快捷切换。
4. 今日投放转化、获客来源、风险待办均可进入对应详情页。
5. 风险待办必须突出高风险数量与自动出款拦截数量。

### 31.3 验收标准

|编号|标准|
|---|---|
|OV-01|5 张指标卡数值、币种、环比和说明完整且对齐|
|OV-02|点击任一指标卡后趋势标题和数据同步变化|
|OV-03|前端/后端埋点状态分开展示，不混淆行为和业务事实|
|OV-04|三个详情入口跳转到对应子页面|
|OV-05|页面在 1280px 下无整体横向滚动|

## 32. 页面二：转化漏斗

![转化漏斗原型](./原型图/埋点系统V2.14.0/02_转化漏斗.png)

- 原型入口：[转化漏斗](https://lg-admin-tracking-v2121.pages.dev/?page=funnel)
- 页面目标：比较从页面分流到业务结果的五类核心漏斗，定位最大流失步骤。
- 五类漏斗：投放获客、注册登录、充值、游戏、提款。

### 32.1 页面规则

左侧展示漏斗步骤、人数/次数和相邻转化率，右侧展示选中步骤说明、流失情况、事件类型和可下钻维度。步骤名称必须使用业务中文名，事件名仅在详情中作为开发口径出现。前端步骤使用前端埋点，订单成功/失败等事实步骤使用后端埋点。

### 32.2 交互

1. 切换漏斗类型后，步骤、口径说明及摘要同步更新。
2. 点击任一步骤，右侧更新为该步骤的进入人数、转化率、流失人数及下钻维度。
3. 下钻维度至少支持访问载体、渠道、PID、活动、设备和用户分群中与当前漏斗相关的字段。
4. 漏斗条、中文标签和埋点类型徽标不得重叠。

### 32.3 验收标准

|编号|标准|
|---|---|
|FN-01|五类漏斗均可切换且至少包含起点、关键动作和结果节点|
|FN-02|相邻转化率与人数计算一致|
|FN-03|步骤点击后右侧详情唯一对应当前步骤|
|FN-04|前端行为与后端结果事件类型标识正确|
|FN-05|窄屏下漏斗页签可横向滚动，标签不被柱体遮挡|

## 33. 页面三：留存分析

![留存分析原型](./原型图/埋点系统V2.14.0/03_留存分析.png)

- 原型入口：[留存分析](https://lg-admin-tracking-v2121.pages.dev/?page=retention)
- 页面目标：分别观察活跃留存和业务留存，避免把登录活跃与充值/游戏留存混为同一指标。

### 33.1 指标与表格

活跃留存以注册或首次有效访问为起点，以后续登录/有效行为为回访；业务留存以首次充值或首次游戏为起点，以后续同类成功业务为回访。页面展示次日、3日、7日、14日等摘要指标和按首日日期展开的留存矩阵。矩阵单元格显示留存率，悬停可查看分母、分子和口径。

### 33.2 交互与状态

1. 活跃留存/业务留存切换后，指标卡、定义、规则和矩阵必须同步更新。
2. 无完整观察窗口的日期显示“—”，不得按 0% 处理。
3. 渠道、访问载体和归因类型筛选使用首触归因口径，除非另有明确配置。
4. 导出包含 cohort 日期、分群人数、各日留存人数及留存率。

### 33.3 验收标准

|编号|标准|
|---|---|
|RT-01|两类留存的起点事件与回访事件说明清晰|
|RT-02|摘要指标与矩阵对应日期一致|
|RT-03|未成熟观察窗口显示“—”|
|RT-04|矩阵在 1280px 下可读且不产生页面级横向滚动|

## 34. 页面四：获客分析

![获客分析原型](./原型图/埋点系统V2.14.0/04_获客分析.png)

- 原型入口：[获客分析](https://lg-admin-tracking-v2121.pages.dev/?page=acquisition)
- 页面目标：从直推、裂变、自然流三个一级来源评价获客规模、质量、付费和回收情况。

### 34.1 数据内容

顶部指标至少包括新增访问、新注册、首充人数、首充金额和注册首充率。来源分布显示各来源人数及占比。明细宽表按来源、推广渠道、PID、访问载体、渠道、访问、注册、首充、充值金额、GGR 等维度展开；表头与单元格使用同一字段顺序。

### 34.2 交互与视觉规则

1. 点击来源图例或来源卡，对明细表应用同一来源筛选。
2. 明细宽表在容器内部横向滚动，页面本身不得横向溢出。
3. 数值列右对齐；人数取整数，金额带币种，比例统一精度。
4. PID、渠道、访问载体均为不同维度，不得以 `app_code` 直接作为界面标签。

### 34.3 验收标准

|编号|标准|
|---|---|
|AQ-01|三个一级来源人数之和与总获客人数一致|
|AQ-02|注册首充率按首充人数/注册人数计算|
|AQ-03|宽表横向滚动条可见且数值列对齐|
|AQ-04|导出包含当前筛选范围内全部明细字段|

## 35. 页面五：活动分析

![活动分析原型](./原型图/埋点系统V2.14.0/05_活动分析.png)

- 原型入口：[活动分析](https://lg-admin-tracking-v2121.pages.dev/?page=campaign)
- 页面目标：针对单个活动查看曝光、进入、参与、达标、领奖和奖励成功全链路。

### 35.1 活动选择与摘要

左侧活动列表展示活动名称、类型和状态；右侧只分析当前选中的一个活动。摘要区根据活动类型展示差异化指标，例如充值返利展示活动达标充值金额，月卡展示月卡退回金额、每日必得和每日额外奖励金额。活动标识和内部事件名不作为运营主信息展示。

### 35.2 行为漏斗、趋势和用户明细

1. 标准步骤为活动曝光、进入活动、参与动作、活动达标、发起领奖、奖励成功。
2. 用户分层为曝光未进入、进入未参与、参与未达标、达标未领奖、领奖未成功、奖励成功。
3. 月卡类活动可将 8 个行为节点分两行展示，避免横向挤压。
4. 并列趋势按天展示业务核心指标；图例与柱状颜色一一对应。
5. 点击用户分层打开用户明细抽屉，至少展示用户名、UID、当前阶段、发生时间和结果。

### 35.3 验收标准

|编号|标准|
|---|---|
|CP-01|活动切换后所有摘要、漏斗、趋势和用户数据同步切换|
|CP-02|不同活动类型显示差异化业务指标|
|CP-03|六个标准步骤和六个用户分层完整|
|CP-04|用户抽屉只展示当前活动及当前分层用户|
|CP-05|活动路径文本不截断、不使用内部事件名替代中文名|

## 36. 页面六：用户360

![用户360活动记录原型](./原型图/埋点系统V2.14.0/06_用户360_活动记录.png)

![用户360资金记录原型](./原型图/埋点系统V2.14.0/06b_用户360_资金记录.png)

- 原型入口：[用户360](https://lg-admin-tracking-v2121.pages.dev/?page=user)
- 页面目标：围绕单个会员串联行为、资金、活动、设备和风险轨迹，支持运营、客服、财务和风控联合判断。

### 36.1 查询与会员摘要

会员搜索支持用户名、手机号、会员ID精确定位；系统不存在昵称字段。查询成功后展示用户名、会员ID、注册时间、账号状态、VIP等级、归因来源和渠道。会员信息卡展示脱敏手机号、注册IP、余额、充值总额、提款总额、会员净输赢、稽核状态和风险标签；敏感信息仅授权角色可点击查看。

### 36.2 五个页签

|页签|主要字段|规则|
|---|---|---|
|行为轨迹|站点时间、中文行为名称、行为详情|跨端按时间倒序；前后端事件均可进入；每次加载10条|
|资金记录|站点时间、业务类型、订单号、金额、结果、原因|流入为“+”绿色，流出为“-”红色；失败必须显示原因|
|活动记录|站点时间、活动名称、用户动作、奖励金额、结果、原因|活动名称和动作使用中文；退款/冲正用负金额|
|登录设备|最近登录时间、渠道类型、设备/浏览器、IP、状态|当前设备绿色；历史设备蓝色；IP按权限脱敏|
|风险记录|站点时间、案件编号、风险类型、等级、处理状态|待处理红色；已关闭绿色；案件号可关联风险中心|

### 36.3 加载、导出与布局

1. 默认展示最近 10 条；点击“上拉加载更多”或滚动到记录容器底部后再加载 10 条。
2. 页签切换时重置为 10 条，不串用上一页签的加载数量。
3. 导出按当前会员、页签和全局筛选范围创建任务，包含全部记录与完整字段。
4. 桌面端记录页签采用约 760px 主记录区和 210px 会员摘要区；原因列至少 150px并允许换行。
5. 资金、活动记录首列不得被裁切；表格不应出现隐藏的横向内容。

### 36.4 验收标准

|编号|标准|
|---|---|
|U360-01|支持用户名、手机号、会员ID查询且不出现昵称字段|
|U360-02|五个页签均有真实结构化字段和至少10条示例数据|
|U360-03|资金流入/流出、成功/失败和失败原因样式正确|
|U360-04|活动记录的完整失败原因在 1280px 下可见|
|U360-05|首次10条，追加加载后不重复、不乱序|
|U360-06|手机号和IP默认脱敏，权限不足不可查看明文|
|U360-07|记录表首列和末列均不被裁切|

## 37. 页面七：风险中心

![风险中心原型](./原型图/埋点系统V2.14.0/07_风险中心.png)

- 原型入口：[风险中心](https://lg-admin-tracking-v2121.pages.dev/?page=risk)
- 页面目标：集中展示风险案件、命中规则、处置状态和自动出款拦截结果。

### 37.1 页面内容

指标卡展示待处理、处理中、自动出款拦截、今日已关闭。案件表包含案件编号、用户名、风险类型、关联金额、命中规则数、风险等级、状态和操作。高风险使用红色，中风险橙色，低风险蓝色。

### 37.2 案件抽屉与处置

点击“查看案件”打开右侧抽屉，展示风险分、案件信息、命中规则、用户关联信息和处置记录。高风险提款必须明确标记已关闭自动出款。处理动作至少包括转处理中、关闭案件和填写处置备注；所有动作写入审计日志。

### 37.3 验收标准

|编号|标准|
|---|---|
|RK-01|指标卡数量与案件列表状态汇总一致|
|RK-02|点击案件只打开一份对应抽屉|
|RK-03|高风险案件显示自动出款拦截状态|
|RK-04|处置状态变更、备注、操作者和时间可追溯|

## 38. 页面八：埋点管理

![埋点管理原型](./原型图/埋点系统V2.14.0/08_埋点管理.png)

- 原型入口：[埋点管理](https://lg-admin-tracking-v2121.pages.dev/?page=tracking-manage)
- 页面目标：维护统一事件字典，明确前端行为事件与后端业务结果事件的定义和生命周期。

### 38.1 列表与筛选

列表包含内部事件名、中文名称、埋点类型、打点端、触发来源、上报方式、业务模块、状态、操作。内部事件名与中文名称分别支持模糊搜索；类型、业务模块、状态支持筛选。默认每页 10 条并保留分页，空结果显示明确说明。

### 38.2 新增、详情与状态

1. 前端埋点固定打点端为浏览器/APP客户端，可选择页面进入、浏览、点击、输入、选择、停留等触发来源。
2. 后端埋点固定打点端为服务端，可选择接口完成、业务状态变化、异步回调完成、定时任务完成等来源。
3. 新增必填：内部事件名、中文名称、类型、打点端、触发来源、模块、触发条件、上报时机、必填属性、去重规则、指标用途和成功判定。
4. 启用/停用使用可访问的状态开关；停用后新事件不进入生产统计，但历史数据保留。
5. 详情抽屉完整展示基础信息、开发定义和公共字段。

### 38.3 验收标准

|编号|标准|
|---|---|
|TMV-01|列表可查 104 个前端事件和16个后端事件|
|TMV-02|两个名称筛选分别模糊匹配|
|TMV-03|新增时类型、打点端和触发来源联动正确|
|TMV-04|状态开关可操作、可读、可筛选|
|TMV-05|操作列横向滚动时保持在右侧|

## 39. 页面九：事件查询

![事件查询原型](./原型图/埋点系统V2.14.0/09_事件查询.png)

- 原型入口：[事件查询](https://lg-admin-tracking-v2121.pages.dev/?page=events)
- 页面目标：按明确条件人工查询最近事件，支持开发排障、数据验收和用户链路追踪。

### 39.1 筛选条件

事件时间、埋点类型、内部事件名称、事件中文名称、用户名、UID、指纹ID、渠道、状态。内部事件名称和事件中文名称支持模糊搜索；UID和指纹ID为固定搜索/精确匹配；渠道使用下拉框且界面只显示“渠道”，底层映射 `app_code`。

### 39.2 查询和列表

用户修改条件时不自动加载，必须点击“查询”。列表按站点时间倒序只展示最近 20 条，不提供分页；数据量过大时提示缩小条件。字段为站点时间、埋点类型、打点端、内部事件名、事件中文名称、用户名、UID、指纹ID、渠道、上报来源、状态、接收延迟、操作。

用户名、UID、指纹ID有值时可点击复制，复制成功给出轻提示；空值“—”不可点击。未注册用户通过稳定指纹ID识别与去重，注册后可通过身份合并规则关联 UID，但不得回写篡改原始事件。

### 39.3 验收标准

|编号|标准|
|---|---|
|EQV-01|两个事件名称支持独立模糊搜索|
|EQV-02|UID和指纹ID严格精确匹配|
|EQV-03|渠道下拉显示业务名称，底层使用 `app_code`|
|EQV-04|未点击查询不刷新结果|
|EQV-05|最多20条、无分页、按时间倒序|
|EQV-06|三类身份字段可复制，空值不可复制|
|EQV-07|操作列固定，宽表在容器内横向滚动|

## 40. 页面十：数据质量

![数据质量原型](./原型图/埋点系统V2.14.0/10_数据质量.png)

- 原型入口：[数据质量](https://lg-admin-tracking-v2121.pages.dev/?page=quality)
- 页面目标：分别监控前端行为埋点和后端结果埋点的覆盖、完整性、重复、接收成功率、延迟和版本/服务覆盖。

### 40.1 筛选与质量分

筛选项为统计时间、埋点类型、渠道和事件名称；渠道界面统一显示“全部渠道”。整体质量分由接收成功率、字段完整率、重复率、时效和对账一致率按配置权重计算，分数与状态颜色必须一致。

### 40.2 检查项与覆盖

前端检查 SDK 接收成功率、`page_type` 完整率和前端重复率；后端检查服务端事件接收成功率、订单事件对账一致率、`trace_id` 完整率等。点击检查项打开异常详情抽屉，可查看影响范围、异常事件、渠道/版本、首次和最近发生时间，并创建导出任务。版本与服务覆盖分别展示客户端版本和后端服务覆盖率，不得合并口径。

### 40.3 验收标准

|编号|标准|
|---|---|
|DQ-01|前端与后端质量指标分组展示|
|DQ-02|整体质量分可追溯到各检查项和权重|
|DQ-03|异常项可点击查看详情并导出|
|DQ-04|渠道筛选不显示 `app_code` 技术文案|
|DQ-05|客户端版本和后端服务覆盖分别展示|

## 41. V2.14.0 最终交付与评审清单

1. 产品原型已发布，10 个页面均可从左侧“埋点系统”进入。
2. 本文完整保留系统级需求、事件模型、口径、权限、质量、非功能和实施要求，并新增十页图文详述。
3. 11 张截图覆盖 10 个页面，均取自本次发布后的正式原型，不使用旧版截图；用户360同时提供资金记录和活动记录截图。
4. 用户360资金/活动记录的首列、原因列、金额、结果和失败样式均已复核。
5. 评审时应逐页核对本章验收标准；任何页面、字段或状态缺失均视为未完成。
