前言
在軟件使用過程中具帮,會產(chǎn)生了大量的用戶數(shù)據(jù)和行為數(shù)據(jù)避咆,而這些數(shù)據(jù)記錄了用戶的行為和習慣等信息镶骗,為了給用戶提供更好的體驗,會對這些用戶數(shù)據(jù)進行分析和利用厉碟,用來提升用戶的體驗喊巍,而數(shù)據(jù)采集作是整個鏈路上重要的一環(huán),起到了很大作用箍鼓,而埋點作為數(shù)據(jù)采集的手段崭参,同樣發(fā)揮著重要作用。
一款咖、埋點需求分析
1.埋點需求背景分析
首先我們要清楚埋點需求是什么何暮,埋點主要是進行一些數(shù)據(jù)收集的行為奄喂,通過收集這些數(shù)據(jù),數(shù)據(jù)使用者通過對數(shù)據(jù)進行分析海洼,來實現(xiàn)各自的需求跨新。產(chǎn)品可以用來分析用戶使用習慣,驗證產(chǎn)品方案效果贰军,研發(fā)可以通過埋點監(jiān)控應用質(zhì)量玻蝌,提升應用品質(zhì)蟹肘,AI工程師可以通過數(shù)據(jù)訓練算法词疼,實現(xiàn)搜索推薦等功能。為了達到各方的述求帘腹,對埋點數(shù)據(jù)會有著不同的要求贰盗。
2.埋點痛點分析
- 1)業(yè)務方痛點:
- 開發(fā)工期緊張,不能支持埋點添加和修改阳欲。
- 埋點必須跟版本走舵盈,不能立即生效。
- 2)開發(fā)痛點:
- 開發(fā)埋點工作量大球化,會占用業(yè)務開發(fā)時間秽晚。
- 修改業(yè)務代碼,可能會影響埋點功能筒愚,不能及時發(fā)現(xiàn)赴蝇。
3.埋點數(shù)據(jù)分析
1)數(shù)據(jù)時效性:
對于不同的使用方,對數(shù)據(jù)的時效性要求也不同巢掺,對于監(jiān)控和一些在線系統(tǒng)句伶,往往需要實時數(shù)據(jù),而對于一些產(chǎn)品分析陆淀,失效要求會降低考余,比如T+1天就可以滿足需求,所以埋點系統(tǒng)需要針對不同的使用方轧苫,設計不同的數(shù)據(jù)采集時效楚堤。2)數(shù)據(jù)準確性:
數(shù)據(jù)準確性主要體現(xiàn)為數(shù)據(jù)采集準確性,特別是對于一些特定流程的數(shù)據(jù)采集含懊,針對不同需求钾军,進行不同方式的采集,比如頁面曝光绢要,頁面瀏覽量吏恭,如何做到數(shù)據(jù)精準,滿足產(chǎn)品和研發(fā)以及項目管理方的述求重罪。3)數(shù)據(jù)多元性:
數(shù)據(jù)多元性是指從多個維度進行數(shù)據(jù)采集樱哼,不同維度的數(shù)據(jù)可以展示不同的信息哀九,同時不同維度的信息又有相互關(guān)聯(lián)性,可以多方位了解信息和看待問題搅幅。
二阅束、埋點事件
1.1事件定義
為了對用戶行為進行統(tǒng)計和分析,我們使用一類被稱為 "事件" 的消息來記錄用戶行為茄唐。?
1.2事件組成
- 1.who:用戶信息息裸,身高、體重沪编、性別呼盆、職業(yè)等等
- 2.when:時間信息,時間發(fā)生時間
- 3.where:環(huán)境信息 設備環(huán)境蚁廓、網(wǎng)絡環(huán)境访圃、業(yè)務環(huán)境
- 4.what:事件信息 事件標識、事件參數(shù)相嵌,比如點擊了哪個按鈕腿时,按鈕標題。
1.3事件維度
- 1.訪問級維度饭宾,瀏覽器訪問還是移動設備訪問批糟。
- 2.頁面級維度,訪問的哪一個頁面看铆,首頁還是個人信息頁徽鼎。
- 3.動作級維度, 點擊性湿、曝光還是滑動觸發(fā)纬傲。
1.4事件類型
- 1.無埋點事件,指不需要額外開發(fā)肤频,通過監(jiān)聽叹括、通知進行的埋點。
- 2.埋點事件宵荒,指開發(fā)階段汁雷,手動進行的埋點。
三报咳、埋點采集方式
1.代碼埋點
代碼埋點侠讯,即在需要埋點的節(jié)點調(diào)用接口直接上傳埋點數(shù)據(jù),友盟暑刃、百度統(tǒng)計等第三方數(shù)據(jù)統(tǒng)計服務商大都采用這種方案,主要通過命令式代碼調(diào)用厢漩,如下面這種方式:
[XMData eventId:@"123" param:@{@"pagename":@"首頁"}];
-
優(yōu)點:
- 準確性高,針對性強岩臣,可以進行特定場景埋點溜嗜。
- 可以靈活獲取業(yè)務數(shù)據(jù)參數(shù)宵膨。
-
缺點:
- 開發(fā)工作量大,每個埋點都需要開發(fā)實現(xiàn)炸宵。
- 代碼入侵性大辟躏,和業(yè)務代碼混雜在一起,容易出錯土全。
- 后續(xù)維護比較麻煩捎琐,每次改動,都要以來開發(fā)修改裹匙。
- 修改不夠靈活瑞凑,需要依賴發(fā)版。
2.可視化埋點
可視化埋點幻件,即通過可視化工具配置采集節(jié)點拨黔,在后臺配置埋點數(shù)據(jù)蛔溃,在客戶端自動解析配置并上報埋點數(shù)據(jù)绰沥,從而實現(xiàn)所謂的“無痕埋點”, 代表方案是已經(jīng)開源的Mixpanel贺待;
-
優(yōu)點:
- 埋點比較簡單徽曲,不依賴開發(fā)。
- 靈活性大大提高麸塞,可以通過后臺配置秃臣,添加刪除埋點。
-
缺點:
- 前期開發(fā)成本大哪工,SDK和后臺開發(fā)成本都增加奥此。
- 只能針對一些簡單業(yè)務場景,不能獲取復雜業(yè)務參數(shù)雁比。
3.無埋點
無埋點稚虎,它并不是真正的不需要埋點,而是客戶端利用hook攔截系統(tǒng)的響應事件偎捎,自動采集全部事件并上報埋點數(shù)據(jù)蠢终,在后端數(shù)據(jù)計算時過濾出有用數(shù)據(jù),代表方案是國內(nèi)的GrowingIO茴她。
-
優(yōu)點:
- 數(shù)據(jù)可回溯性寻拂,如果想看某個埋點,可以直接去后臺參考丈牢,不需要依賴發(fā)版祭钉。
- 埋點覆蓋面更全面,進行全面行為數(shù)據(jù)記錄己沛。
-
缺點:
- 數(shù)據(jù)量大慌核,數(shù)據(jù)傳輸和數(shù)據(jù)存儲要求高帕识。
- 無用數(shù)據(jù)較多,浪費資源遂铡。
- 只能記錄簡單場景埋點肮疗。
四、埋點管理
1.埋點項目流程
- 1)業(yè)務產(chǎn)品提出埋點需求
- 包括業(yè)務數(shù)據(jù)扒接、用戶行為等數(shù)據(jù)
- 2)數(shù)據(jù)產(chǎn)品制定埋點方案
- 根據(jù)業(yè)務產(chǎn)品需求伪货,制定合理的埋點方案
- 3)埋點方案評審
- 包括業(yè)務產(chǎn)品、數(shù)據(jù)產(chǎn)品钾怔、開發(fā)碱呼、測試,一起溝通埋點方案合理性宗侦。
- 4)開發(fā)埋點
- 開發(fā)根據(jù)業(yè)務埋點進行買點開發(fā)和自測愚臀。
- 5)測試埋點
- 測試根據(jù)業(yè)務埋點方案,進行測試驗證矾利。
- 6)埋點上線
- 埋點測試合格后姑裂,跟隨業(yè)務一起上線。
- 7)埋點數(shù)據(jù)統(tǒng)計和可視化
- 對產(chǎn)生的業(yè)務埋點進行數(shù)據(jù)分析男旗,后臺可視化展示舶斧,供相關(guān)需求方使用。
2.埋點開發(fā)和測試
2.1埋點開發(fā)
- 1.代碼開發(fā)
- 主要涉及代碼埋點察皇,必須要研發(fā)手工埋點茴厉。
- 2.后臺配置
- 可以針對所有埋點,不只是可視化埋點什荣,設置配置項矾缓,比如上報網(wǎng)絡,上報時效稻爬,每日流量熔斷等等嗜闻。
2.2埋點測試
- 1.日志log查看
- 測試埋點的時候,由于某些埋點要延時上報因篇,不能實時查看泞辐,可以通過埋點log實時查看,還有是否觸發(fā)竞滓。
- 2.后臺數(shù)據(jù)查看
- 通過后臺數(shù)據(jù)咐吼,可以查看埋點真實上報情況,確認埋點正確性商佑。
3.埋點質(zhì)量監(jiān)控
有時因為開發(fā)同學錯誤修改一段代碼锯茄,沒考慮到會影響埋點,導致線上埋點事件丟失,很長時間沒有發(fā)現(xiàn)肌幽,后來被產(chǎn)品發(fā)現(xiàn)晚碾,但是修復之前的埋點數(shù)據(jù)就沒有,這種情況在實際開發(fā)過程中常常發(fā)生喂急,如何避免這種事情發(fā)生呢格嘁?可以通過埋點質(zhì)量監(jiān)控來實現(xiàn)±纫疲可以檢測必傳參數(shù)是否確實糕簿,是否在合理范圍等,在后臺配置異常情況閾值狡孔,如果超出正常范圍懂诗,發(fā)出報警提示,可以及早發(fā)現(xiàn)問題苗膝。
4.埋點數(shù)據(jù)分析和可視化
4.1數(shù)據(jù)分析
根據(jù)埋點數(shù)據(jù)殃恒,分析用戶行為,比如分析某個業(yè)務的轉(zhuǎn)換率辱揭,分析頁面用戶喜歡點擊的位置离唐,廣告點擊率等數(shù)據(jù),用于后續(xù)業(yè)務改進界阁。
4.2數(shù)據(jù)可視化
以電商數(shù)據(jù)為例侯繁,通過埋點記錄的頁面PV胖喳,UV等數(shù)據(jù)都可以泡躯,可視化的方式展示在頁面上,如下圖所示丽焊。
參考資料:
Mixpanel Help Center
應用埋點方案
有贊埋點實踐
GrowingIO平臺
數(shù)據(jù)采集與埋點
美團點評前端無痕埋點實踐
知乎客戶端埋點流程较剃、模型和平臺技術(shù)