人工智能時(shí)代:如何寫(xiě)一份高質(zhì)量的埋點(diǎn)文檔

在產(chǎn)品規(guī)劃的過(guò)程中,產(chǎn)品經(jīng)理的工作往往需要使用數(shù)據(jù)來(lái)進(jìn)行輔助识埋,例如如何利用用戶的使用數(shù)據(jù)來(lái)為后續(xù)的產(chǎn)品迭代提供依據(jù)绑嘹,如何向上級(jí)領(lǐng)導(dǎo)匯報(bào)產(chǎn)品成果,如何做精細(xì)化的運(yùn)營(yíng)活動(dòng)疾呻,這些都需要通過(guò)埋點(diǎn)文檔獲取的數(shù)據(jù)來(lái)實(shí)現(xiàn)。


一写半、埋點(diǎn)文檔的定義岸蜗、分類以及數(shù)據(jù)平臺(tái)

1、什么是埋點(diǎn)文檔

舉個(gè)簡(jiǎn)單的例子污朽,如何才能知道自已一個(gè)月的收入與支出情況呢散吵?有兩種做法龙考,第一種是每個(gè)月初的時(shí)候看一下自己還有多少存款蟆肆,然后到下個(gè)月月初的時(shí)候再看一下有多少存款,兩者相減就是一個(gè)月的開(kāi)銷情況晦款。

但如果你想知道錢(qián)到底花在哪了炎功,哪里該花哪里該省,你就得有一個(gè)賬本缓溅,定義好一些類別蛇损,例如吃飯,住房坛怪,交通淤齐,服裝等等,然后分門(mén)別類的把收支記錄下來(lái)袜匿,這樣才能有針對(duì)性的對(duì)收支進(jìn)行調(diào)整更啄。

埋點(diǎn)文檔,就是一個(gè)定義好的產(chǎn)品賬本居灯,它記錄的是產(chǎn)品的收支情況祭务,例如哪些功能被哪些用戶使用了多少次内狗,哪些頁(yè)面用戶流失率高,哪些內(nèi)容被哪類用戶喜歡义锥。

2柳沙、埋點(diǎn)文檔的分類

從埋點(diǎn)的分類來(lái)看,埋點(diǎn)分為“前端埋點(diǎn)”和“后端埋點(diǎn)”兩種拌倍,前者是記錄用戶在客戶端的使用數(shù)據(jù)赂鲤,包括但不限于網(wǎng)頁(yè),APP柱恤,PC客戶端等等蛤袒,而后端埋點(diǎn)主要是記錄程序接口的調(diào)用情況,例如接口訪問(wèn)次數(shù)膨更,接口返回各個(gè)狀態(tài)次數(shù)的統(tǒng)計(jì)等等妙真。

產(chǎn)品經(jīng)理通常說(shuō)的埋點(diǎn)文檔指的是前端埋點(diǎn)文檔,前端埋點(diǎn)的優(yōu)勢(shì)是可以事無(wú)巨細(xì)的統(tǒng)計(jì)到用戶的行為數(shù)據(jù)荚守,但前端埋點(diǎn)為了性能考慮珍德,并不會(huì)實(shí)時(shí)上報(bào)數(shù)據(jù),所以注定了前端埋點(diǎn)的數(shù)據(jù)在時(shí)效性和準(zhǔn)確性上不會(huì)做到100%精準(zhǔn)無(wú)誤矗漾。

如果希望統(tǒng)計(jì)的數(shù)據(jù)是實(shí)時(shí)且精準(zhǔn)的锈候,則往往采用接口將數(shù)據(jù)在指定的觸發(fā)條件下上報(bào)至服務(wù)器,這時(shí)候就需要后端埋點(diǎn)來(lái)進(jìn)行統(tǒng)計(jì)了敞贡。

3泵琳、前端埋點(diǎn)的三種方法

目前常見(jiàn)的前端埋點(diǎn)分為三種方法,分別是使用代碼埋點(diǎn)誊役,可視化埋點(diǎn)以及無(wú)埋點(diǎn)获列,我們一個(gè)一個(gè)來(lái)看一下:

代碼埋點(diǎn)

