基础数据校验
|
收藏
本环节由测试人员完成,需要完成的任务如下:
- 对事件和属性的完整性及数据类型进行校验
- 对用户关联情况进行校验
- 验证 App 与 H5 打通(做了打通的情况下)
1. 事件和属性完整性校验
进入神策分析页面,点击左下角【元事件管理】,查看元事件和属性字段,请注意此时事件和属性显示名仍是英文,后续需要统一调整为对应的中文名。检查项如下:
1.1. 检查事件及名字是否与《事件设计文档》一致。
事件是否有遗留或新增。如有新增事件可能是开发人员测试产生的,需要开发确认相关的埋点代码已经清除。如有遗留则可能是漏埋了或者埋点了但是未传输过数据。
1.2. 点选事件名,检查其包含的属性是否完整,名字和类型是否正确。
属性是否有遗留或新增。这块遗留的情况比较常见,可能是漏埋了。
属性值类型是否与事件设计一致。如不一致,请开发在代码里修正变量类型,然后联系技术支持同学修改变量类型,修正后的数据才可正常入库。或者另取一个属性名,数据即可直接入库。
2. 对用户关联情况进行校验
在开始本小节的校验之前,请提前阅读 第 2 步:如何准确的标识用户 并确定理解了用户关联的概念和方案。
该环节需要结合神策分析中“自定义查询”的功能来操作,校验的目的有 3 点:
- 检查 first_id 取值是否存在异常,是否有将 second_id 写入 first_id 的错误操作;
- 检查 second_id 取值是否异常,是否有正常关联的用户存在;
- 检查用户 ID 关联过程是否正常。
2.1. 检查 first_id 取值
查询 users 表,检查查询结果中 first_id 是否为设备 ID,以及是否存在异常情况。以下是各端 SDK 默认取的设备 ID ,可根据 ID 格式大致判断 first_id 取值是否正常。
查询 sql: select * from users limit 1000
SDK 类型 | ID 样式 |
---|---|
Android 端 | 01c23e12e10a7810(AndroidID 为 16 位 ,字母+数字组成) |
iOS 端 | 447BAE19-7117-4D1B-81E2-7B46AA7998A4(IDFA / IDFV / UUID 为32位,8-4-4-4-12) |
H5 端 | 15ffdb0a3f898-02045d1cb7be78-31126a5d-250125-15ffdb0a3fa40a |
微信小程序 | oWDMZ0WHqfsjIz7A9B2XNQOWmN3E(28 位,字母+数字组成) |
上面查询结果中可能存在的常见情况有:
- first_id = second_id,这种情况可能是正常的,如果开发人员在同一台设备上登录过多个账号,则除了首个登录的账号会进行正常关联外,其余账号均会发生自关联,即出现 first_id = second_id = 账号 ID 的情况。
- first_id 的实际取值不是设备 ID,而是账号 ID,而 second_id 取值为空,这种情况代表着 second_id 误写入了 first_id,可通过下方SQL 进一步检查。
查询 sql:SELECT u1.first_id, u1.second_id, u2.first_id, u2.second_id FROM users u1 JOIN users u2 ON u1.first_id = u2.second_id WHERE u1.second_id IS NULL;
如果以上查询有返回结果,原因可能但不限于如下情况:
- $SignUp 事件传送失败,导致没有关联成功;
- 后端在传 distinct_id 时没有设置 is_login_id 的参数值为 true;
- 调 login 时误调用了 identify,将登录 ID 替换了匿名 ID。
2.2. 检查 second_id 取值
查询 users 表,观察 second_id 取值是否是预设的 user_id 或其他用户唯一标识。注意,在测试环境中 second_id 大部分为空的情况可能是正常的,开发人员可能仅对少量测试账号进行了 ID 关联的尝试。
检查是否有正常关联的情况存在,即 first_id 取值为设备 ID,second_id 取值为 user_id。
2.3. 检查用户 ID 关联过程是否正常
在 users 表的查询结果中,选取一个正常关联的情况的 id(users 表的 id 字段)在events 表中查询行为记录。
查询 sql:select * from events where user_id = "选取的id不用加引号" order by time
查询结果中主要观察的点,首次触发 $SignUp 事件前后,events 表中的数据记录的 $distinct_id 字段前后取值会由设备 ID 替换为 user_id。存在这个情况便表示存在有正常关联的过程。如果您采取的是多对一的关联方案,请联系对应的分析师协助这部分内容的校验。
3. 验证 App 与 H5 打通
做了 App 与 H5 打通 的情况下,才需要进行本环节的验证。
如果是开发人员,进入神策分析页面,点击左下侧【埋点】—>【导入实时查看】—>【Debug 数据】 事件名选择 “$pageview” 点击【开始刷新】实时查看具体事件及属性是否正确。在手机上,打开 App 进入到 H5 页面。看 “$pageview” 事件的属性,如果有 “$wifi” “$network_type” 、“$app_version” 、“$carrier”等字段,说明 App 和 H5 打通成功。(或者开启 SDK 调试日志后,在开发工具的控制台,通过输出的事件日志信息来核对)
也可以在事件分析中,找到 Web浏览页面 事件,查看事件属性中是否带有 设备ID、应用版本、是否 WIFI、网络类型、运营商。
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。