所謂埋點就是在應用程式中特定的流程收集一些資訊,用來追蹤應用程式的使用狀況,後續用來進一步優化產品或是提供營運的數據支撐,包括訪問(Visits)、訪客(Visitor)、停留時間(Time On Site)、頁面查看(Page Views,又稱為頁面瀏覽)和跳出率(Bounce Rate,又可稱為蹦失率)。這樣的資訊收集可以大致分為兩種:頁面統計(track this virtual page view),統計操作行為(track this button by an event)。
1. 關鍵指標
我們先看看無論是 APP 還是 H5 都會關注的指標,了解這些指標的計算方法的細微差異以及複雜性,換個角度來思考埋點的意義。【源自:精通 Web Analytics 2.0】
1.1 訪問與訪客
訪問(Visits)與訪客(Vistors)是幾乎所有應用程式都需要統計的指標,這也是最基本的指標。

對於應用程式的統計來說,希望統計的是訪客(Vistors)。訪問(Visits)是指工作階段層,使用者打開應用程式花一段時間瀏覽又離開,從指標定義來說這稱之為一個工作階段(Session)。一次工作階段(Session 或 Visit)是由打開應用程式的第一個請求(打開應用程式)和最後一個請求決定的。如果使用者打開應用程式然後放下手機或是離開電腦,並在接下來 30 分鐘內沒有任何動作,此次工作階段自動結束,算作一次訪問或工作階段期。

在計算訪客時,埋點上報的數據是儘可能接近真實訪客的人數。對於獨立訪客這個指標,這裡還是需要強調一下,獨立訪客數並不是真實獨立的人,因此收集數據時必須知道獨立訪客雖然能夠很好地反映使用應用程式的真實訪問者數量,但不等於使用應用程式的真實人數。
原因是,重複安裝的應用程式,或是手機參數被修改都會使得獨立訪客的指標受到影響。獨立訪客的埋點都是依賴 Cookie,使用者打開應用程式,應用程式都會在此人的終端建立一個獨立 Cookie,Cookie 會被保留,但還是難免會被使用者手動清理或是 Cookie 被禁用導致同一使用者使用應用程式 Cookie 不一致,所以獨立訪客只能高度接近於使用應用程式的真實人數。
1.2 停留時長
停留時長用來衡量使用者在應用程式的某一個頁面或是一次訪問(工作階段)所停留的時間。

頁面停留時長,表示在每個頁面所花費的時間;例如:首頁就是進入首頁(10:00)到離開首頁進入下一個頁面(10:01)的時長,首頁停留時長計算為 1 分鐘。頁面 A 是 2 分鐘。頁面 B 進入時間(10:03),離開時間沒有記錄,這時候計算就是 0 ,這種特殊情況的處理是需要在埋點特別注意的,還是那句話,不要嘗試收集絕對精準的數據,要學會使用不全的數據,活學活用。
應用程式的停留時長,表示一次訪問(工作階段)所停留的時間,計算起來就是所有頁面的訪問時長,同樣是上一個流程,應用程式的停留時長就是 4 分鐘。
1.3 跳出率
跳出率的計算方法現在在各個公司還是很多種,最經常被使用的是:單一頁面訪問的所佔的工作階段比例。這種場景意味著使用者來了訪問了一個頁面就離開了,想想使用者使用的心理畫面應該是:打開應用程式,心想什麼鬼,然後關閉應用程式甚至卸載了。這個場景多可怕,這也是為什麼跳出率指標被如此關注。
跳出率可以分解到兩個層次:一是整個應用程式的跳出率,二是重點的著陸頁的跳出率,甚至是搜尋關鍵詞的跳出率。跳出率的指標可操作性非常強,透過統計跳出率可以直接發現頁面的問題發現關鍵詞的問題。
1.4 退出率
退出率是針對頁面的,這個指標的目標很簡單,就是在某個頁面有多少使用者離開這個頁面,主要用於反映使用者從應用程式離開的情況。哪些頁面需要被改進最快的方式被發掘。(有些流程中設定走完標準流程,退出率最高的在標準流程的最後的頁面反映的是正向呢,不要認為退出率高都是壞的事情哦)

