從做數(shù)據(jù)產(chǎn)品開始,自己的日常工作就被埋點(diǎn)占據(jù)了大部分,到后面做平臺(tái)類數(shù)據(jù)產(chǎn)品之后發(fā)現(xiàn)埋點(diǎn)問題依舊占據(jù)很多精力且治理困難,寫這篇文章也是跟大家討論討論自己做埋點(diǎn)治理的心得以及深入剖析下為什么埋點(diǎn)質(zhì)量這么難保障。
做埋點(diǎn)時(shí)間長(zhǎng)了,越來越覺得埋點(diǎn)并不像自己想象的那么簡(jiǎn)單,僅僅是開發(fā)在自己要統(tǒng)計(jì)的業(yè)務(wù)場(chǎng)景下寫埋點(diǎn)代碼打包上傳統(tǒng)計(jì)數(shù)據(jù)就完成工作,從最開始的埋點(diǎn)需求規(guī)劃再到最后數(shù)據(jù)上報(bào)只要有一個(gè)環(huán)節(jié)有坑就會(huì)影響數(shù)據(jù)準(zhǔn)確性,而數(shù)據(jù)準(zhǔn)確性估計(jì)是每個(gè)數(shù)據(jù)人工作中必須要面對(duì)的難題。
下面簡(jiǎn)單聊聊自己遇到的坑,這些或許僅僅是表述了現(xiàn)象,至于導(dǎo)致此現(xiàn)象發(fā)生的本質(zhì)相信就仁者見仁 智者見智了。
01
埋點(diǎn)需求混亂且缺少管控
產(chǎn)品和運(yùn)營(yíng)作為埋點(diǎn)需求的常見提出方,當(dāng)新功能或活動(dòng)上線時(shí)會(huì)提很多埋點(diǎn)需求,數(shù)據(jù)產(chǎn)品在這個(gè)環(huán)節(jié)如果對(duì)埋點(diǎn)需求沒有明確的提需規(guī)范和把控,就會(huì)導(dǎo)致埋點(diǎn)需求爆炸,對(duì)于開發(fā)和維護(hù)成本都是壓力,并且后續(xù)做數(shù)據(jù)分析的時(shí)候經(jīng)常會(huì)發(fā)現(xiàn)數(shù)據(jù)不可用或數(shù)據(jù)不準(zhǔn)確,那其實(shí)后續(xù)排查問題的成本非常大,所以數(shù)據(jù)產(chǎn)品一定要對(duì)埋點(diǎn)需求有全局把控。
1
明確埋點(diǎn)要統(tǒng)計(jì)哪些指標(biāo):
數(shù)據(jù)產(chǎn)品在評(píng)審埋點(diǎn)需求的時(shí)候很重要的一點(diǎn)就是:明確埋點(diǎn)要統(tǒng)計(jì)哪些指標(biāo)。埋點(diǎn)統(tǒng)計(jì)是服務(wù)于指標(biāo)的,如果對(duì)埋點(diǎn)需求沒有管控放任提需,經(jīng)過幾個(gè)版本的迭代就會(huì)發(fā)現(xiàn)埋點(diǎn)維護(hù)很難,而且這樣也能反推運(yùn)營(yíng)和產(chǎn)品思考自己到底關(guān)注哪些核心指標(biāo),對(duì)后期的數(shù)據(jù)統(tǒng)計(jì)和復(fù)盤都是有幫助的。
2
明確埋點(diǎn)提需規(guī)范:
埋點(diǎn)需求規(guī)范的價(jià)值是幫助業(yè)務(wù)方和數(shù)據(jù)產(chǎn)品拉齊對(duì)即將開發(fā)的埋點(diǎn)認(rèn)知一致,所以在設(shè)計(jì)埋點(diǎn)提需規(guī)范時(shí)不僅僅要讓業(yè)務(wù)方標(biāo)明要統(tǒng)計(jì)哪些指標(biāo)、事件如何規(guī)劃、觸發(fā)時(shí)機(jī),最好能寫出每個(gè)自定義參數(shù)的觸發(fā)時(shí)機(jī)、參數(shù)打在哪個(gè)層級(jí)、是否需要透?jìng)鞯龋瑢?duì)于剛起步做埋點(diǎn)治理的階段可以先將精力focus在提需規(guī)范的設(shè)計(jì)和落實(shí)上,劃重點(diǎn):埋點(diǎn)提需規(guī)范越詳細(xì)越好,可以幫忙拉齊各方對(duì)埋點(diǎn)的認(rèn)知。
3
埋點(diǎn)需求評(píng)審會(huì)及設(shè)定需求接口人
埋點(diǎn)需求評(píng)審就不具體展開了,大體說就是將業(yè)務(wù)方、開發(fā)、測(cè)試、數(shù)據(jù)產(chǎn)品等組織起來對(duì)埋點(diǎn)需求進(jìn)行評(píng)審。我想多說說需求接口人這個(gè)角色,進(jìn)了大廠發(fā)現(xiàn)需求接口人很重要,沒有接口人的話僅靠數(shù)據(jù)產(chǎn)品跟業(yè)務(wù)對(duì)接在大體量和復(fù)雜業(yè)務(wù)場(chǎng)景的公司里是不現(xiàn)實(shí)的,所以接口人的定位是埋點(diǎn)需求master甚至是數(shù)據(jù)需求master,劃重點(diǎn):建議接口人可以考慮經(jīng)常對(duì)接埋點(diǎn)需求的業(yè)務(wù)或是有開發(fā)背景的業(yè)務(wù)方,這樣溝通起來會(huì)方便一些。
02
埋點(diǎn)設(shè)計(jì)環(huán)節(jié)缺少整體性思考
規(guī)劃埋點(diǎn)是數(shù)據(jù)產(chǎn)品的基本工作,但真正能做好埋點(diǎn)規(guī)劃很難,我覺得這個(gè)環(huán)節(jié)的痛點(diǎn)在于:很難以全局視角規(guī)劃埋點(diǎn)并且具有可擴(kuò)展性,所以為了后續(xù)的可擴(kuò)展性,我簡(jiǎn)單列幾條可參考的tips:
1
埋點(diǎn)設(shè)計(jì)要具有簡(jiǎn)潔性:
這里的簡(jiǎn)潔性是指同類場(chǎng)景下的埋點(diǎn)是否能合并成一個(gè)埋點(diǎn)規(guī)劃,比如“點(diǎn)擊支付按鈕”事件,該事件在很多頁面都可以觸發(fā),那么就可以把這個(gè)事件規(guī)劃為一個(gè)埋點(diǎn),在不同的頁面點(diǎn)擊時(shí)將頁面名稱或頁面ID作為參數(shù)傳遞,但這些還是比較初階的埋點(diǎn)設(shè)計(jì)方案,當(dāng)很多業(yè)務(wù)屬性以參數(shù)形式傳遞時(shí),如何管理及規(guī)劃這些參數(shù),讓數(shù)據(jù)RD看到埋點(diǎn)日志時(shí)很容易就能理解這條埋點(diǎn)攜帶了哪些信息,那么就引出來我要講的下一點(diǎn):
2
埋點(diǎn)設(shè)計(jì)要具有規(guī)范性:
其實(shí)規(guī)范性這個(gè)詞很寬泛,我們通篇也都在探討如何基于埋點(diǎn)治理的痛點(diǎn)制定規(guī)范。上面講到我們?nèi)绾喂芾砺顸c(diǎn)日志里的參數(shù),我覺得可以按照性質(zhì)和層級(jí)給這些參數(shù)進(jìn)行個(gè)簡(jiǎn)單劃分:
公共參數(shù):每條買點(diǎn)日志都要上報(bào)的參數(shù),包含設(shè)備信息、上報(bào)時(shí)間、ip地址等信息(這里不具體講,大家可以參考第三方數(shù)據(jù)分析工具如神策、GrowingIO等公共參數(shù)的采集),那么數(shù)據(jù)產(chǎn)品對(duì)于公共參數(shù)的設(shè)計(jì)和管理體現(xiàn)在要規(guī)劃號(hào)公共參數(shù)并協(xié)調(diào)各個(gè)埋點(diǎn)端上報(bào)格式一致,降低數(shù)倉解析成本私有參數(shù):也叫自定義參數(shù),每條買點(diǎn)在不同場(chǎng)景、不同操作、不同邏輯下會(huì)觸發(fā)并傳遞不同參數(shù),此類參數(shù)叫做私有參數(shù)。
這里的層級(jí)指的是埋點(diǎn)日志的json層級(jí),如果能做好json層級(jí)的劃分那么對(duì)于不同角色的RD可以按照自己關(guān)注的參數(shù)去解析,大大降低了解釋成本。
公共信息層:如果讀了上面的公共參數(shù),那么會(huì)很好理解什么叫公共信息層:顧名思義就是存放公共參數(shù)層。
業(yè)務(wù)信息層:里面存放自定義參數(shù),針對(duì)同類或同場(chǎng)景的采集信息可以抽象成一個(gè)對(duì)象,在對(duì)象里存放這些信息,例如上面提到的“點(diǎn)擊支付按鈕”事件,可以把頁面信息存放到一個(gè)對(duì)象里、位置信息存放到一個(gè)對(duì)象里,下面舉個(gè)巨簡(jiǎn)單的栗子:
策略信息層:里面存放為策略服務(wù)的參數(shù),之所以把它單獨(dú)劃分一層是因?yàn)椴呗远嘧兦异`活,最好還是規(guī)劃在同一層級(jí)下管理。
透?jìng)餍畔樱哼@種后端透?jìng)髑岸说膮?shù)也建議單獨(dú)規(guī)劃,便于后續(xù)做鏈路追蹤等應(yīng)用當(dāng)埋點(diǎn)設(shè)計(jì)形成了規(guī)范,那么其實(shí)也完成了埋點(diǎn)最難的高度抽象的部分,接下來就是基于抽象好的規(guī)范甚至是數(shù)據(jù)模型來復(fù)用到后續(xù)的埋點(diǎn)規(guī)劃中,抽象的思路可以先關(guān)注重點(diǎn)場(chǎng)景:先設(shè)計(jì)核心指標(biāo)有關(guān)的核心點(diǎn)位或者場(chǎng)景復(fù)雜的點(diǎn)位。
3
埋點(diǎn)設(shè)計(jì)要具有可擴(kuò)展性:
埋點(diǎn)設(shè)計(jì)的可擴(kuò)展性與上面的規(guī)范性密不可分,當(dāng)規(guī)范建立好數(shù)據(jù)產(chǎn)品要思考是否具有較強(qiáng)的擴(kuò)展性,還有后面規(guī)范的新增和變更該如何管理和維護(hù)。
要知道埋點(diǎn)不僅僅只是服務(wù)于指標(biāo)統(tǒng)計(jì),想要全面的規(guī)劃埋點(diǎn)還要設(shè)計(jì)分析產(chǎn)品性能、使用體驗(yàn)的埋點(diǎn),比如上報(bào)啟動(dòng)時(shí)間、崩潰事件、頁面加載時(shí)間等事件。
03
埋點(diǎn)開發(fā)不規(guī)范
這個(gè)問題也很有意思,數(shù)據(jù)產(chǎn)品經(jīng)常有個(gè)疑問:為什么我規(guī)劃好了的埋點(diǎn),實(shí)際開發(fā)或上線后根本不符合預(yù)期。這個(gè)環(huán)節(jié)共設(shè)計(jì)到兩個(gè)角色:數(shù)據(jù)產(chǎn)品和埋點(diǎn)開發(fā),那么到底是哪一方在溝通理解上出現(xiàn)了問題呢?
數(shù)據(jù)產(chǎn)品:技術(shù)背景較薄弱,針對(duì)不同開發(fā)環(huán)境和生態(tài)了解欠缺
埋點(diǎn)開發(fā):了解開發(fā)邏輯,對(duì)于未明確的細(xì)節(jié)用慣用邏輯實(shí)現(xiàn)大家發(fā)現(xiàn)了嗎,當(dāng)埋點(diǎn)場(chǎng)景復(fù)雜時(shí),由于兩個(gè)角色的側(cè)重點(diǎn)不同很容易會(huì)出現(xiàn)gap,有人問有什么好的辦法去規(guī)避嗎?其實(shí)除了上面講的,只能不同角色補(bǔ)齊自己的短板,還有就是兩方一定要多溝通,埋點(diǎn)開發(fā)在埋點(diǎn)評(píng)審時(shí)要思考不同實(shí)現(xiàn)邏輯和異常場(chǎng)景是否會(huì)影響埋點(diǎn)上報(bào),在開發(fā)埋點(diǎn)之前盡量把問題暴露出來。
04
埋點(diǎn)驗(yàn)收不夠全面
埋點(diǎn)驗(yàn)收環(huán)節(jié)作為埋點(diǎn)上線的最后一道保障,也是很容易踩坑的。具體的現(xiàn)象不多說,只說如何在驗(yàn)收環(huán)節(jié)盡量不踩坑:
(1)驗(yàn)收是否多報(bào)
(2)驗(yàn)收是否少報(bào)
(3)驗(yàn)收是否缺參數(shù)上報(bào)
(4)驗(yàn)收上報(bào)參數(shù)是否符合預(yù)期
(5)驗(yàn)收上報(bào)為空日志的比例
(6)驗(yàn)收上報(bào)不符合預(yù)期日志的比例
除了上面的驗(yàn)收重點(diǎn),驗(yàn)收方式一定要手動(dòng)驗(yàn)證+平臺(tái)自動(dòng)化一起配合,最好能進(jìn)行一遍回歸測(cè)試,多方式進(jìn)行驗(yàn)收。
05
欠缺埋點(diǎn)生命周期的管理
做埋點(diǎn)治理和數(shù)據(jù)治理的小伙伴應(yīng)該深有體會(huì),當(dāng)缺少生命周期的管理一味放任熵增,后續(xù)治理的成本實(shí)在很高,所以埋點(diǎn)生命周期的管理必不可缺。簡(jiǎn)單來說要做好后續(xù)埋點(diǎn)梳理、埋點(diǎn)瘦身、埋點(diǎn)升級(jí)的工作,定期統(tǒng)計(jì)一段時(shí)間內(nèi)低頻上報(bào)的埋點(diǎn)和這些埋點(diǎn)相關(guān)指標(biāo)、報(bào)表的訪問量,以此為依據(jù)開展埋點(diǎn)生命周期管理工作。
說了這么多,越寫越覺得想埋點(diǎn)想不踩坑對(duì)數(shù)據(jù)產(chǎn)品的要求實(shí)在很高,不僅要有需求管控能力、數(shù)據(jù)抽象能力,技術(shù)背景,還要有多部門協(xié)調(diào)能力和全局把控能力。所以本文也只能大體講講這些關(guān)鍵環(huán)節(jié),但估計(jì)也是日常困擾大家比較多的問題了。
相信有此經(jīng)歷的小伙伴們看到文章應(yīng)該很有共鳴,歡迎留言交流~如果有更好的想法歡迎一起討論學(xué)習(xí)~
責(zé)任編輯:haq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6898瀏覽量
88833
原文標(biāo)題:聊聊為什么埋點(diǎn)治理這么難?
文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論