基礎數據校驗
本環節由測試人員完成,需要完成的任務如下:
- 對事件和屬性的完整性及數據型別進行校驗
- 對用戶關聯情況進行校驗
- 驗證 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、網路類型、營運商。