代碼埋點(diǎn)是指在程序中加入用戶統(tǒng)計(jì)數(shù)據(jù)的代碼,當(dāng)指定的觸發(fā)行為發(fā)生的時(shí)候蛔垢,就統(tǒng)計(jì)用戶的使用數(shù)據(jù)击孩,例如,想要統(tǒng)計(jì)某個(gè)活動(dòng)頁(yè)的運(yùn)營(yíng)效果鹏漆,則觸發(fā)行為是用戶點(diǎn)擊活動(dòng)頁(yè)的入口巩梢,并且同時(shí)上報(bào)用戶本身的數(shù)據(jù)例如用戶ID等等。

代碼埋點(diǎn)的好處是可以根據(jù)使用者的需要任意的選擇在什么時(shí)候發(fā)送什么數(shù)據(jù)艺玲,并且可以自定義豐富的數(shù)據(jù)屬性括蝠。而劣勢(shì)則是對(duì)于產(chǎn)品經(jīng)理對(duì)業(yè)務(wù)的理解程度和用戶的理解程度要求較高,需要知道什么數(shù)據(jù)需要被收集饭聚,另外一個(gè)劣勢(shì)是每一次加入埋點(diǎn)代碼都會(huì)帶來(lái)相對(duì)應(yīng)的工作量忌警,每一次更新埋點(diǎn)代碼會(huì)引起新舊版本的不兼容問(wèn)題,因?yàn)榭偸怯幸恍┯脩舨粫?huì)更新到最新的版本(當(dāng)然若治,如果你的產(chǎn)品可以確保每次用戶使用的都是最新版本可以忽視這個(gè)問(wèn)題)

可視化埋點(diǎn)

可視化埋點(diǎn)一般由第三方數(shù)據(jù)平臺(tái)提供慨蓝,可以通過(guò)非常直觀的形式管理數(shù)據(jù)追蹤點(diǎn)感混,通過(guò)圈選頁(yè)面元素來(lái)實(shí)現(xiàn)數(shù)據(jù)的收集,例如下圖是國(guó)內(nèi)數(shù)據(jù)平臺(tái)TalkingData的可視化埋點(diǎn)方案——靈動(dòng)分析


靈動(dòng)分析

可視化埋點(diǎn)的優(yōu)勢(shì)在于每次更新埋點(diǎn)的時(shí)候并不需要等待程序更新礼烈,而是把數(shù)據(jù)統(tǒng)計(jì)的代碼在應(yīng)用程序啟動(dòng)的時(shí)候通過(guò)網(wǎng)絡(luò)更新配置弧满,解決了產(chǎn)品臨時(shí)想要加入或修改埋點(diǎn)的需求。

而可視化埋點(diǎn)的劣勢(shì)此熬,是不能靈活的自定義事件庭呜,只能使用平臺(tái)提供的一些通用性事件,例如點(diǎn)擊次數(shù)犀忱,如果產(chǎn)品希望收集到用戶在文本框中輸入的內(nèi)容募谎,或者產(chǎn)品需要做大數(shù)據(jù)分析或人工智能推薦系統(tǒng),可視化埋點(diǎn)方案是無(wú)法支持這樣的數(shù)據(jù)收集能力的阴汇。

無(wú)埋點(diǎn)

無(wú)埋點(diǎn)方案又叫全埋點(diǎn)方案数冬,是盡可能的收集所有控件的操作數(shù)據(jù),然后通過(guò)界面配置的方式添加一些需要統(tǒng)計(jì)的數(shù)據(jù)搀庶。

這種方案的好處是可以解決數(shù)據(jù)的回溯問(wèn)題拐纱,即使之前的版本沒(méi)有對(duì)某一個(gè)控件做精確的埋點(diǎn),那么全埋點(diǎn)方案也一樣會(huì)收集這個(gè)控件的數(shù)據(jù)哥倔,當(dāng)后續(xù)有數(shù)據(jù)分析需要的時(shí)候就可以調(diào)出數(shù)據(jù)來(lái)查看了秸架,

當(dāng)然,無(wú)埋點(diǎn)的劣勢(shì)跟可視化埋點(diǎn)一樣咆蒿,不能靈活的自定義事件东抹,僅能用戶分析用戶在產(chǎn)品中的交互行為,且因?yàn)樗械氖录荚谑占植猓袝r(shí)候會(huì)產(chǎn)生大量不必要的數(shù)據(jù)缭黔,給服務(wù)器帶來(lái)很多負(fù)載。

綜上所述芽突,在三種埋點(diǎn)方案中试浙,能最全面滿足產(chǎn)品需要的還是代碼埋點(diǎn)方案董瞻,所以本文重點(diǎn)介紹代碼埋點(diǎn)的文檔撰寫(xiě)寞蚌。

