一、數據埋點的重要性 前端
在現實工做中,數據的總體流程爲:數據生產-數據採集-數據處理-數據分析和挖掘-數據可視化,其中,數據採集是很重要的一個環節,數據採集得全不全、對不對,直接決定數據廣度和質量,影響後續全部的環節。若是採集的數據維度不多,那咱們想要進行深刻分析的時候就會顯得無處着手,好比咱們想要分析某個APP某個功能的使用狀況,可是卻根本沒有采集相關的數據,那咱們也不能進行後續的分析了。若是數據採集是錯誤的,如漏報、誤報等,那這確定是很致命的,會誤導咱們基於數據的決策。算法
在互聯網行業,數據採集的方式根據採集數據端的不一樣,主要分爲網頁數據採集、APP數據採集。網頁數據的採集主要是使用JS採集,經常使用的數據分析工具主要是Google Analytics,APP數據採集主要是經過埋點採集,主要有前端埋點和後端埋點之分,相應的移動端數據分析廠商也不少。隨着愈來愈多的用戶傾向於在移動端上網和使用APP,APP數據採集就顯得更加劇要。後端
二、數據埋點是什麼服務器
要作好APP的數據分析,讓數據支撐決策、產品和運營,首先是要有數據,就像作飯須要米同樣,而要採集用戶數據就要進行APP數據埋點。產品人員在產品規劃時就要思考數據埋點問題,若是在產品外發後再考慮怎麼埋點,就會致使前期版本用戶的數據沒法收集,想要看某個數據時就迫不得已,只有等到新版本完善來彌補。思考要埋哪些點的時候,要緊密結合產品、運營需求,並跟數據分析、ETL人員等進行充分溝通,例如須要監控哪些指標、須要經過哪些埋點來實現、怎樣埋點更能符合統計的需求,這是一個集思廣益的過程。工具
數據埋點包括客戶端前端埋點和服務端後端埋點,客戶端前端埋點是用戶在客戶端上的操做記錄,服務端後端埋點是用戶在線請求服務器的日誌,二者各有優劣,最好二者都埋點,能夠相互補充。優化
數據埋點其實就是在產品功能代碼後面加上統計代碼,記錄用戶操做行爲,當用戶進行某個操做時,如點擊某個按鈕、呈現某個頁面等,開發會在相應地方加上統計代碼,埋點會生成一條log記錄。日誌
三、怎樣數據埋點視頻
3.一、數據埋點技術 接口
如今業界客戶端埋點通常都是採起key-value的形式,key表明某個事件,value表明相應的參數值,埋點邏輯大概爲:用戶產生點擊行爲,生成一個點擊事件,當有頁面呈如今屏幕前時,生成一個頁面事件。遊戲
如今SDK上報埋點事件主要分爲兩類:1)點擊事件,主要描述用戶在應用內的點擊行爲,如點擊tab、點擊按鈕等,同時一些參數事件也被歸類爲點擊事件,如頁面描述、試聽時長等,把這些參數事件歸類爲點擊事件主要是方便頁面事件計算用戶應用使用時長;2)頁面事件,主要描述用戶瀏覽過的頁面,如首頁、詳情頁等,同時經過頁面停留時長計算用戶應用使用時長。
常見的有三種埋點技術:
代碼埋點:控件操做發生時經過預先寫好的代碼來發送數據。優勢:控制發送數據時間,事件自定義屬性詳細記錄;缺點:時間、人力成本大,數據傳輸的時效性。
可視化埋點:利用可視化交互手段,經過可視化界面配置控件操做與事件操做發生關係,經過後臺截屏的方式採集數據。優勢:成本低,速度快;缺點:行爲記錄信息少,支持的分析方式少。
無埋點:用戶展示界面元素時,經過控件綁定觸發事件,事件被觸發的時候系統會有相應的接口讓開發者處理這些行爲。如今市面上主流無埋點作法有兩種,一種是預先跟蹤全部的渲染信息,一種是滯後跟蹤的渲染信息。優勢:無需埋點,方便快捷;缺點:行爲記錄信息少,傳輸壓力大。
3.二、數據埋點優缺點
3.2.一、客戶端埋點的優缺點
APP客戶端埋點的好處是:
1)可以蒐集更加全面的用戶數據,能夠對客戶端各個點擊、頁面埋點;
2)能夠收集不須要請求服務器的數據,如音樂的本地播放、頁面停留時長等。
APP客戶端數據埋點存在問題主要有:
1)數據上報時需手機聯網,若是用戶手機未聯網,則會延遲上報數據,同時數據上報通常有相應的規則,不會實時上報,通常存在15%左右的延遲上報和漏報;
2)若是用戶刪除本身的APP操做記錄,則沒有上報的記錄。
3)當須要改變埋點時,須要更新版本才行,可是會存在有些用戶不更新版本狀況,影響數據質量。
3.2.二、服務端埋點的優缺點
APP服務端後端埋點的優勢是:
1)實時收集,數據很準確,不存在延時上報;
2)當要改變埋點時,只要改變,上報數據就會改變;
3)可以收集不在APP內發生的行爲,只要請求服務器就行,而客戶端只能收集在客戶端中的操做行爲,如統計從其餘APP引流的安裝量。
服務端後端埋點缺點是:
1)不能收集不須要請求服務器的數據;
2)用戶沒聯網的時候不可以採集數據。
3.2.三、服務端和客戶端的結合
結合客戶端前端埋點和服務端後端埋點的優缺點,服務端數據實時性高、很準確,最好用戶須要請求服務器的關鍵業務量均使用服務器後端埋點,如在線播放、遊戲安裝等,在統計中獎用戶這些,顯然服務端數據更合理,客戶端數據可能會漏掉部分中獎用戶,致使用戶投訴;客戶端數據很全,記錄了用戶絕大多數操做行爲,其它非關鍵業務量或者不須要請求服務器的行爲使用後客戶端前端埋點。服務端埋點和客戶端埋點各有優劣,應該兩種數據同時都存在,能夠相互印證,當一方數據發生重大問題時能夠經過另外一方發現,同時,數據也能互補,如數據採集忽然有問題了,能夠用另外一方數據替代。
3.三、數據埋點內容
數據埋點主要是爲了採集用戶行爲數據,根據用戶應用使用行爲,各應用埋點主要包括如下幾個方面:
3.3.1、功能按鈕埋點
功能按鈕的埋點主要是爲了解用戶對應用中的按鈕、功能、入口等的使用,從而洞察用戶內容偏好、功能偏好、使用路徑等。主要包括如下幾個方面:
1)用戶對應用頂部tab、底部tab、內容篩選tab等的點擊,瞭解用戶對應用各個板塊的喜愛和內容偏好等;
2)用戶對應用內各入口、頻道的點擊,瞭解用戶的內容偏好、產品使用路徑等;
3)用戶對應用中具體內容的點擊,如點擊某款遊戲、某個商品、某個視頻等,瞭解用戶內容偏好、產品使用路徑等;
4)用戶對應用設置中選項的點擊,如是否打開push開關,瞭解用戶應用的基本設置狀況。
5)用戶對其它功能按鈕的點擊,如音樂播放器中暫停、下一首等按鈕的點擊。
3.3.2、主要行爲埋點
用戶應用主要行爲埋點主要是爲了解用戶應用內使用行爲,從而洞察用戶內容偏好、產品使用習慣、用戶忠誠度、用戶活躍度等,用戶應用中主要行爲包括:
1)用戶核心行爲,包括下載、安裝、試聽、播放、閱讀等,各業務根據其產品性質的不一樣,有不一樣的核心業務行爲,如視頻的播放、音樂的試聽,能夠了解用戶的內容偏好、業務活躍度等
2)用戶其它行爲,包括評論、分享、點贊、回覆、收藏、訂閱等,對內容型業務基本是通用的,能夠了解用戶的內容偏好、使用習慣、業務忠誠度等;
3.3.3、主要頁面埋點
頁面埋點是爲了解用戶對應用各頁面的瀏覽狀況,從而知道各頁面的瀏覽量、用戶使用路徑、使用時長等。主要包括應用首頁、我的中心頁、各一級頁面、各二級頁面等,原則是隻要應用呈如今屏幕前的頁面都須要相應的埋點,這樣才能較準確的計算應用使用時長,同時可以評估各頁面價值。
3.3.4、支付流程埋點
支付流程的埋點是爲了解用戶整個支付流程是否使用順暢,是否有優化的空間,便於進行漏斗分析,對有支付流程的應用是相當重要的。主要包括點擊支付、選擇支付方式、點擊下一步、確認支付(或取消支付)、支付結果等步驟,瞭解各個步驟的轉化率,優化有問題的支付環節。
3.3.5、搜索流程埋點
搜索是應用一個很重要的功能,大多數目的明確的用戶都會使用搜索功能,搜索的埋點可以瞭解用戶的搜索行爲、內容偏好、搜索熱點等。主要包括點擊搜索、輸入關鍵詞、點擊推薦熱詞、點擊推薦聯想關鍵詞、點擊搜索結果等,洞察用戶是怎樣進行搜索的、當前搜索熱點是什麼、搜索推薦算法的效果等。