干貨分享 | 手把手教你從埋點的需求整理到落地
埋點分析,是一種常用的數據采集方法。數據埋點分為初級、中級、高級三種方式。
經常會感到頭疼的問題:
“要給APP做數據埋點怎么下手?”
“數據需求怎么梳理?”
“到底哪些是產品的活兒,哪些是開發的活兒?”
“如何交付?”
經過幾番的調研和走訪取經,將個人對數據埋點的理解記錄下來。(期間還忍受了我們開發小哥哥的“嘲諷”和“戲謔”)
當時內心OS:凡事都有第一次,忍!
下面主要從埋點概念、事件類型、數據需求、交付落地4方面展開介紹。
一、首先什么是埋點?
埋點是數據采集的一種方法,將每個需要統計的點擊事件、頁面上裝攝像頭,采集相應的信息和行為。
無論是產品的迭代還是運營的策略,都是需要有詳細的數據支撐來針對性的做下一步迭代和運營的決策。有了數據分析,你可以得到用戶畫像、用戶行為路徑,不用再去做大量用戶調研、盲目的猜原因,為我們大大降低了試錯的成本。
按照埋點位置區分,分為客戶端(前端)和服務端(后端)兩部分埋點。
簡單來說,客戶端的數據是記錄用戶的操作行為,如點擊、訪問路徑。
服務端的數據是記錄用戶的具體信息的變化,如作業分數、答案選項、對錯情況。
客戶端埋點我這里用的是代碼埋點方法,接的友盟第三方統計平臺,嵌入SDK并定義事件添加相應事件的代碼。(需要開發配合),這種方法的優點是顆粒度細,自定義程度高,可以按需采集,全面且準確。
但是友盟無法做PC端客戶端的埋點(放棄了PC端)
服務端埋點主要是接口的調用,前后端的數據整合,更加結構化。
客戶端埋點&服務端埋點的優缺點
客戶端埋點:
優:搜集頁面展示、點擊行為,不需要請求服務器的數據
缺:無網絡時數據不完整、實時性有延遲;當需要改變埋點時,必須更新版本。
服務端埋點:
優:(1)實時性好,數據準確;(2)變更成本低;(3)能夠收集不在APP內發生的行為,只要請求服務器就行。如統計從其他APP引流的安裝量。
缺:不能收集不需要請求服務器的數據;用戶不聯網不能采集數據
二、主要的埋點事件分類
1. 點擊事件
只要用戶點擊一次就計一次,不論點擊的結果是否成功。(點擊事件包含單擊、雙擊、拖拽等交互事件)
舉例:登錄按鈕的點擊量≠登錄成功后的頁面曝光量。
點擊登錄后,會因為密碼錯誤、賬號錯誤等原因造成登錄失敗,無法進入登錄成功后的頁面。
2. 曝光事件
瀏覽事件的定義要根據不同需求自定義。
比如成功打開一次頁面計一次,頁面停留超過10s等,我是以成功加載出來就計1次曝光事件。
ps:友盟自帶的頁面統計與自定義事件的頁面訪問量并不同哦!
三、如何判斷哪些數據需要統計?
首先將數據目標歸類:
(1)功能分析;(2)業務分析;(3)用戶信息;(4)錯誤日志(這個數據目標只針對開發,不作為核心目標考慮)
- 功能分析:主要檢驗功能的受歡迎程度。
- 業務分析:事件轉化、頁面訪問路徑。
- 用戶信息:用戶畫像。
其中用戶信息是必備基礎,功能和業務相關的埋點數據需要根據需求的優先級和重要程度進行篩選。(可參考KANO模型)
數據統計目標
四、交付落地?
1. 客戶端的埋點需求表
8個字:1張大表,表內分頁。根據需要埋點的頁面建多張頁面表,每張頁面中包含所有事件類型。
表格列表字段:頁面位置、線索名稱、事件名稱、事件類型、事件ID、Key、value、采集時機、備注
雖然你給開發的是表格是根據事件類型分開的,但是事件的數據查看在后臺是將所有的事件類型都匯總在一張列表下展示,所以在每個事件的命名上需要對事件類型加以說明,方便一眼就能區分。
客戶端埋點需求表
(1)線索名稱:線索就是追蹤用戶行為的記錄,一個線索可以由多個事件組成。
舉例:直播教室線索:進入教室、退出教室,這兩個事件都能組成直播教室的線索。
(2)事件名稱:說明該埋點的位置和功能
(3)事件類型:點擊事件/瀏覽事件
(4)事件ID:事件類型_哪一端產品_頁面名稱_功能名稱
舉例:點擊事件_APP端_直播教室_舉手=btn_APP_classroom_hand
(5)key:參數,根據不同維度來計算。
舉例:舉手按鈕,每個教室都有一個舉手按鈕,但點擊的時候需要知道是各個班班的點擊情況各個課節的點擊情況各個學生點擊的情況。
那就需要設計3個key:課節id,班級id,課節id,學生id。
(6)value:與key是一組,key-value,是一種數據模型方法。上面舉例的3個key對應的value,分別就是各自的id值
(7)采集時機:說明觸發埋點的具體操作行為
(8)備注:有特殊情況的單獨備注,比如上臺按鈕的埋點,只有APP的iphone、Android有,iPad沒有。另外新增的埋點,刪除的埋點時間記錄都需要備注清楚。
同一屬性的事件只要設置不同key來區分就行。
如登錄事件,用戶可能從密碼登錄或驗證碼登錄入口登錄進去的,這個時候并不需要對每個頁面的登錄事件進行埋點,只需對登錄一個點擊事件埋點,key=入口類型,value=pwd/mes
同一屬性的事件
客戶端的埋點需求準備好了,接下來就讓把appkey發給開發小哥哥吧,接下來事件的導入,友盟支持批量導入,批量復制,單個添加。
批量導入模板
添加進去的事件無法刪除,只能暫停計算。所以在正式埋點之前要謹慎,要多多多多和開發溝通!
2. 服務端埋點需求表
和業務相關的數據記錄,需要在服務端進行埋點。
表格列表字段:數據目的、key、value、備注
和客戶端不同,比如統計一個學生的上課時長,需要的key有上課時間、下課時間、停留時長。這是一整條記錄。
服務端需求表
服務端埋點的數據,前期如果沒有后臺的可視化支持,那只能麻煩后端幫你導數據。
最后感謝開發小哥哥們的理解。理解萬歲!
埋點完成后,下一步就是數據分析。恩,注定要跳進數據分析這個坑了,且聽下回分解。
阿蛋的生存法則:
保持對生活的好奇心,對興趣的堅持,對知識的渴望,將這一切內化成工作中的資本和動力源泉,這將是一個趨于正無窮的極限函數,當然不定時的也會撒撒狗糧皮一皮。
本文由 @double_egg 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
請問客戶端埋點數據需要在哪里看誒?
感謝分享,簡單易懂
一般做埋點方案,是不是用戶行為和業務數據都需要???
用戶行為是前端打點,業務數據是后端打點?
用戶行為后端也是可以統計的,業務數據比如銷售額 訂單量這些一般后端負責。
因為接SDK,簡單的用戶行為如點擊能用前端盡量前端,減少后端工作量。
如果暫時沒有有需要自定義的統計,是不是直接讓開發集成sdk就可以了?不用提供埋點需求?
也要告訴開發你要統計的數據
問個問題:比如記錄登錄成功/操作成功這種狀態的事件應該歸為什么事件?
登陸成功,看你的定義是什么。一般是指登陸后成功打開著陸頁。
要結合兩種事件綜合分析。
一個是登陸的點擊量,一個是登陸后第一個著陸頁的曝光量。
如果要看當前著陸頁有多少是來自這個點擊行為產生的,還要進行漏斗分析。
哈,作者的工作比我細致多了
1.確定所有需要上報的的頁面
2.將以上的頁面按照自定義的事件進行分類
3.將事件根據定義加入不同的線索當中
將以上的框架搭建好之后,剩下的就是和業務需求方溝通,根據對業務的理解將數據填進去。
嗯線索其實是要先定下來的 相當于是數據目標
感謝分享,很有幫助
贊
很簡單明了,很受用,謝謝~
不錯啊,新的APP正在準備開發,正要考慮埋點
作者你好,在確定埋點前,你難道不需要先明確到底需要哪些數據?就是首先確定埋點指標,根據指標得出你需要哪些數據,然后在根據數據制定埋點方案,但是指標你沒寫 ? ? 你在做埋點的時候是怎么確定這些埋點指標的???
這篇文章的目的是介紹埋點實施的實操方法。所以先系統性的介紹埋點,至于你說的數據核心的目標在第三塊我列舉了三大主要核心目標,腦圖里描述的是埋點前的一些數據指標思路。具體的數據指標會在以后的數據分析里具體介紹。
正在做埋點的事,哈哈正好學習了,棒棒噠
感謝,幫助非常大,說的很具體
這很有幫助,不止作者是否可以留個聯系方法方便后期溝通
可以關注我的公眾號-阿蛋有話說,會不定期分享一些工作中踩過的坑 ??
棒棒的