二、如何寫(xiě)埋點(diǎn)文檔

1钠糊、選擇數(shù)據(jù)平臺(tái)

絕大多數(shù)公司的前端埋點(diǎn)會(huì)使用第三方數(shù)據(jù)平臺(tái)來(lái)進(jìn)行挟秤,極少數(shù)的大公司會(huì)有自己開(kāi)發(fā)的數(shù)據(jù)平臺(tái),不想自己開(kāi)發(fā)但又想確保數(shù)據(jù)安全的公司會(huì)選擇購(gòu)買數(shù)據(jù)平臺(tái)進(jìn)行私有化部署抄伍。

知名的第三方數(shù)據(jù)平臺(tái)有國(guó)外的Google Analytics艘刚、Mixpanel,國(guó)內(nèi)的有百度統(tǒng)計(jì)截珍、友盟攀甚、Talkingdata箩朴、諸葛IO,神策數(shù)據(jù),還有專注于游戲領(lǐng)域的dataeye等等秋度。

通常來(lái)講埋點(diǎn)平臺(tái)選擇一家即可炸庞,但因?yàn)榍岸寺顸c(diǎn)非實(shí)時(shí)性和精確度不高的特點(diǎn),也會(huì)有公司在產(chǎn)品中同時(shí)使用兩個(gè)埋點(diǎn)平臺(tái)荚斯,用兩個(gè)平臺(tái)收集的數(shù)據(jù)來(lái)做相互的印證埠居,提高數(shù)據(jù)的準(zhǔn)確性,不過(guò)這種做法會(huì)帶來(lái)額外的工作量事期,建議謹(jǐn)慎選擇滥壕。

2、查看平臺(tái)技術(shù)文檔

選擇好平臺(tái)之后兽泣,第二步就是要查看平臺(tái)提供的技術(shù)接入文檔绎橘,不同的平臺(tái)對(duì)于數(shù)據(jù)上報(bào)可能會(huì)有不同的限制,同時(shí)字段的命名也可能有一定的差異唠倦,所以需要通過(guò)查看平臺(tái)提供的技術(shù)文檔來(lái)了解這些信息金踪。

下面我們就用Talkingdata的文檔來(lái)舉例,首先點(diǎn)擊官網(wǎng)中的文檔中心


進(jìn)入文檔中心后我們會(huì)看到有很多的產(chǎn)品服務(wù)牵敷,包括APP胡岔、游戲,廣告等等枷餐。我們點(diǎn)擊第一個(gè)App Analytics的集成文檔查看APP數(shù)據(jù)統(tǒng)計(jì)的技術(shù)文檔靶瘸。


進(jìn)到集成文檔之后,首先看到左邊畫(huà)紅框并且標(biāo)注1的部分毛肋,這里是各個(gè)不同客戶端的文檔怨咪,對(duì)應(yīng)的是不同的開(kāi)發(fā)語(yǔ)言,這個(gè)我們就不用一個(gè)一個(gè)去看了润匙,因?yàn)槠脚_(tái)給不同客戶端提供的數(shù)據(jù)統(tǒng)計(jì)功能都是一樣的诗眨,只是各個(gè)客戶端編程語(yǔ)言不一樣所以需要這么多,我們就以第一個(gè)iOS平臺(tái)為例來(lái)講孕讳。


然后我們看到右邊紅框標(biāo)注2的部分匠楚,這部分是在教開(kāi)發(fā)人員怎么把數(shù)據(jù)統(tǒng)計(jì)的功能快速集成到自己的app里面,我們?nèi)绻亲鲆豢顝?到1的產(chǎn)品厂财,要做數(shù)據(jù)統(tǒng)計(jì)芋簿,只要告訴開(kāi)發(fā)同事,我們要使用哪個(gè)平臺(tái)璃饱,然后他就會(huì)自己找到這個(gè)技術(shù)文檔來(lái)看与斤,我們不用去操心這部分的事情。

右邊紅框標(biāo)注3的部分,是一些基礎(chǔ)的統(tǒng)計(jì)功能撩穿,比如說(shuō)新增用戶數(shù)磷支,活躍用戶數(shù),7日留存食寡,版本升級(jí)情況齐唆,這些數(shù)據(jù)只要你的產(chǎn)品完成了標(biāo)注2的那些事情之后,數(shù)據(jù)平臺(tái)就會(huì)幫你自動(dòng)統(tǒng)計(jì)好冻河。等產(chǎn)品上線之后直接到這個(gè)數(shù)據(jù)平臺(tái)來(lái)看數(shù)據(jù)就好了箍邮。

