APP的埋點與事件監測

什麼是埋點?
埋點就是定點,定時的數據採集,跟蹤用戶行爲,給後續的產品優化和用戶運營提供數據支持。
更通俗一點就是,你爲採集數據所做的部署就是埋點,如用戶的點擊,屏幕的瀏覽,這些都需要預先做一些部署,這些部署通常是實現,什麼時候觸發,什麼時候發送什麼數據,這樣才能採集到這些數據,這些部署工作就是埋點。

埋點的分類
根據部署的位置可以分爲客戶端埋點和服務端埋點,而客戶端埋點可以根據埋點工具的方式劃分,可以分爲三種類型:代碼埋點,可視化埋點和全埋點,現在市面上三種實現方式的工具都有,並沒有說哪一種方式能夠碾壓其他幾種,因爲都各有弊端。具體的各種埋點方法的分類與優缺點如下圖
APP的埋點與事件監測

代碼埋點

這是是目前最爲人所知的一種類型,也是使用最廣泛的,包括Google Analyitcs,友盟在內的一些第三方工具都是使用這個方案。
原理是:部署完基礎的SDK後,在需要採集數據地方添加跟蹤代碼,APP啓動的時候會初始化SDK,你點擊或觸發數據採集位置的時候就會調用SDK對應的數據接口把數據發送出去,例如,我們要對某個位置的點擊做埋點,也就是該按鈕被點擊的,這個按鈕對應的OnClick就會調用SDK提供的數據接口去發送數據。通常來說,爲了避免消耗用戶的流量,一般是多條數據壓縮後發送,而不是一條就發一次。

優點:
準確度高:可以精準控制觸發條件,什麼時候才觸發,準確統計某一事件;
自定義強:可以自定義很多豐富的數據數據傳遞到服務端;

缺點:
工作量大:需要跟蹤的地方都添加對應的跟蹤代碼,需要埋點,因此工作量會比較大;

有人說,用這個方案,版本更新的代碼大,容易造成混亂,我認爲是不存在這樣的問題,我用這個方案几年的,版本更迭根本不用對舊版本的埋點做重新部署的,只有說,放棄舊版本框架,完全重寫一個APP的時候需要重新部署,當然,新增頁面或需求的時候,會需要添加新的埋點,這個的工作量並不算大的,如果你內部有一個比較好的反饋機制,這個很快的。

另有人說,這個有性能影響,使用第三方SDK,肯定會消耗內存,帶寬,這是避免不了的,至於說傳遞數據,現在大部分的第三方都不是實時發送的,都是累計壓縮數據後,等網絡比較好的時候才發送數據的;最後一個是,現在的手機,處理能力可能都不亞於一些舊的臺式電腦的,如果說影響性能,那你的APP得有多大或你現有的架構有多複雜。

至於數據傳輸的不可靠,只要涉及到網絡,都可能會有網絡延遲或丟包出現的,是通病來的,也有很多解決方案,加鎖,重發,回調。

可視化埋點
就是開發者無需再對追蹤點進行埋碼,而是脫離代碼,只需面對應用界面圈圈點點即可追加隨時生效的事件數據點。將核心代碼與資源配置分開,當APP啓動的時候從服務端更新配置和資源,APP根據新的配置和資源上報數據,整個結構有點類似GTM的,配置都是在GTM,用戶每次打開加載到的是最新的GTM配置,那麼GTM上部署的觸發條件有可能被觸發,從而實現數據收集。
原理:web和APP的頁面都有類似的結構,在部署完SDK後,SDK會自動獲取頁面各個層級的關係,在web是dom結構,在APP是UIVIEws,當你用可視化頁面設置埋點的時候,服務器能夠自動知道元素的位置,並且將這些配置保存到服務器,用戶打開的時候,就會加載這些配置到客戶端,當用戶觸發該元素的位置時候,就會將相關數據發送出去。

優點:
部署簡單,能大大節省人力成本;
對於不同代碼的產品和運營,可以通過可視化界面進行配置;

缺點:
不靈活,不能自定義獲取數據屬性,部分可視化的位置可能覆蓋不全;
每次啓動加載服務端最新的配置資源,浪費流量。

 

全埋點:

也叫無埋點,就像字面說說的,不需要埋點,已經儘可能的收集所有控件的數據,最早是在2013年,由Heap提出的。
原理:SDK利用CSS選擇器技術和監聽控件的事件觸發技術,在APP中嵌入SDK,這個SDK就會將APP中儘可能多的操作都採集下來,可以通過可視化操作界面對採集的數據做分類,基本上是先收集,後篩選的節奏,可能會出現數據噪音的情況。

優點:
部署簡單,只需部署SDK,初始化幾行代碼,就會自動收集數據;
自動收集很多數據,能夠回溯;

缺點:
不靈活自定義數據屬性;
收集的數據多,給網絡傳輸帶來壓力,消耗用戶的流量和電量,部分會涉及隱私問題。

可視化埋點和埋點的是很類似的,只是它們對信息的採集和處理流程不一樣而已,可視化埋點是,採集的才處理,而無埋點是先採集所有的,才選擇性處理,無埋點採集的是儘可能多的數據,所以無埋點能夠對數據做回溯,但是這也意味浪費流量,浪費電,坑用戶。

服務端埋點
在後端將數通過協議的形式直接發送數去,如MP協議,日誌等,最常用的還是日誌,如日誌做很多個性化的定製實現數據的採集,這個工作量就大了。

前面的客戶端埋單都是使用第三方工具,服務端埋點,可以理解爲,自己開發一個類似的工具架構了。

埋點的原則
簡單:埋點的方法簡單,能夠快速上線的,如果一個工具埋點都折騰個幾個月,這不坑爹的嘛。
免費:大部分人在做工具選型的時候會着重考慮這個工具是否付費的,都想要免費的工具,現在市面上可視化埋點和無埋點的都是付費的,如果預算允許,可以考慮用可視化和無埋點的產品,但請選擇大型廠家的產品。
準確:收集到的數據是準確的,纔有參考價值,如果收集到的數據跟後其他其他數據有很大的誤差,根本不可信的,再花哨的埋點功能也是沒用的,目前準確度高的還是代碼埋點的形式。

APP埋點跟web埋點的區別?
APP和WEb的埋點都是需要做部署,行爲都是通過事件來跟蹤,都有埋點跟蹤和可視化跟蹤。
不同點在於
web是部署的js跟蹤代碼,瀏覽是頁面
APP部署的SDK,瀏覽的是屏幕

什麼是事件監測
事件就是記錄用戶行爲或過程,比如用戶的點擊,下拉,這些都是用戶的行爲,都可以通過事件去記錄。大部分的埋點都會通過事件的形式去跟蹤。
在GA中,事件有
事件類別:就是事件的名稱,如視屏播放
事件行爲:可以是用戶的行爲,如視屏播放可以是,開始播放,快進,暫停等行爲
事件標籤:可以在那個頁面,對應理解就是播放那個視頻
事件的值:可以是播放的時長
是否爲交互類型:交互類型的事件會納入跳出率的計算,一般將事件都設置爲非交互的類型的。

更多詳細的事件監測去看站點上事件跟蹤相關文章。
APP如何應用事件監測
只要是行爲的,都可以應用事件監測,如
註冊表單:構建轉化漏斗
按鈕跟蹤:定位殭屍按鈕
全路徑跟蹤;路徑轉化
選擇跟蹤:用戶偏好
……
還有很多可以通過事件去跟蹤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章