1) 什么是埋點(diǎn)
埋點(diǎn)技術(shù)是一種數(shù)據(jù)采集技術(shù),特指針對(duì)用戶行為或時(shí)間進(jìn)行捕獲壶硅、處理和上報(bào)的相關(guān)技術(shù)及其實(shí)施過程。
2) 埋點(diǎn)模型
埋點(diǎn)模型采用的是事件模型,事件模型描述了一個(gè)人做某件事情所需要的幾個(gè)重點(diǎn)要素:人物(who)编矾、時(shí)間(when)、地點(diǎn)(where)馁害、途徑(how)窄俏、結(jié)果(what),完成對(duì)每個(gè)事件的維度/屬性/字段的采集,對(duì)事件的發(fā)生形成一個(gè)快照.
3) 埋點(diǎn)分類
按端口主要分為: 1.Web埋點(diǎn) 2.APP埋點(diǎn) 3.接口埋點(diǎn)
- Web埋點(diǎn)主要是通過先在Web頁面上注入一段Javascript代碼,然后對(duì)收集的數(shù)據(jù)進(jìn)行上報(bào)的技術(shù). Web埋點(diǎn)技術(shù)經(jīng)歷了網(wǎng)頁信息、增加Cookie碘菜、增加事件三個(gè)階段裆操,在大數(shù)據(jù)運(yùn)營之后,Web埋點(diǎn)更多的關(guān)注事件炉媒,同時(shí)上報(bào)用戶信息踪区,這樣可以對(duì)用戶興趣點(diǎn)進(jìn)行挖掘。
- APP埋點(diǎn)是通過在代碼中注入一段特殊的代碼或者引入一個(gè)SDK,對(duì)APP中的信息進(jìn)行收集的一種技術(shù).
- 接口埋點(diǎn)不同于其他埋點(diǎn),它不是通過數(shù)據(jù)庫系統(tǒng)直接存儲(chǔ),而是通過日志系統(tǒng)存儲(chǔ),然后通過ETL保存到數(shù)據(jù)倉庫. (用于實(shí)時(shí)接口的監(jiān)控,快速發(fā)現(xiàn)接口的異常. 如運(yùn)維的報(bào)警系統(tǒng)很多都是接口埋點(diǎn)實(shí)現(xiàn)的)
按是否可視化分為:1. 代碼埋點(diǎn) 2.可視化埋點(diǎn)(全埋點(diǎn)/無埋點(diǎn))
- 代碼埋點(diǎn):代碼埋點(diǎn)是根據(jù)具體埋點(diǎn)需求進(jìn)行數(shù)據(jù)采集的方式吊骤,分為前端代碼埋點(diǎn)和后端代碼埋點(diǎn). 前端代碼埋點(diǎn)在前端里嵌入SDK代碼,對(duì)于每一個(gè)關(guān)鍵行為,我們需要調(diào)用SDK代碼,將必要的事件名,屬性字段等寫入代碼,然后發(fā)送到后臺(tái)服務(wù)器.后端代碼埋點(diǎn)則將相關(guān)事件和屬性通過后端模塊調(diào)用SDK的方式,發(fā)送到后臺(tái)服務(wù)器. 前端埋點(diǎn)主要采集用戶行為缎岗,后端埋點(diǎn)更多采集的是業(yè)務(wù)數(shù)據(jù)。
- 可視化埋點(diǎn)(全埋點(diǎn)/無埋點(diǎn)) : 全埋點(diǎn)類似于前端埋點(diǎn),不同的是,全埋點(diǎn)通過對(duì)前端界面配置的方式對(duì)關(guān)鍵行為進(jìn)行定義完成圈選過程, 引用SDK, 接下來就會(huì)自動(dòng)完成全面采集.
更多細(xì)節(jié)參考:https://growingio.kf5.com/hc/kb/article/1336131/
https://www.cnblogs.com/fakeCoder/p/9900595.htm
數(shù)據(jù)采集除了埋點(diǎn),還有一個(gè)方法是導(dǎo)入輔助工具,為了減少系統(tǒng)耦合性,我們還可采集日志,數(shù)據(jù)庫的方式生成數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,通過實(shí)時(shí)或批量工具完成數(shù)據(jù)導(dǎo)入.(例如將日志格式的數(shù)據(jù)通過Logagent模塊實(shí)時(shí)傳入后臺(tái)服務(wù)器,也會(huì)采用分布式抓取的方式,定時(shí)將數(shù)據(jù)從源頭下載到數(shù)據(jù)服務(wù)器)
4) 埋點(diǎn)方式的對(duì)比
代碼埋點(diǎn)和全埋點(diǎn)比較:前端埋點(diǎn)和后端埋點(diǎn)比較:
5) 埋點(diǎn)技術(shù)的選擇
公司剛啟動(dòng)白粉,技術(shù)人員少传泊,人員流動(dòng)大,公司初步擴(kuò)張中鸭巴,尚未進(jìn)入精細(xì)化運(yùn)營階段眷细。可以選擇無埋點(diǎn)技術(shù)鹃祖。
項(xiàng)目在天使輪階段之后的融資階段溪椎,業(yè)務(wù)復(fù)雜度高,App應(yīng)用的技術(shù)多樣。使用有埋點(diǎn)技術(shù)校读。
公司流量巨大沼侣,業(yè)務(wù)復(fù)雜度高。需要有埋點(diǎn)技術(shù)和無埋點(diǎn)技術(shù)聯(lián)合使用歉秫。對(duì)無埋點(diǎn)技術(shù)也要進(jìn)行一定的修改蛾洛,上報(bào)階段要通過后臺(tái)配置項(xiàng)進(jìn)行配置上報(bào)。
為了埋點(diǎn)數(shù)據(jù)全&準(zhǔn)的兩個(gè)準(zhǔn)則雁芙,一般可以采取兩種方式組合的方式轧膘,重點(diǎn)業(yè)務(wù)、非重點(diǎn)頁面采用代碼埋點(diǎn)兔甘,重點(diǎn)頁面非重點(diǎn)業(yè)務(wù)采用無埋點(diǎn)扶供,合理分配兩種埋點(diǎn)策略做到不丟不漏在合理的維護(hù)成本范圍內(nèi),盡可能多而全的采集裂明。
6) 埋點(diǎn)上報(bào)如何做到全面
以UI設(shè)計(jì)為底,以業(yè)務(wù)價(jià)值為依據(jù),以事件為起點(diǎn),以'要義'為目標(biāo)進(jìn)行埋點(diǎn),就可以保證目標(biāo)收集的必要和全面
- 依賴交互設(shè)計(jì)圖,任何有交互的元素都要考慮是否埋點(diǎn). 決定是否埋點(diǎn)的依據(jù)是這個(gè)交互是否有業(yè)務(wù)意義.有意義就埋.
- 以事件驅(qū)動(dòng),需要上報(bào)的信息包括事件本身,觸發(fā)事件的用戶信息(包含設(shè)備信息),以及觸發(fā)元素本身所在實(shí)體(對(duì)于客觀世界物體的抽象)的信息. 如我們?cè)陔娚唐脚_(tái)收藏一個(gè)商品,那么點(diǎn)擊收藏的這個(gè)點(diǎn)擊事件就是我們要埋的點(diǎn).