重點(diǎn)是紅框標(biāo)注4的部分,高級(jí)功能中的自定義事件叨叙,我們的埋點(diǎn)文檔主要也就是為這個(gè)功能服務(wù)的锭弊。而靈動(dòng)事件就是之前提到的可視化埋點(diǎn),這里我們省略不做說(shuō)明擂错。


埋點(diǎn)技術(shù)文檔

三味滞、埋點(diǎn)文檔實(shí)例

通過(guò)查看埋點(diǎn)技術(shù)文檔,我們可以知道Talkingdata使用EventID來(lái)記錄自定義事件的名稱钮呀,使用Label來(lái)記錄自定義事件下的多個(gè)追蹤項(xiàng)剑鞍,所以EventID+Label就組成了一個(gè)具體的事件名稱。

在實(shí)際工作中爽醋,因各家公司使用的數(shù)據(jù)平臺(tái)不同蚁署,所以埋點(diǎn)文檔并沒(méi)有形成一個(gè)統(tǒng)一的規(guī)范。我習(xí)慣于將EventID用于記錄某一個(gè)頁(yè)面蚂四,以Label記錄該頁(yè)面下的某個(gè)事件光戈,以此達(dá)到對(duì)用戶行為進(jìn)行歸類的目的,我們用“人人都是產(chǎn)品經(jīng)理”APP的首頁(yè)來(lái)做一個(gè)說(shuō)明遂赠,看一下


人人都是產(chǎn)品經(jīng)理
1久妆、EventID

在第一列的EventID筷弦,我們定義頁(yè)面的ID號(hào)和名字烂琴,這里我采用的是英文字母+兩位數(shù)字的方式,可以通過(guò)英文字母區(qū)分不同的業(yè)務(wù)模塊,數(shù)字區(qū)分不同的頁(yè)面称簿。

2父虑、Label

第二列Label字段,定義的是用戶在這個(gè)頁(yè)面上的使用行為莱衩,因?yàn)長(zhǎng)abel是從屬于前面EventID的娇澎,所以在功能點(diǎn)編號(hào)上也要繼承前面的編號(hào)趟庄,例如閱讀頁(yè)的EventID是A01戚啥,那么閱讀頁(yè)下面的事件就是A01加上兩位數(shù)的編號(hào)猫十,這樣可以很方便的查看事件的從屬頁(yè)面炫彩,特別是當(dāng)有同一個(gè)事件在多個(gè)頁(yè)面重復(fù)被調(diào)用的時(shí)候昨忆。如果兩位數(shù)的編號(hào)不夠的話可以再增加位數(shù)。

另外一個(gè)需要注意的點(diǎn)是拢驾,如果某個(gè)點(diǎn)擊事件是進(jìn)入到了EventID的子頁(yè)面,那么這個(gè)事件Label的編號(hào)就自動(dòng)變?yōu)檫@個(gè)EventID的編號(hào)稠腊,這樣可以很好的體現(xiàn)上級(jí)頁(yè)面與下級(jí)頁(yè)面的從屬關(guān)系架忌。
但如果一個(gè)頁(yè)面可以由多個(gè)Label事件進(jìn)入吞彤,那么就不用這么處理叹放,而是直接使用一個(gè)公共的編號(hào)就可以了。

例如做一個(gè)電商系統(tǒng)的埋點(diǎn)埋嵌,商品的詳情頁(yè)可以從A01-banner,從A02-廣告糕档,從A03-商品列表莉恼,從A04-搜索速那,從A05-收藏等等入口進(jìn)入捶惜,在不同的頁(yè)面中這些入口的Label編號(hào)肯定是不一樣,但商品詳情頁(yè)的EventID是唯一的鹤竭。

3吝岭、上報(bào)時(shí)機(jī)

第三列上報(bào)時(shí)機(jī)字段,需要說(shuō)明這個(gè)埋點(diǎn)事件根據(jù)什么條件來(lái)觸發(fā)吧寺,通常來(lái)講分為顯示時(shí)觸發(fā)和操作時(shí)觸發(fā)兩種窜管,前者看的是曝光量,后者看的是轉(zhuǎn)化量稚机,當(dāng)有了全量的數(shù)據(jù)之后就可以用來(lái)構(gòu)建曝光-轉(zhuǎn)化的漏斗模型了幕帆。

