想看埋點數據?產品經理有必要了解的埋點知識(1)
本文作者將從一個埋點系統設計者的角度通俗系統地講解埋點的全過程,涉及到埋點基礎知識、埋點作用、埋點方法、埋點數據流程、埋點應用、埋點管理等信息。enjoy~
埋點是什么?
埋點是互聯網領域非常重要的數據信息獲取方式。埋點采集信息的過程一般也稱作日志采集。
通俗點講,就是在APP或者web產品中植入一段代碼,監控用戶行為事件(例如某個頁面的曝光)。用戶一旦觸發了該事件,就會上傳埋點代碼中定義的、需要上傳的有關該事件的信息。
常見的信息包括:用戶會話id,用戶id,當前頁面編碼,當前事件編碼,觸發時間,用戶設備id,ip信息等等。
埋點的作用
可以看到,除了像電商購物提交的訂單報表等信息是用戶填寫之后,通過業務數據庫中進行讀取的;用戶在APP或web產品上的行為信息,更多需要靠埋點方式進行獲取。典型的應用場景就是某個運營活動,頁面的點擊量(PV)有多少,點擊用戶數目(UV)有多少,都是用埋點數據進行計算,來對運營活動有數據上的評估。
當然這些信息并不是消費一次就沒有用處了。通過埋點收集到的信息,可以作為監控,看到APP的長期表現,也可以作為基礎原料,進行復雜的運算,用于用戶標簽、渠道轉化分析、個性推薦等等。
埋點種類
按照信息采集發生的位置來分,埋點可分為客戶端埋點、服務端埋點、H5埋點。客戶端埋點即監控APP當地發生事件的埋點,例如APP某頁面曝光,一旦APP客戶端加載了該頁面,客戶端埋點就會發送相應信息;H5埋點可能是在APP中跳轉到的某個H5頁面(如運營活動頁)上的埋點,也可能是web某頁面上的埋點。
下文重點講的是客戶端或H5埋點的方式,服務端埋點一般較少,埋點方式也較為通用。
埋點方式
1、手動埋點
這是埋點最古老的方式。具體的步驟一般是,產品經理在提需求,需要在APP某個頁面的某個事件進行埋點,在這個過程中,產品會對該頁面和事件按照一套規則進行編碼命名(若事件數不多,頁面編碼命名這一層也可以省略),以便后續通過該編碼對上傳上來的信息進行辨認;同時,產品也會將這一埋點需要上傳的參數告知前端開發。開發明確需求后就會進行埋點。
優點:
- 手動埋點方式簡單靈活,來一個埋一個,埋點代碼實現過程對開發來說也較為簡單,不會占用太多時間。
- 可對埋點中需要上傳信息的字段進行個性化選擇,滿足復雜業務場景。例如頁面曝光埋點中,上傳的信息只需要是這個頁面編碼等就可以了,但如果是某個下拉控件的事件,可能上傳的信息中還需要帶上下拉控件后最終選擇了第幾項。
缺點:
- 埋點過多時,大量重復性操作較為枯燥且容易出錯。新版本發布可能要埋100個點,人工手動去埋,總可能出現某一個忘記埋或者某個應該在A處埋的點埋到了B處的情況。
- 溝通成本較高。需要PM和開發確認。
- 埋點周期長。手動埋點如果出現漏埋情況,必須依賴下一版本發版,補上漏埋的那個埋點,才能看到數據。如果新增一個埋點需求,要看數據也只能等下期了。
2、半自動埋點
看了上面的手動埋點描述,可能很多人都會有疑問,所有的埋點都需要手工去埋是否有必要。就比如100個埋點中,可能有80個埋點都是頁面曝光事件,這類埋點非常相似,完全可以用一套埋點手段去解決。那么半自動埋點就是為了解決這種問題,把部分人工的工作進行標準化,做成SDK。阿里埋點實踐中的“黃金令箭”方案就是半自動埋點的典型例子。PM提埋點需求時候,直接將自己申請的埋點進行注冊,調用符合自己要求的埋點SDK,并進行下發,那么APP或web產品中就會集成該段埋點代碼,而不再需要溝通前端開發進行埋點。當然,在半自動埋點不完善的階段,可能調用SDK的工作是由開發完成的。
友盟、神策分析、growing IO等傳統的商用化埋點服務,也均是通過埋點SDK這種手段實現的。另外值得一提的是,近來興起的可視化埋點方案(騰訊MTA、百度移動統計近期也剛新加入了該功能),也算是半自動埋點的一種。通過可視化埋點的方案,PM可以直接看到APP或web產品的界面,在界面上捕捉需要進行埋點的元素如頁面或控件等,再通過可視化的點擊錄入過程,賦予埋點業務含義。也就是說,可視化埋點方案可以通過所見即所得的方式,方便埋點需求方進行埋點。
優點:
- 將通用的埋點方式進行整合,提高埋點效率,通過同一套SDK,埋點上傳的信息也較為規范,便于后續數據處理。
- PM直接調用SDK的方式,使得埋點需求提出過程和埋點過程統一,無需付出復雜勞動,省略了整理埋點需求和溝通的環節,也節約了開發進行埋點的工作量。
- 可視化埋點方案可以更加形象可視地將埋點業務含義和物理代碼連接起來,也可以更清晰直觀看到哪些控件已有注冊埋點。
缺點:
- 同樣存在埋點周期長的問題。如果漏埋還是要等下一版本發布。
- 可視化埋點一般只適用于比較簡單的APP,如果版本過多,顯示的內容不同,需要打開并進行埋點的可視化頁面過多,導致管理混亂。
- 公司自行開發可視化埋點方案成本較高。
3、全自動埋點
全自動埋點在一些宣傳當中也被稱為“無痕埋點”。這種方式和上文的手動和半自動埋點有產生方式上的本質不同。手動和半自動埋點是需求方需要了,才去埋。而全自動埋點則是不管需不需要,將所有的點都埋了。通常這種埋點也是通過SDK實現的,這種SDK不需調用,已經直接嵌入在APP中。因為全自動埋點都是自動生成的,用于對每一個埋點進行標識的埋點編碼也是按照既定規則進行生成。通常這種標識是不可讀的,需要PM和開發溝通,對埋點編碼進行和業務含義上的映射。
全自動埋點方法聽起來挺簡單粗暴,優點和缺點也同樣突出。
優點:
- 根本上解決漏埋問題,縮短埋點周期。
- 無需對頁面、控件是否需要進行埋點做區分,需要數據時直接取數據。
缺點:
- 全自動埋點一套SDK對應一套數據上傳方式,需要盡可能通用,個性化的數據采集無法滿足。一般只能對頁面曝光、關閉,控件點擊這種通用事件進行全自動埋點。
- 全自動埋點覆蓋面廣,數據傳輸壓力大,可能有很多上傳上來的信息是不需要的。
- 和一些半自動埋點中PM可自行通過SDK自助進行埋點相比,全自動埋點仍需要PM和開發溝通。因為全自動埋點中埋點編碼為自動生成,其意義只有開發明白,要想對應到業務含義,必須由開發參與。
- 安卓APP和IOS APP往往是兩組開發人員開發的。全自動埋點這種“埋點創造于開發過程而不是需求過程”的模式,很容易導致同一個埋點事件,其埋點物理編碼在安卓和IOS上是不同的,這就需要埋點需求方花費時間去做對應。對應過程是復雜而艱辛的。
因而,全自動埋點適用于產品比較小,頁面、控件少,上傳的數據也較少的情況。同樣,全自動埋點也可以配合可視化埋點方案,此時可視化頁面中不僅僅是捕捉到頁面或控件,同樣可以顯示其已存在的埋點編碼名稱,埋點需求方可將該不易讀的編碼錄入到可讀的業務含義上。
相關閱讀
本文由 @Chase?原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Pixabay,基于 CC0 協議
大家期待已久的《數據產品經理實戰訓練營》終于在起點學院(人人都是產品經理旗下教育機構)上線啦!
本課程非常適合新手數據產品經理,或者想要轉崗的產品經理、數據分析師、研發、產品運營等人群。
課程會從基礎概念,到核心技能,再通過典型數據分析平臺的實戰,幫助大家構建完整的知識體系,掌握數據產品經理的基本功。
學完后你會掌握怎么建指標體系、指標字典,如何設計數據埋點、保證數據質量,規劃大數據分析平臺等實際工作技能~
現在就添加空空老師(微信id:anne012520),咨詢課程詳情并領取福利優惠吧!
??贊哦,不過里面第二張流程圖和第一張是一樣的哈
請教一下,因為經常發版導致數據不準確,有什么好辦法梳理埋點流程呢,謝謝
如果想獲取用戶行為,是不是需要全埋點?
在我理解你說的用戶行為,是指用戶行為路徑?比如一個頁面到另外一個頁面的流程。
想要獲取用戶行為,需要有兩個保證:1.用戶行為的每一個必要路徑,都被記錄下來;2.用戶行為每一個路徑上的埋點收集到的信息是完整的,滿足我們需求的。
全埋點基本可以保證第一點,能否滿足第二點,看你需要獲取用戶行為的信息的細度,因為全埋點埋的一般比較粗略,獲取的信息比較通用。
另外獲取用戶行為,也不一定要全埋點,只要保證手動埋點(即有針對地埋點)覆蓋了你所需要的用戶行為即可。
如果用戶行為指的是在某頁面上更加細致的前端行為如控件的聚焦、聚焦丟失,記錄指針的X.Y軸 這種,那原始但定制化的手動埋點更能滿足要求
明白了,謝謝 ??