1.5 轉化率
我們在產品上投入這麼多,不就是為了衡量產出嗎?所以對於電商類應用程式,還有比轉化率更值得關注的指標嗎?轉化率的計算是某種產出除以獨立訪客或是訪問量,對於電商產品來說,就是提交訂單使用者數除以獨立訪客。
轉化率的計算看起來相當簡單,但卻是埋點中最貼近業務的數據收集。這也是最能體現埋點技巧的指標,需要結合業務特點制定計算方法。提交訂單量/訪客數是最基本的轉化率,轉化率還可以分層次,指定使用者路徑的,如:完成某條路徑的提交訂單數/訪客數。
試著找一條路徑,想想轉化率的數據怎麼得來的吧,埋點都收集了什麼樣的數據吧?
1.6 參與度
參與度並不是一個指標,而是一系列的指標,訪問深度、訪問頻次這些都是衡量參與度的指標。之所以把參與度列為一個指標,是希望大家明白把指標組合後續產生化學反應,發現事物的本質。


2. 數據埋點的方式
現在埋點的主流有兩種方式:
第一種:自己公司研發在產品中注入程式碼統計,並搭建起相應的後台查詢。
第二種:第三方統計工具,如友盟、百度移動、魔方、App Annie、talking data 等。
如果你的數據來自第二種,那你使用的工具也應該是第三方統計工具,後續沒啥數據產品了,好好用這些產品吧。這裡說說第一種的埋點方式吧,怎麼數據埋點,就需要根據自己產品的任務流及產品目標來設計。
2.1 前端埋點
程式碼埋點出現的時間很早,在 Google Analytics 年代,就已經出現了類似的方案。目前,國內的主要第三方數據分析服務商,如百度統計、友盟、TalkingData 等都提供 iOS、Android、Web 等主流平台的程式碼埋點方案。原理就是在 APP 或者介面初始化的時候,初始化數據分析的 SDK,然後在某個事件發生時就呼叫 SDK 裡面相應的數據發送介面發送數據。現在業界有吹噓無埋點的其實並不是沒有埋點,而是不需要手動埋點,其實是從接入 SDK,數據就一直都在收集。有興趣讀一讀提供的 SDK,會更了解前端的埋點,收集的資訊。包括現在也有了不斷的演化統計埋點的那些事。
2.2 後端埋點
後端埋點也就是伺服器端埋點,除了將介面的日誌記錄下來,在介面附加一些參數進行逐層傳遞將資訊串聯,因為需要依賴介面的改造通常被用來補充前端埋點不能實現的統計,大部分自己公司的數據統計都是前後端埋點並存。
3. 埋點的內容
看完關鍵的這些指標後,有沒有發現埋點的來源也大致分為兩部分,一部分是統計應用程式頁面訪問情況,即頁面統計;另外一部分是統計應用程式內的操作行為,即自定義事件統計。
數據產生就是在每次頁面瀏覽或是點擊、滑動等事件發生時都上報一條數據,包括頁面資訊、控制項資訊、裝置資訊、使用者資訊等,為了將使用者行為串聯,需要確保有一個全域唯一的ID串聯訪問的順序。
後續的統計將使用者的行為流串聯統計出想要的結果即可。
4. 關於埋點的數據的注意事項
- 不要過分追求完美
關於埋點數據有一點至關重要,埋點是為了更好地使用數據,不要試圖得到精準的數據,要得到的是高品質的埋點數據,前面討論跳出率就是這個例子,得到能得到的數據,用不完美的數據來達成下一步的行動,追求的是高品質而不是精確。這是很多數據產品容易入坑的地方,要經常提醒自己。