對(duì)于平臺(tái)之間差異化較小或沒(méi)有差異的產(chǎn)品,例如iOS和安卓如果功能頁(yè)面交互都一致赖条,那么可以共用同一份埋點(diǎn)文檔失乾,但如果產(chǎn)品分布的平臺(tái)較多常熙,互相之間差異較大,例如既有手機(jī)APP又有PC客戶端還有網(wǎng)頁(yè)版仗扬,那么最好分不同平臺(tái)來(lái)撰寫(xiě)不同的埋點(diǎn)文檔症概。

4蕾额、上線時(shí)間

第四列上線時(shí)間早芭,這個(gè)字段是說(shuō)明該埋點(diǎn)是什么時(shí)候上線的,有些團(tuán)隊(duì)會(huì)用版本號(hào)來(lái)說(shuō)明上線時(shí)間诅蝶,但我認(rèn)為版本號(hào)有幾個(gè)弊端退个,一是如果產(chǎn)品不同平臺(tái)的版本號(hào)碼不一致,會(huì)導(dǎo)致混亂调炬,二是版本號(hào)無(wú)法體現(xiàn)埋點(diǎn)的生效時(shí)間语盈,需要通過(guò)歷史的產(chǎn)品文檔查找到對(duì)應(yīng)的功能才能知道,不夠直觀缰泡,所以我這邊選擇使用上線時(shí)間來(lái)作為埋點(diǎn)的生效時(shí)間刀荒。

5、優(yōu)先級(jí)

第五列是優(yōu)先級(jí)棘钞,因?yàn)榇a埋點(diǎn)需要開(kāi)發(fā)人員花費(fèi)時(shí)間來(lái)進(jìn)行代碼的編寫(xiě)缠借,所以與功能需求池一樣,需要標(biāo)注埋點(diǎn)的優(yōu)先級(jí)宜猜,以便開(kāi)發(fā)人員根據(jù)優(yōu)先級(jí)來(lái)評(píng)估工作量泼返。我這里使用的是騰訊對(duì)于需求優(yōu)先級(jí)的排列習(xí)慣,以P0為優(yōu)先級(jí)最高姨拥。

最后一列是備注列绅喉,通常用來(lái)做一些備注的說(shuō)明,例如某個(gè)埋點(diǎn)事件可以不再統(tǒng)計(jì)了,就可以寫(xiě)在備注說(shuō)明里面叫乌。

四柴罐、自定義事件

如果僅僅只是按照這樣撰寫(xiě)埋點(diǎn)文檔,只能統(tǒng)計(jì)到事件發(fā)生的次數(shù)憨奸。而代碼埋點(diǎn)的核心是自定義事件的屬性革屠,也就是在上報(bào)事件的時(shí)候,同時(shí)上報(bào)這個(gè)事件定義的屬性膀藐。

還是拿人人都是產(chǎn)品經(jīng)理的APP來(lái)舉例屠阻,首頁(yè)上有很多文章,所以會(huì)有一個(gè)點(diǎn)擊查看文章詳情的事件额各,但是要想統(tǒng)計(jì)到誰(shuí)在什么時(shí)間點(diǎn)擊了一篇什么文章国觉,以便分析用戶的喜好和使用習(xí)慣,就需要通過(guò)定義數(shù)據(jù)字典來(lái)給自定義事件添加用戶是誰(shuí)虾啦,點(diǎn)擊事件麻诀,點(diǎn)擊的文章ID這三個(gè)屬性痕寓。

1、什么是數(shù)據(jù)字典

數(shù)據(jù)字典是用來(lái)定義自定義事件屬性的文檔蝇闭,通常和埋點(diǎn)文檔放在一起通常有以下幾個(gè)字段


數(shù)據(jù)字典
KEY

Key是數(shù)據(jù)字典的核心內(nèi)容呻率,表示的是屬性的名稱,例如如果要記錄用戶的ID呻引,那么就需要定義一個(gè)名為User_ID的key,如果是記錄文章的標(biāo)題礼仗,則需要定義一個(gè)名為T(mén)itle的key。

注釋

對(duì)于key字段的解釋逻悠,用來(lái)說(shuō)明key值代表的是什么元践,便于后續(xù)的查詢。

數(shù)據(jù)類型

