策略產(chǎn)品思考:數(shù)據(jù)埋點(diǎn)的一些小坑總結(jié)
編輯導(dǎo)語:什么是數(shù)據(jù)埋點(diǎn)?本篇作者給我們介紹了數(shù)據(jù)埋點(diǎn)的小坑總結(jié)以及脫坑指南,一起來看一下。
一、寫在之前:什么是數(shù)據(jù)埋點(diǎn)?
簡單來說,埋點(diǎn)就是部署在前端,或服務(wù)端的一段代碼,當(dāng)用戶觸發(fā)了某種特定的操作,這段代碼就會(huì)生成一條數(shù)據(jù)發(fā)送到數(shù)據(jù)庫里,這條數(shù)據(jù)會(huì)記錄哪個(gè)用戶在什么時(shí)候在哪個(gè)場景以什么樣的方式做了一件什么樣的事。
核心邏輯是“觸發(fā)-記錄-上傳”,業(yè)務(wù)人員先確定自己需要分析哪方面的數(shù)據(jù),研究用戶可能的行為軌跡,并在關(guān)鍵節(jié)點(diǎn)上做好“埋伏”(記錄),再上傳給客戶端或者Server端,最后落到數(shù)據(jù)表中,這是一套完整的數(shù)據(jù)采集工作。
比如我們常常提及的DAU、互動(dòng)數(shù)、留存率,這些指標(biāo)以及更復(fù)雜的數(shù)據(jù),都依賴于埋點(diǎn)來提供準(zhǔn)確數(shù)據(jù)。
關(guān)于數(shù)據(jù)埋點(diǎn)更詳細(xì)的解釋,可以參考:《當(dāng)我們?cè)谡務(wù)摂?shù)據(jù)埋點(diǎn)時(shí),我們?cè)谡務(wù)撔┦裁矗俊?/a>
二、數(shù)據(jù)埋點(diǎn)小坑總結(jié)
筆者在策略產(chǎn)品工作中,不免常常與數(shù)據(jù)打交道,發(fā)現(xiàn)這其中的坑簡直多到不可想象,真的讓人不得不感嘆還能這樣,下面就是我覺得最容易跳的幾個(gè)坑。
1. 想要找的埋點(diǎn)找不到
這是最常出現(xiàn)的,我們想找一個(gè)數(shù)據(jù)的埋點(diǎn),但怎么也找不到,自己也難以確定是沒有打過,還是說這個(gè)點(diǎn)位在某個(gè)角落默默等著人來用。
產(chǎn)生這種情況主要有兩種:
- 數(shù)據(jù)埋點(diǎn)缺乏統(tǒng)一的查詢管理平臺(tái)。
- 數(shù)據(jù)埋點(diǎn)字段名不規(guī)范 or 中文名不準(zhǔn)確。
針對(duì)第一點(diǎn),其實(shí)在進(jìn)行埋點(diǎn)規(guī)劃的時(shí)候,一般都會(huì)有一個(gè)文檔或者平臺(tái)能夠讓使用者對(duì)打點(diǎn)情況進(jìn)行查詢的。但是在真正執(zhí)行的時(shí)候,因?yàn)槠脚_(tái)或者文檔與實(shí)際打點(diǎn)缺乏強(qiáng)綁定性,總會(huì)出現(xiàn)點(diǎn)位更新不及時(shí)、或者是老點(diǎn)有變動(dòng)但沒有在平臺(tái)或者文檔上更新,導(dǎo)致查詢工作變得復(fù)雜且困難。
而第二點(diǎn),也是我個(gè)人很想吐槽的一點(diǎn),在埋點(diǎn)時(shí)候缺乏對(duì)點(diǎn)位名字的思考,比如首頁曝光的打點(diǎn)居然會(huì)叫“batch/c10705”(真實(shí)案例),請(qǐng)問這種埋點(diǎn)如果不看文檔,誰知道它什么意思?體現(xiàn)的是埋點(diǎn)者在埋點(diǎn)前的思維惰性。
2. 埋點(diǎn)重復(fù),不知選哪個(gè)可信
同樣是真實(shí)情況中經(jīng)常出現(xiàn)的情況,同樣意義的點(diǎn)位會(huì)打上多次,出現(xiàn)的原因有可能是以下兩種:
- 存量埋點(diǎn)Owner離職或者轉(zhuǎn)崗,導(dǎo)致大量僵尸埋點(diǎn)信息,與第一個(gè)坑有耦合。
- 老點(diǎn)因?yàn)闃I(yè)務(wù)變動(dòng)導(dǎo)致拓展性差,修復(fù)困難,因此通過新點(diǎn)替代,但牽扯之前業(yè)務(wù),因此老點(diǎn)也無法現(xiàn)在廢除。
而因?yàn)椴樵兤脚_(tái)與文檔的缺失,導(dǎo)致不知道選哪個(gè)可信,以及用不同打點(diǎn)測出來數(shù)據(jù)值差異較大,應(yīng)該信哪個(gè),這時(shí)候的建議可能是看打點(diǎn)時(shí)間,盡量以新的為準(zhǔn),一般來說新的埋點(diǎn)會(huì)更適配當(dāng)下業(yè)務(wù)情況。
3. 埋點(diǎn)雜糅,一個(gè)點(diǎn)位什么都打了
對(duì)于數(shù)據(jù)埋點(diǎn)者,一個(gè)常犯的錯(cuò)誤是將過多的埋點(diǎn)任務(wù)放到一個(gè)urlkey上,并通過子字段進(jìn)行場景或者行為的區(qū)分,這種很多時(shí)候是非常不合理的,比如點(diǎn)擊的打點(diǎn),打的是對(duì)內(nèi)容的點(diǎn)擊行為,但如果把點(diǎn)贊,轉(zhuǎn)發(fā)等行為也記錄在內(nèi),顯然是不合理的。
雖然廣義上點(diǎn)贊也是一種點(diǎn)擊行為,但很少有在業(yè)務(wù)上要對(duì)兩者進(jìn)行統(tǒng)一統(tǒng)計(jì)的情況,更多時(shí)候是分開看點(diǎn)擊和點(diǎn)贊行為,這樣打在一個(gè)點(diǎn)位上,除了給數(shù)據(jù)分析增加不必要的困難,也會(huì)讓點(diǎn)位的維護(hù)變得復(fù)雜困難。
4. 錯(cuò)埋、漏埋頻發(fā)
在數(shù)據(jù)分析中,很大一個(gè)感受就是每次根據(jù)一個(gè)點(diǎn)位做數(shù)據(jù)分析對(duì)比的時(shí)候,總會(huì)發(fā)現(xiàn)點(diǎn)位存在錯(cuò)埋、漏埋的問題,這讓我們數(shù)據(jù)分析的工作變得滯澀,很多時(shí)候都在填之前打點(diǎn)時(shí)留下的坑。
對(duì)于PM來說,一個(gè)忠告是:
千萬不要忽視打點(diǎn)需求的驗(yàn)收環(huán)節(jié)!千萬不要忽視打點(diǎn)需求的驗(yàn)收環(huán)節(jié)!千萬不要忽視打點(diǎn)需求的驗(yàn)收環(huán)節(jié)!
重要的事情說三遍,很多人包括我本人之前,都覺得打點(diǎn)需求相對(duì)比較簡單,寫清楚需求文檔,驗(yàn)收的時(shí)候卻不怎么上心,過分相信了rd和qa,這種惰性也讓我后續(xù)做了多次埋點(diǎn)的補(bǔ)充需求,重復(fù)造輪子。
找到負(fù)責(zé)的rd,仔細(xì)過一遍埋點(diǎn)的觸發(fā)邏輯,點(diǎn)位信息,在和qa一塊showcase時(shí)測試線上環(huán)境下埋點(diǎn)準(zhǔn)確性和全面性,相信我,雖然繁瑣一點(diǎn),但一定是良好的工作習(xí)慣。
我司有一句文化論語:“每個(gè)人都要撿起地上的垃圾”,共勉。
三、數(shù)據(jù)埋點(diǎn)脫坑指南
1. 埋點(diǎn)統(tǒng)一管理:可查可回溯
一個(gè)埋點(diǎn)統(tǒng)一管理的平臺(tái),能夠在你后續(xù)進(jìn)行埋點(diǎn)查詢,數(shù)據(jù)分析的時(shí)候節(jié)省至少50%的人力和精力(數(shù)據(jù)無依據(jù),強(qiáng)調(diào)重要性)。
有一個(gè)優(yōu)秀的埋點(diǎn)平臺(tái)也是不夠的,還需要在打點(diǎn)變動(dòng)時(shí)能夠在平臺(tái)上進(jìn)行更新,而眾所周知,不論是rd還是pm總是缺乏動(dòng)力去做這個(gè)事情的,而且容易忘記,因此應(yīng)該有一種機(jī)制來確保兩者能對(duì)應(yīng),不然久而久之,平臺(tái)查詢的不準(zhǔn),大家對(duì)于平臺(tái)的使用也不能做到放心,喪失其本身的意義。
筆者個(gè)人認(rèn)為,埋點(diǎn)更多還是應(yīng)該需要PM來發(fā)揮owner意識(shí),因?yàn)橛懈鄶?shù)據(jù)分析處理需求的還是PM。
有幾個(gè)可能有效的方法能提升同步的及時(shí)性和準(zhǔn)確性:
- 同步工作前置,埋點(diǎn)變動(dòng)時(shí)需要先在平臺(tái)管理上進(jìn)行提交,才能處理,驗(yàn)收時(shí)必須平臺(tái)上確認(rèn)才能完成驗(yàn)收。
- 分版本review機(jī)制,因?yàn)槁顸c(diǎn)一般需要隨版(端內(nèi)埋點(diǎn)),每次版本開發(fā)完之后,會(huì)有負(fù)責(zé)需求和收益匯總的PM或者PMO,這時(shí)候他其中一項(xiàng)任務(wù)就應(yīng)該是double check埋點(diǎn)管理平臺(tái)是否同步版本埋點(diǎn)變更信息。
2. 埋點(diǎn)方式:基于事件還是基于場景打點(diǎn)題
在這個(gè)部分,想和大家探討一個(gè)問題:
數(shù)據(jù)埋點(diǎn)應(yīng)該基于事件還是基于場景?
我個(gè)人感覺是要基于事件。
基于場景的邏輯是分場景來埋點(diǎn),舉抖音的例子,發(fā)生在推薦頁的打點(diǎn)應(yīng)該是與發(fā)生在關(guān)注頁的區(qū)分,同一個(gè)動(dòng)作,比如點(diǎn)贊,推薦頁點(diǎn)贊應(yīng)該是和關(guān)注頁點(diǎn)贊不是一個(gè)點(diǎn)位。
而基于事件的意思是基于用戶行為,來做大點(diǎn)位的區(qū)分,比如內(nèi)容的曝光,可以打一個(gè)點(diǎn)common_exp,在通過該點(diǎn)位的子字段來對(duì)場景進(jìn)行區(qū)分。
我個(gè)人覺得應(yīng)該基于用戶行為,主要是考慮到不管是哪個(gè)場景的曝光行為,對(duì)于用戶來說,操作方式是一致的,如果分開打復(fù)雜度就變高了。以及管理和整體數(shù)據(jù)分析的維度上,這種埋點(diǎn)方式也比分場景打點(diǎn)更簡單。
3. 埋點(diǎn)范圍:點(diǎn)位的顆粒度應(yīng)該怎么定
當(dāng)然,基于事件埋點(diǎn)也有兩個(gè)問題需要考慮:
1)怎么做到不重不漏?
因?yàn)榛谑录拇螯c(diǎn)是一種歸納方式,那么分類怎么做到不重不漏,就是一門學(xué)問。筆者個(gè)人想法是應(yīng)該在整體埋點(diǎn)之前有一個(gè)清晰的劃分,最好通過腦圖的方式將產(chǎn)品可能涉及到的點(diǎn)位列出來,然后分析點(diǎn)位之間的關(guān)聯(lián)性,再通過分類體系將其串聯(lián)起來。
2)怎么避免一個(gè)點(diǎn)位雜糅,復(fù)雜度太高?
這個(gè)是點(diǎn)位的顆粒度考慮,需要前置了解的是,一個(gè)點(diǎn)位并不是包含越多信息越好,因?yàn)樘珡?fù)雜,點(diǎn)位出錯(cuò)的概率也容易變高,以及后續(xù)進(jìn)行數(shù)據(jù)拆分也更困難。
在此筆者的經(jīng)驗(yàn)有兩點(diǎn):
- 整體埋點(diǎn)之前,做全局思考,盡量做到不重不漏,一個(gè)點(diǎn)位的子字段除了常規(guī)的,特殊的子字段最好不要超過5個(gè)。
- 對(duì)于不太好放到原有埋點(diǎn)體系中的點(diǎn)位,不要硬揉,可以新增點(diǎn)位,而不是直接放到一個(gè)類似的點(diǎn)位,并通過子字段進(jìn)行區(qū)分。
四、近期的一點(diǎn)工作和生活思考
埋點(diǎn)是個(gè)永恒的難題,我們可能很難做到完全清晰,點(diǎn)位還統(tǒng)計(jì)簡單,如果做到了,只有一個(gè)可能:你負(fù)責(zé)的產(chǎn)品業(yè)務(wù)復(fù)雜度不高。
但這也不是我們對(duì)于埋點(diǎn)惰性處理的理由,盡可能的多思考,埋點(diǎn)之前多想兩點(diǎn),都是十分有價(jià)值的。
1. 批評(píng)阻礙進(jìn)一步深度思考
最近看的《李誕脫口秀工作手冊(cè)》中,有這么一段話讓我很是警醒:
批評(píng)家不是一個(gè)體面的職業(yè),還是一個(gè)有害的人格。
我在過往的生活工作中,心里總站著一個(gè)小人,對(duì)于所有覺得不合理不優(yōu)美的事情和人做著無情的吐槽,這就是所謂“批評(píng)家的人格”,這種小人出現(xiàn)的時(shí)候,反映在與人對(duì)話中,就表現(xiàn)成了“我覺得不對(duì),xxx”,縱然很多時(shí)候你提出的問題并沒有問題,但這種思考方式也阻隔了自己進(jìn)步和吸取他人處理事情方式優(yōu)點(diǎn)的道路。
本質(zhì)就是提出問題并不難,而解決問題才是更有價(jià)值和更有利成長的。
2. 同理心體現(xiàn)不僅在與用戶共情,還有跨部門合作時(shí)
在進(jìn)行跨部門合作時(shí),我們應(yīng)該更多像那個(gè)部門的人那樣思考,為什么ta在推行這個(gè)項(xiàng)目時(shí)沒有動(dòng)力?為什么每次和ta溝通,總是在很多點(diǎn)上存在分歧與矛盾,而且額難以調(diào)和?
如果多站在部門合作方的角度去思考問題,才能從更全面更宏觀的角度分析問題,推動(dòng)事情更好的往下。
#專欄作家#
隨心將夜,微信公眾號(hào) : 互聯(lián)網(wǎng)菜鳥產(chǎn)品進(jìn)階之路,人人都是產(chǎn)品經(jīng)理專欄作家。關(guān)注社交賽道和社區(qū)發(fā)展,擅長分析行業(yè)趨勢。
本文由原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
我個(gè)人覺得應(yīng)該基于用戶行為,主要是考慮到不管是哪個(gè)場景的曝光行為,對(duì)于用戶來說,操作方式是一致的,如果分開打復(fù)雜度就變高了。
— 這個(gè)想跟作者探討下,也是看了其他文章里有說對(duì)于一些比較重要的場景,可以單獨(dú)抽出來,因?yàn)槎細(xì)w在一個(gè)行為事件里,會(huì)讓這一個(gè)事件變得非常復(fù)雜。