本环节由测试人员完成,需要完成的任务如下:
- 对事件和属性的完整性及数据类型进行校验
- 对用户关联情况进行校验
- 验证 App 与 H5 打通(做了打通的情况下)
事件和属性完整性校验
进入神策分析页面,点击数据融合 > 元数据管理,检查元事件和属性字段。
检查事件是否与《数据采集方案》一致。
事件是否有遗留或新增,如有新增事件可能是开发人员测试产生的,需要开发确认相关的埋点代码是否已经清除。如有遗留则可能是漏埋了或者埋点了但是未传输过数据。
点选事件名,检查其包含的属性是否完整,名字和类型是否正确。
属性是否有遗留或新增。这块遗留的情况比较常见,可能是漏埋了。
属性值类型是否与数据采集方案一致。如不一致,需要重新创建一个属性,设置为正确的类型,再将数据上报到新属性中。
对用户关联情况进行校验
在开始本小节的校验之前,请提前阅读第如何准确的标识用户 ,并确定理解了用户关联的概念和方案。
该环节需要结合神策分析中自定义查询的功能来操作,校验的目的有如下三点:
- 检查 first_id 取值是否存在异常,是否有将 second_id 写入 first_id 的错误操作;
- 检查 second_id 取值是否异常,是否有正常关联的用户存在;
- 检查用户 ID 关联过程是否正常。
检查 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。
检查 second_id 取值
查询 users 表,观察 second_id 取值是否是预设的 user_id 或其他用户唯一标识。注意,在测试环境中 second_id 大部分为空的情况可能是正常的,开发人员可能仅对少量测试账号进行了 ID 关联的尝试。
检查是否有正常关联的情况存在,即 first_id 取值为设备 ID,second_id 取值为 user_id。
检查用户 ID 关联过程是否正常
在 users 表的查询结果中,选取一个正常关联的情况的 id(users 表的 id 字段)在events 表中查询行为记录。
查询 sql:select * from events where user_id = "选取的id不用加引号" order by time
查询结果中主要观察的点,首次触发 $SignUp 事件前后,events 表中的数据记录的 distinct_id 字段前后取值会由设备 ID 替换为 user_id。存在这个情况便表示存在有正常关联的过程。如果您采取的是多对一的关联方案,请联系对应的分析师协助这部分内容的校验。
验证 App 与 H5 打通
做了 App 与 H5 打通 的情况下,才需要进行本环节的验证。
如果是开发人员,进入神策分析页面,点击埋点数据接入 > 实时导入数据查询,事件名选择 $pageview ,点击开始刷新实时查看具体事件及属性是否正确。在手机上,打开 App 进入到 H5 页面。看 $pageview 事件的属性,如果有 $wifi、$network_type、$app_version、$carrier 等字段,说明 App 和 H5 打通成功。
也可以在事件分析中,找到 Web 浏览页面事件,查看事件属性中是否带有设备 ID、应用版本、是否 WIFI、网络类型、运营商等属性。