數(shù)據(jù)類型分為名義數(shù)據(jù)童谒、等級(jí)數(shù)據(jù)和連續(xù)數(shù)據(jù)三種单旁,這三個(gè)數(shù)據(jù)類型的定義是基本的統(tǒng)計(jì)學(xué)知識(shí),本文略去不表饥伊,標(biāo)注數(shù)據(jù)的類型有助于后續(xù)的數(shù)據(jù)分析工作象浑,

Value

Value是Key對(duì)應(yīng)的值,有一些Key對(duì)應(yīng)的是不確定的值琅豆,例如User_ID愉豺,有多少個(gè)用戶就有多少個(gè)值,所以Value可以為空趋距。但有一些Key的Value是限制在一定范圍內(nèi)的粒氧,所以需要事先對(duì)Value的可選擇值作出定義,例如如果想統(tǒng)計(jì)一篇文章是否讀完节腐,可以定義一個(gè)Is_Read_Off的Key外盯,那么對(duì)應(yīng)的value值只有兩個(gè),是或否翼雀。

全局字段Global

在數(shù)據(jù)統(tǒng)計(jì)的過(guò)程中饱苟,有一些key值是需要所有的事件都要進(jìn)行統(tǒng)計(jì)的,典型的例如用戶的ID狼渊,為了節(jié)省時(shí)間箱熬,可以將這些key值定義為全局字段,這樣就可以不用在每個(gè)事件當(dāng)中重復(fù)填寫(xiě)了狈邑。

2城须、如何給key命名

在給數(shù)據(jù)字典的key命名的時(shí)候,建議可以使用程序員給字段變量取名的常用方法米苹,主要有兩種:

駝峰命名法

駝峰命名法是最常用的命名方法之一糕伐,第一個(gè)單詞以小寫(xiě)字母開(kāi)始;從第二個(gè)單詞開(kāi)始以后的每個(gè)單詞的首字母都采用大寫(xiě)字母,例如userName蘸嘶,這種駝峰命名法又叫小駝峰法良瞧。而大駝峰法陪汽,則是把第一個(gè)單詞的首字母也大寫(xiě),例如UserName

下劃線命名法

而下劃線命名法就顧名思義褥蚯,是在多個(gè)單詞之間使用下劃線來(lái)進(jìn)行分割挚冤,例如如果定義用戶名為UserName,那么用下劃線命名法則會(huì)寫(xiě)為User_Name

我個(gè)人傾向于大駝峰+下劃線的寫(xiě)法赞庶,當(dāng)然训挡,并沒(méi)有強(qiáng)制的要求說(shuō)字段命名一定要這么寫(xiě),甚至寫(xiě)拼音也可以(就是顯得有點(diǎn)low)尘执。這兩種命名方法是一種約定俗成的規(guī)則舍哄,只是如果你這么寫(xiě)的話宴凉,負(fù)責(zé)埋點(diǎn)的開(kāi)發(fā)GG會(huì)覺(jué)得你很專業(yè)誊锭。

3、將自定義事件的屬性添加至事件中

基于這份數(shù)據(jù)字典弥锄,我們就可以給自定義事件添加屬性了丧靡,在原有的埋點(diǎn)文檔上添加一列Key/Value字段,然后把要添加的屬性加入到事件對(duì)應(yīng)的行就可以了籽暇。


添加Key/Vlaue字段

如果要統(tǒng)計(jì)的屬性很多温治,可以使用分號(hào)或者換一行來(lái)描述,同時(shí)也可以在每一行后面寫(xiě)上這個(gè)屬性是用來(lái)統(tǒng)計(jì)什么內(nèi)容的戒悠,方便負(fù)責(zé)埋點(diǎn)的開(kāi)發(fā)同事了解屬性的內(nèi)容熬荆。如下圖所示:

五、埋點(diǎn)文檔注意事項(xiàng)

1. 埋點(diǎn)文檔只可增加绸狐,不可修改和刪除

埋點(diǎn)文檔不同于產(chǎn)品經(jīng)理的其他文檔卤恳,像PRD文檔一般都是只寫(xiě)本次迭代的內(nèi)容,但埋點(diǎn)文檔需要自始至終都在原有的基礎(chǔ)上進(jìn)行填寫(xiě)寒矿,且不能對(duì)原有的埋點(diǎn)進(jìn)行修改或刪除突琳。為什么呢?舉個(gè)例子符相。

