摘要:前言埋點,是網(wǎng)站分析的一種常用的數(shù)據(jù)采集方法。缺點是流量和采集的數(shù)據(jù)過于龐大,服務(wù)器性能壓力山大,主流的就是這種實現(xiàn)方案。我們暫時放棄可視化埋點的實現(xiàn),在手動埋點和無埋點上進行了嘗試,為了便于描述,下文我會稱采集腳本為。
前言
埋點,是網(wǎng)站分析的一種常用的數(shù)據(jù)采集方法。我們主要用來采集用戶行為數(shù)據(jù)(例如頁面訪問路徑,點擊了什么元素)進行數(shù)據(jù)分析,從而讓運營同學(xué)更加合理的安排運營計劃。現(xiàn)在市面上有很多第三方埋點服務(wù)商,百度統(tǒng)計,友盟,growingIO 等大家應(yīng)該都不太陌生,大多情況下大家都只是使用,最近我研究了下 web 埋點,你要不要了解下。
現(xiàn)有埋點三大類型用戶行為分析是一個大系統(tǒng),一個典型的數(shù)據(jù)平臺。由用戶數(shù)據(jù)采集,用戶行為建模分析,可視化報表展示幾個模塊構(gòu)成。現(xiàn)有的埋點采集方案可以大致被分為三種,手動埋點,可視化埋點,無埋點
手動埋點
手動代碼埋點比較常見,需要調(diào)用埋點的業(yè)務(wù)方在需要采集數(shù)據(jù)的地方調(diào)用埋點的方法。優(yōu)點是流量可控,業(yè)務(wù)方可以根據(jù)需要在任意地點任意場景進行數(shù)據(jù)采集,采集信息也完全由業(yè)務(wù)方來控制。這樣的有點也帶來了一些弊端,需要業(yè)務(wù)方來寫死方法,如果采集方案變了,業(yè)務(wù)方也需要重新修改代碼,重新發(fā)布。
可視化埋點
可是化埋點是近今年的埋點趨勢,很多大廠自己的數(shù)據(jù)埋點部門也都開始做這塊。優(yōu)點是業(yè)務(wù)方工作量少,缺點則是技術(shù)上推廣和實現(xiàn)起來有點難(業(yè)務(wù)方前端代碼規(guī)范是個大前提)。阿里的活動頁很多都是運營通過可視化的界面拖拽配置實現(xiàn),這些活動控件元素都帶有唯一標識。通過埋點配置后臺,將元素與要采集事件關(guān)聯(lián)起來,可以自動生成埋點代碼嵌入到頁面中。
無埋點
無埋點則是前端自動采集全部事件,上報埋點數(shù)據(jù),由后端來過濾和計算出有用的數(shù)據(jù),優(yōu)點是前端只要加載埋點腳本。缺點是流量和采集的數(shù)據(jù)過于龐大,服務(wù)器性能壓力山大,主流的 GrowingIO 就是這種實現(xiàn)方案。
我們暫時放棄可視化埋點的實現(xiàn),在 手動埋點 和 無埋點 上進行了嘗試,為了便于描述,下文我會稱采集腳本為 SDK。
思考幾個問題埋點開發(fā)需要考慮很多內(nèi)容,貫穿著不輕易動手寫代碼的原則,我們在開發(fā)前先思考下面這幾個問題
我們要采集什么內(nèi)容,進行哪些采集接口的約定
業(yè)務(wù)方通過什么方式來調(diào)用我們的采集腳本
手動埋點:SDK 需要封裝一個方法給業(yè)務(wù)方進行調(diào)用,傳參方式業(yè)務(wù)方可控
無埋點:考慮到數(shù)據(jù)量對于服務(wù)器的壓力,我們需要對無埋點進行開關(guān)配置,可以配置進行哪些元素進行無埋點采集
用戶標識:游客用戶和登錄用戶的采集數(shù)據(jù)怎么進行區(qū)分關(guān)聯(lián)
設(shè)備Id:用戶通過瀏覽器來訪問 web 頁面,設(shè)備Id需要存儲在瀏覽器上,同一個用戶訪問不同的業(yè)務(wù)方網(wǎng)站,設(shè)備Id要保持一樣,怎么實現(xiàn)
單頁面應(yīng)用:現(xiàn)在流行的單頁面應(yīng)用和普通 web 頁面的數(shù)據(jù)采集是否有差異
混合應(yīng)用:app 與 h5 的混合應(yīng)用我們要怎么進行通訊
我們要采集什么內(nèi)容,進行哪些采集接口的約定第一期我們先實現(xiàn)對 PV(即頁面瀏覽量或點擊量) 、UV(一天內(nèi)同個訪客多次訪問) 、點擊量、用戶的訪問路徑的基礎(chǔ)指標的采集。精細化分析的流量轉(zhuǎn)化需要和業(yè)務(wù)相關(guān),需要和數(shù)據(jù)分析方做約定,我們預(yù)留擴展。所以我們的采集接口需要進行以下的約定
{ "header":{ // HTTP 頭部 "X-Device-Id":" 550e8400-e29b-41d4-a716-446655440000", //設(shè)備ID,用來區(qū)分用戶設(shè)備 "X-Source-Url":"https://www.baidu.com/", //源地址,關(guān)聯(lián)用戶的整個操作流程,用于用戶行為路徑分析,例如登錄,到首頁,進入商品詳情,退出這一整個完整的路徑 "X-Current-Url":"", //當前地址,用戶行為發(fā)生的頁面 "X-User-Id":"",//用戶ID,統(tǒng)計登錄用戶行為 }, "body":[{ // HTTP Body體 "PageSessionID":"", //頁面標識ID,用來區(qū)分頁面事件,例如加載和離開我們會發(fā)兩個事件,這個標識可以讓我們知道這個事件是發(fā)生在一個頁面上 "Event":"loaded", //事件類型,區(qū)分用戶行為事件 "PageTitle": "埋點測試頁", //頁面標題,直觀看到用戶訪問頁面 "CurrentTime": “1517798922201”, //事件發(fā)生的時間 "ExtraInfo": { } //擴展字段,對具體業(yè)務(wù)分析的傳參 }] }
以上就是我們現(xiàn)在約定好了的通用的事件采集的接口,所傳的參數(shù)基本上會根據(jù)采集事件的不同而發(fā)生變化。但是在用戶的整一個訪問行為中,用戶的設(shè)備是不會變化的,如果你想采集設(shè)備信息可以重新約定一個接口,在整個采集開始之前發(fā)送設(shè)備信息,這樣可以避免在事件采集接口上重復(fù)采集固定數(shù)據(jù)。
{ "header":{ // HTTP 頭部 "X-Device-Id" :"550e8400-e29b-41d4-a716-446655440000" , // 設(shè)備id }, "body":{ // HTTP Body體 "DeviceType": "web" , //設(shè)備類型 "ScreenWide" : 768 , // 屏幕寬 "ScreenHigh": 1366 , // 屏幕高 "Language": "zh-cn" //語言 } }業(yè)務(wù)方通過什么方式來調(diào)用我們的采集腳本
埋點應(yīng)該讓調(diào)用的業(yè)務(wù)方,盡可能少有工作量,最好是什么都不用做,
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/95089.html
摘要:全稱應(yīng)用性能管理監(jiān)控后面我會通過一系列的文章來介紹的原理框架設(shè)計與實現(xiàn)等等。在應(yīng)用構(gòu)建期間,通過修改字節(jié)碼的方式來進行字節(jié)碼插樁就是實現(xiàn)自動化的方案之一。 showImg(https://segmentfault.com/img/bVbbRX6?w=1995&h=1273); 歡迎關(guān)注微信公眾號:BaronTalk,獲取更多精彩好文! 一. 前言 性能問題是導(dǎo)致 App 用戶流失的罪魁...
今天來給大家介紹下前端監(jiān)控中一個特定指標的獲取算法,有人會問,為啥就單單講一個指標?這是因為,目前大部分的指標,比如白屏?xí)r間,dom加載時間等等,都能通過現(xiàn)代瀏覽器提供的各種api去進行較為精確的獲取,而今天講的這個指標,以往獲取他的方式只能是通過邏輯埋點去獲取它的值,因此在做一些前端監(jiān)控時,需要根據(jù)業(yè)務(wù)需要去改變頁面對這個值的埋點方式,會比較繁瑣,恰巧最近剛剛好在做一些前端監(jiān)控相關(guān)的項目,遇到這...
摘要:所以,關(guān)于優(yōu)化實戰(zhàn)我們主要分為兩部分加載渲染鏈路優(yōu)化和編程代碼優(yōu)化。加載渲染鏈路優(yōu)化從訪問到頁面呈現(xiàn),整個鏈路可以做優(yōu)化的思路。資源緩存這一節(jié)我們單獨介紹緩存,是的,利用好緩存可以解決很多問題,包括頁面加載和渲染的問題都能得到很好的優(yōu)化。 優(yōu)化實戰(zhàn) 本文屬于思否課堂VirtualDOM到AST玩轉(zhuǎn)前端性能原理解析與代碼實戰(zhàn)課程官方博客:fed123.com 我們已經(jīng)全面分析總結(jié)了評估頁...
閱讀 2837·2023-04-25 20:02
閱讀 1435·2021-11-11 16:55
閱讀 614·2021-09-26 09:46
閱讀 6204·2021-09-22 15:55
閱讀 1823·2021-08-09 13:41
閱讀 1572·2019-08-30 15:52
閱讀 2371·2019-08-30 14:13
閱讀 3289·2019-08-26 13:48