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