假設(shè)我們現(xiàn)在有一個(gè)編號(hào)A01的功能點(diǎn)拆融,對(duì)應(yīng)的事件是點(diǎn)擊了某一篇文章,對(duì)應(yīng)的版本號(hào)是1.0版本啊终,到了1.1版本的時(shí)候镜豹,我把原來(lái)A01編號(hào)的功能點(diǎn)從點(diǎn)擊了某一篇文章改了一下,變成了點(diǎn)擊搜索按鈕蓝牲,那么問(wèn)題就出現(xiàn)了趟脂,還沒(méi)有升級(jí)到1.1版本的用戶,也就是那些1.0版本的用戶搞旭,他們點(diǎn)擊文章的時(shí)候依然會(huì)使用A01的編號(hào)來(lái)上傳數(shù)據(jù)散怖,而更新到1.1版本的用戶菇绵,點(diǎn)擊搜索按鈕的時(shí)候,也在用A01編號(hào)來(lái)上傳镇眷,這就會(huì)導(dǎo)致A01這個(gè)編號(hào)同時(shí)記錄了兩個(gè)版本不同行為的數(shù)據(jù)咬最,導(dǎo)致數(shù)據(jù)不準(zhǔn)確。

因?yàn)楫a(chǎn)品無(wú)法保證每個(gè)使用者都在使用同一版本欠动,所以埋點(diǎn)文檔不可以修改永乌,也不可以刪除,因?yàn)榧词箯穆顸c(diǎn)文檔中刪除了具伍,已經(jīng)上線了的統(tǒng)計(jì)代碼是不會(huì)刪除的翅雏。刪除某個(gè)埋點(diǎn)文檔可能會(huì)導(dǎo)致這個(gè)事件依然在上報(bào),但后續(xù)的產(chǎn)品經(jīng)理卻不知道這是個(gè)什么事件了人芽。

如果要對(duì)埋點(diǎn)文檔進(jìn)行刪減望几,只能在備注中標(biāo)明,該埋點(diǎn)已于xx時(shí)間廢棄萤厅。

2. 事件必須獨(dú)立

為了確保埋點(diǎn)的準(zhǔn)確性橄抹,需要讓不同的事件之間相互獨(dú)立,例如APP頁(yè)面中的返回事件惕味,要統(tǒng)計(jì)該頁(yè)面的蹦失率(Bounce Rate)就需要統(tǒng)計(jì)有多少人點(diǎn)了返回按鈕楼誓,但是每個(gè)頁(yè)面可能都有返回按鈕,如果只把Lable寫(xiě)成“返回”則很有可能會(huì)與其他頁(yè)面的返回相互混淆名挥,造成數(shù)據(jù)結(jié)果不正確疟羹,這個(gè)問(wèn)題我們已經(jīng)通過(guò)給每個(gè)EventID和Label加上唯一編碼解決了。

另外一個(gè)注意點(diǎn)之前也提到過(guò)禀倔,就是通用的頁(yè)面事件需保持唯一的編號(hào)榄融,而不是用多個(gè)編號(hào)去統(tǒng)計(jì)同一個(gè)事件,造成數(shù)據(jù)的分散蹋艺。如果有一個(gè)通用的頁(yè)面可以通過(guò)不同的入口進(jìn)入剃袍,那么可以在這個(gè)頁(yè)面的事件中加入一個(gè)From_page的屬性,來(lái)記錄是從哪個(gè)入口進(jìn)入到這個(gè)通用頁(yè)面中來(lái)的捎谨。

3. 數(shù)據(jù)字典不重復(fù)

在一個(gè)大型的團(tuán)隊(duì)中可能會(huì)有多個(gè)產(chǎn)品經(jīng)理一起維護(hù)一份埋點(diǎn)文檔民效,為了確保每個(gè)事件屬性的含義保持一致,所以數(shù)據(jù)字典中的每一個(gè)key也都是唯一的涛救,如果自己需要的key已經(jīng)由其他人定義好了畏邢,則可以直接拿過(guò)來(lái)使用。如果要定義之前沒(méi)有出現(xiàn)過(guò)的key检吆,則只需要在數(shù)據(jù)字典中添加舒萎,然后同步給其他產(chǎn)品經(jīng)理即可。

4. 注意平臺(tái)限制

不同的埋點(diǎn)平臺(tái)可能對(duì)于事件和屬性有上限的限制蹭沛,例如友盟平臺(tái)一個(gè)APP只能記錄500個(gè)事件臂寝,每個(gè)事件只能定義10個(gè)屬性章鲤,而talkingdata的事件是可以無(wú)上限記錄的,每個(gè)事件可以記錄50個(gè)屬性咆贬,所以大家在撰寫(xiě)埋點(diǎn)文檔的時(shí)候败徊,一定要注意自己選擇的平臺(tái)是否對(duì)于事件有限制規(guī)則,以免出現(xiàn)無(wú)法記錄的情況出現(xiàn)掏缎。

5. 埋點(diǎn)測(cè)試

埋點(diǎn)代碼編寫(xiě)完成后需要對(duì)埋點(diǎn)進(jìn)行測(cè)試皱蹦,這個(gè)過(guò)程一般是和測(cè)試同事一起進(jìn)行,用來(lái)確保埋點(diǎn)的數(shù)據(jù)上報(bào)正確眷蜈,該統(tǒng)計(jì)的屬性也都添加成功了沪哺。

總結(jié)

對(duì)于產(chǎn)品經(jīng)理來(lái)說(shuō),埋點(diǎn)的數(shù)據(jù)不僅僅是用于分析用戶的行為酌儒,它更是很多功能的基礎(chǔ)辜妓,例如有了埋點(diǎn)的數(shù)據(jù)才可以做產(chǎn)品報(bào)表,或者可以通過(guò)埋點(diǎn)構(gòu)建大數(shù)據(jù)用戶畫(huà)像今豆,用于Ai推薦系統(tǒng)嫌拣,亦或者是分析渠道的優(yōu)劣對(duì)運(yùn)營(yíng)作出指導(dǎo)。

以上就是對(duì)埋點(diǎn)文檔的一點(diǎn)經(jīng)驗(yàn)呆躲,希望能對(duì)你有所幫助,大家有什么看法也歡迎在評(píng)論區(qū)討論捶索。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末插掂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腥例,更是在濱河造成了極大的恐慌辅甥,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燎竖,死亡現(xiàn)場(chǎng)離奇詭異璃弄,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)构回,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)夏块,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人纤掸,你說(shuō)我怎么就攤上這事脐供。” “怎么了借跪?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵政己,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我掏愁,道長(zhǎng)歇由,這世上最難降的妖魔是什么卵牍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮沦泌,結(jié)果婚禮上辽慕,老公的妹妹穿的比我還像新娘。我一直安慰自己赦肃,他們只是感情好溅蛉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著他宛,像睡著了一般船侧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厅各,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天镜撩,我揣著相機(jī)與錄音,去河邊找鬼队塘。 笑死袁梗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的憔古。 我是一名探鬼主播遮怜,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鸿市!你這毒婦竟也來(lái)了锯梁?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤焰情,失蹤者是張志新(化名)和其女友劉穎陌凳,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體内舟,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡合敦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了验游。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片充岛。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖批狱,靈堂內(nèi)的尸體忽然破棺而出裸准,到底是詐尸還是另有隱情,我是刑警寧澤赔硫,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布炒俱,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏权悟。R本人自食惡果不足惜砸王,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峦阁。 院中可真熱鬧谦铃,春花似錦、人聲如沸榔昔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撒会。三九已至嘹朗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诵肛,已是汗流浹背屹培。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怔檩,地道東北人褪秀。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像薛训,于是被迫代替她去往敵國(guó)和親媒吗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 每天進(jìn)步一點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)~~從開(kāi)始只能寫(xiě)幾句話许蓖、模仿別人的觀點(diǎn)蝴猪,到現(xiàn)...
    一個(gè)帥氣的名字呀閱讀 18,083評(píng)論 4 31
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,928評(píng)論 2 89
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)膊爪。 注意:講述HT...
    kismetajun閱讀 27,474評(píng)論 1 45
  • 一、埋點(diǎn)技術(shù) 代碼埋點(diǎn): 所謂的代碼埋點(diǎn)就是在你需要統(tǒng)計(jì)數(shù)據(jù)的地方植入N行代碼嚎莉,統(tǒng)計(jì)用戶的關(guān)鍵行為米酬。比如你想統(tǒng)計(jì)首...
    四姑娘山的稻城閱讀 71,793評(píng)論 3 95
  • 今天,一家三口出門(mén)趋箩,哥哥一人在家看完電影赃额,然后自己去奶奶那,然后在老院區(qū)和樓下的孩子玩了整整一天叫确,晚上回...
    修桃閱讀 184評(píng)論 0 0