❶ 數據埋點是什麼設置埋點的意義是什麼
所謂埋點就是在應用中特定的流程收集一些信息,用來跟蹤應用使用的狀況,後續用來進一步優化產品或是提供運營的數據支撐,包括訪問數(Visits),訪客數(Visitor),停留時長(Time On Site),頁面瀏覽數(Page Views)和跳出率(Bounce Rate)。
這樣的信息收集可以大致分為兩種:頁面統計(track this virtual page view),統計操作行為(track this button by an event)。
埋點的主流有兩種方式:
第一種:自己公司研發在產品中注入代碼統計,並搭建起相應的後台查詢。
第二種:第三方統計工具,如友盟、神策、Talkingdata、GrowingIO等。
如果是產品早期,通常會使用第二種方式來採集數據,並直接使用第三方分析工具進行基本的分析。而對於那些對數據安全比較重視,業務又相對復雜的公司則通常是使用第一種方式採集數據,並搭建相應的數據產品實現其數據應用或是分析的訴求。
埋點的內容
看完關鍵的這些指標後,其實埋點大致分為兩部分,一部分是統計應用頁面訪問情況,即頁面統計,隨頁面訪問動作發生時進行上報;另外一部分是統計應用內的操作行為,在頁面中操作時進行上報(例如:組件曝光時,組件點擊時,上滑,下滑時)。
為了統計到所需要的指標,應用中的所有頁面,事件都被唯一標記,用戶的信息,設備的信息,時間參數以及符合業務需要的參數具體內容被附加上報,就是埋點。
關於埋點的數據的注意事項不要過分追求完美
關於埋點數據有一點至關重要,埋點是為了更好地使用數據,不要試圖得到精準的數據要得到的是高質量的埋點數據,前面討論跳出率就是這個例子,得到能得到的數據,用不完美的數據來達成下一步的行動,追求的是高質量而不是精確。這是很多數據產品容易入坑的地,要經常提醒自己。
❷ 關於埋點文檔的一點總結
埋點就是在用戶使用產品時記錄下用戶行為數據,以便後面對用戶行為進行數據分析。比如說需要頁面的瀏覽量,就需要對用戶瀏覽頁面這一行為進行記錄,然後一個頁面的所有用戶瀏覽量相加,便可以得到這個頁面的瀏覽量了。
1)埋點是為了進行數據分析,因此最好先明確數據指標或者是分析目的,這樣能夠保證自己想要的數據都能找到。
2)埋點可以事件為單位進行的,每一條埋點數據或者說是用戶行為數據,記錄了一個事件的發生。每一條事件數據需要講清楚「 什麼人在什麼時間、地點以什麼方式完成了什麼事情 」,也就是who/when/where/what/how。
舉個例子,以視頻播放這個事件為例,視頻播放其實就是用戶播放視頻這個行為,那麼這個事件里就包含是哪個用戶在什麼時間、什麼模塊看了什麼樣的視頻,如果需要投遞視頻播放這個事件,那麼包含的欄位就有:用戶ID/時間/在APP的位置/視頻ID/視頻屬性。
比如像點擊、瀏覽、曝光這些行為便可以用前端埋點,主要是發生在用戶與界面的交互;如果是電商中要統計下單成功這個事件,客戶端是沒有辦法知道訂單是否成功的。如果統計的事件里有需要用到後端的數據,也是要進行後端埋點的。
埋點數據是需要存儲起來的,數據就會有它對應的欄位。一般一條埋點數據需要記錄:
事件ID、事件名(英文名、中文解釋)、事件屬性(屬性英文名、中文解釋、屬性類型)、埋點形式(前端/後端)、事件觸發時機(什麼時候投遞這個事件)
一個事件發生時,像用戶ID、設備信息這些都是每個事件可以共用的,因此可以定義一些每個事件都可以使用的公共屬性,比如可以定義:
像用戶信息(用戶ID、設備信息、網路信息、地理位置信息)、時間信息等欄位是所有事件都會用到的,因此可以把他們當做所有事件的公共屬性。
事件類型分為點擊事件、曝光事件、頁面停留事件等,在設計事件時,可以按產品的功能模塊、點擊事件、曝光事件等維度進行劃分。比如說現在對西瓜視頻進行埋點,從功能上可以劃分為視頻相關的事件、視頻互動(評論、點贊、分享等)相關的事件,一些較為簡單頁面可以直接統計點擊和曝光事件。
視頻相關的事件包括有視頻播放、視頻曝光這兩大類。
西瓜視頻首頁視頻播放過程可能會有:
因為視頻播放中可能會出現各種情況,此時最好列出所有情況,盡量考慮到每種情況下播放時長應該怎樣進行計算。關於視頻曝光事件這塊,後面如果在數據計算時,會計算曝光事件總和作為曝光量,如果是小視頻推薦出視頻就算曝光了,而且這塊可能出現快速滑走的情況,為了防止曝光時間過短,可以設置有效曝光時間,這樣計算曝光量時我們可以控制什麼樣的曝光用來計算曝光量。
對於簡單的頁面曝光,可以進行簡單的羅列;如果頁面點擊事件比較簡單的話,可以用一個點擊按鈕屬性來區分不同的點擊按鈕,但是如果點擊事件比較復雜,本身可能就帶有比較多得事件屬性,或者這個點擊事件很重要時,還是建議單獨寫一個點擊事件,便於後面的分析。
一個APP裡面有很多的埋點事件,而且都是不斷迭代的(其實我就想說寫完太累了,哈哈哈哈),所以就大概寫一點了,大概形式就差不多了,總而言之,埋點還是得根據數據的需求來,比如數據需求想分析用戶關注行為,就可以把關注單拎出來做一個事件集合。
❸ 數據埋點技巧
移動互聯網時代,無論是Android、iOS還是小程序,都有很多成熟的解決方案,無需花費很多的時間去處理埋點的事情,而且基於第三方提供的SDK進行埋點,在數據處理和分析上也有很大的優勢。
但是在之前的PC互聯網時代,除了網頁端有網路統計、谷歌分析等,客戶端的埋點似乎沒有一套能拿出來可供大家討論的解決方案,我就基於我的工作經驗和理解,給大家分享一下PC客戶端的埋點。
PC客戶端的埋點
首先,在PC上,我們得知道我們需要統計些什麼內容。
一個PC客戶端,無論是工具類的還是內容類的,我們都希望知道我們提供的服務的效果。那麼,我們從一個客戶端安裝、運行到最終被卸載來看看。
就拿產品使用較多的工具「Axure RP」來舉例吧。如果「Axure RP」是我們自己的軟體,首先我們需要知道被安裝了,之後,我們關注激活情況,也就是使用,到最後,被卸載了,這一整個環節,構成了一個生命周期。 重點來了,對於這個生命周期,所有你想知道的關於「Axure RP」的情況你都可以統計到。
1.軟體的安裝
在PC客戶端安裝的過程中,流程一般是這樣的:①運行安裝包②彈出安裝界面提供給用戶操作③執行安裝過程-寫注冊表、啟動項、計劃任務等④執行安裝過程-創建安裝的文件夾(③和④可以交換)。
在這個環節,我們一般需要知道:
安裝包被運行了
在安裝界面用戶做了哪些操作
我們的安裝過程是否正常執行
我們最終是否安裝成功
在PC上,只要我們的安裝包運行起來了,無論是彈出安裝界面、寫注冊表還是創建文件,這些都是安裝包可以控制的,所以我們能通過安裝包進程,將整個安裝環節的所有數據記錄下來發送到我們的後台並記錄下來 (這里要重點記住,由於安裝是一次性的動作,所以統計一定要發實時的) 。
2.軟體的使用
軟體的使用,包括啟動軟體、使用功能和退出軟體。
在PC上,軟體的啟動有很多種方式,例如開機自啟動、計劃任務、手動點擊快捷方式,我們繼續以「Axure RP」舉例,當我們裝上了「Axure RP」後,會在桌面、開始菜單中,創建快捷方式(有些程序會在任務欄上也創建),同時,會將後綴名為「rp」的文件默認打開方式調整為「Axure RP」。
對於啟動, 我們就有了三種方式:桌面快捷方式、開始菜單快捷方式和默認軟體打開,所以我們需要統計軟體是否被啟動了,是如何啟動的。
對於使用功能, 當軟體運行起來後,其進程就會啟動,這個時候就跟移動端的應用類似,我們需要統計一系列事件,每個功能的使用情況、功能狀態、付費、登錄等一系列信息(區別於移動端的是,在PC上一般這些統計都是做單點統計,例如統計彈窗的彈出、功能的點擊、某個狀態,對於相互關聯的一組事件統計是比較復雜的,需要定義結構體,在一條統計中包含很多組欄位信息,因為沒有成熟的SDK集成,所以基本都要自己定義埋點,復用性較差)。
這部分統計分為公共統計和專用統計。公共統計就是基本信息,常用的是用戶標識、用戶基本信息、計算機硬體信息和其他的可復用的;專用統計就是針對你的功能,你想了解哪些情況,針對性進行埋點統計。
對於軟體退出, 這就比較簡單了,是正常退出還是異常退出?軟體使用了多久退出?
3.軟體的卸載
軟體卸載的流程包括啟動卸載程序、用戶操作、刪除注冊表及文件等操作、完成卸載。
在這個過程中,我們主要關注兩方面的信息,一方面是用戶怎麼卸載的?是主動使用卸載程序,還是通過一些管理軟體進行卸載;另一方面是用戶為什麼要卸載,這個時候我們可以在卸載的界面中給用戶提供選擇,以獲取用戶的反饋。
該怎麼埋點
1.埋點的分類
(1)時效性
PC客戶端一般情況下都比較復雜,子功能很多,可統計的內容很多,為了節省帶寬,我們不可能每次都實時將數據傳輸回來,而且很多時效性不是很強的功能沒有必要實時上報。
實時統計
當功能觸發時或達到一定條件,立即將統計回傳,一般情況下用於時效性比較強的功能,例如活躍統計、營收類統計,我們需要實時分析並調整策略。
延時統計
統計不立即回傳,將統計積累,達到一定的條件或者一定的時間,統一將這部分統計回傳,一般情況用於時效性不強的功能,例如採集設備信息、獲取某些功能的狀態、常規功能的統計,這部分統計使用范圍比較廣,一般都是隔日發送,有一天的延遲,統計的信息晚一天不會對分析產生較大的影響。
(2)埋點的作用
常規的基礎統計
每次統計都需要發送,可以理解為公用統計,這部分統計是將幾乎所有的統計都需要的部分包括進來,封裝成一個統一的部分,每次發送統計都會帶上這些內容,方便管理,節省後續埋點時間。
功能統計
針對特定功能,當功能被使用或者生效的時候,我們需要統計效果或者狀態,可以理解為專用統計,不同於移動端,PC一般沒有第三方提供的SDK,需要每個專用統計自己埋點,維護大量的統計內容,不過在一個公司內部,可以統一設計規范,方便維護。
(3)數據類型
結構體
統計連貫的事件,各項信息之間的關聯很重要。
計數
統計某個行為發生的次數。
字元串
統計內容。
整形
統計數值,也可用來統計狀態。
布爾型
統計需要判斷的類型,一般使用場景較少,為了方便計算,大部分被整形和字元串替代。
2.數據埋點實例
(1)軟體安裝
場景:統計安裝過程中的信息
(2)軟體的使用
場景:軟體啟動後,用戶使用了分享功能,將自己做的原型分享到了雲端,最後用戶關閉了軟體。
要注意的是,軟體啟動和關閉,看需要是可以調整的,如果你只是想知道是不是啟動了,來判斷活躍,那麼僅僅需要啟動的時候發送個整型的值標識即可;如果想知道更詳細的信息,比如啟動方式、啟動時間等等,可以定義結構體,將這一刻更多的信息發送回來,可靈活定義。
(3)軟體卸載
卸載跟軟體安裝類似,這里就不贅述了。
在這里,如果希望收集用戶的卸載原因,可以定義一個字元串,將用戶填寫的內容上報,這種形式的數據如果太多,不太利於分析,所以看產品情況可靈活設置。
❹ 我想請教個問題,經常聽他們說網頁布點、埋點什麼的是什麼意思有什麼用么
埋點是網站和APP等產品進行日常改進及數據分析的數據採集基礎,根據採集得到的用戶行為數據(例如:頁面訪問路徑,點擊了哪一個按鈕)進行數據分析,從而更加合理的推送跟優化,增強用戶體驗。現在市面上有很多第三方埋點服務商,網路統計、友盟、growingIO等。
常見的埋點方法包括:
手動埋點:根據業務需求在需要採集數據的地方進行埋點,是比較常見的埋點手段。
可視化埋點:一些事件帶有元素唯一標識。通過在後台進行埋點配置,將元素與要採集信息關聯起來,然後自動生成埋點代碼嵌入到頁面中,目前發展比較火的埋點方式,但是技術上的實現跟推廣比較困難
無埋點:簡單來說就是沒有埋點,前端會採集用戶所有的行為跟信息,然後後台再對這些信息進行篩選,由於數據量巨大,對伺服器的性能要求很高。
網頁布點即布局,網頁的三種布局:固定布局,流式布局,彈性布局。
固定布局:以px來設置寬度。
流式布局:以百分比來設置寬度!在寬度較小時,行寬會變得非常窄且難閱讀。因此我們要給它添加以px或者em為單位的min-width,從而防止布局變得太窄。
彈性布局:相對於字型大小來設置寬度,以em為單位設置寬度!由於字型大小增加時整個布局寬度會加大,因此可能比瀏覽器窗口寬,導致水平滾動條出現。所以,要給它添加一個max-width為100%。
(4)百度埋點數據存儲擴展閱讀:
埋點分析,是網站分析的一種常用的數據採集方法。數據埋點分為初級、中級、高級三種方式。數據埋點是一種良好的私有化部署數據採集方式。
數據埋點分為初級、中級、高級三種方式,分別為:
初級:在產品、服務轉化關鍵點植入統計代碼,據其獨立ID確保數據採集不重復(如購買按鈕點擊率);
中級:植入多段代碼,追蹤用戶在平台每個界面上的系列行為,事件之間相互獨立(如打開商品詳情頁——選擇商品型號——加入購物車——下訂單——購買完成);
高級:聯合公司工程、ETL採集分析用戶全量行為,建立用戶畫像,還原用戶行為模型,作為產品分析、優化的基礎。
❺ 關於數據埋點,你需要知道的技術方案和規范流程
埋點是數據採集的專用術語,在數據驅動型業務中,如營銷策略、產品迭代、業務分析、用戶畫像等,都依賴於數據提供決策支持,希望通過數據來捕捉特定的用戶行為,如按鈕點擊量、閱讀時長等統計信息。因此,數據埋點可以簡單理解為:針對特定業務場景進行數據採集和上報的技術方案。
數據埋點非常看重兩件事,一個是數據記錄的准確性,另一個則是數據記錄的完備性。
先講數據的准確性。數據埋點非常強調規范和流程,因為參數的規范與合法,將直接影響到數據分析的准確性,如果准確性得不到保障,那麼所有基於埋點得出的結論,都是不可信的。辛辛苦苦做了很久的方案,一旦因為一個疏忽的小問題,導致下游集中投訴,其實非常劃不來。
道理每個人都懂,但現實情況中,數據埋點所面對的客觀環境,其實非常復雜,例如:
因此本文有非常長的篇幅來寫流程問題,其實是非常有必要的。
再講數據的完備性。因為埋點主要是面向分析使用,對用戶而言是個額外的功能,因此埋點的業務侵入性很強,很容易對用戶體驗造成影響。別的不說,僅僅是流量的消耗,就很容被用戶噴。因此,要提前想清楚,我們要採集哪些東西,因為修改方案的成本,是傷不起的。
通常情況下,我們需要記錄用戶在使用產品過程中的操作行為,通過4W1H模型可以比較好的保障信息是完備的。4W1H包括:
規定好記錄信息的基本方法之後,按照固定的頻率,如每小時、每天,或者是固定的數量,比如多少條日誌,或者是網路環境,比如在Wifi下上傳,我們就可以開心的把埋點數據用起來了。
當然,數據記錄的時效性也比較重要,但因為埋點數據通常量級會比較大,且各個端數據回傳的時間不同,因此想做到實時統計,還是需要分場景來展開。在Flink技術日漸成熟的今天,全鏈路的實時採集與統計,已經不是什麼難題。
在埋點的技術方案中,首先要重視的,是用戶唯一標識的建設。如果做不到對用戶的唯一識別,那麼基礎的UV統計,都將是錯誤的。
因此,在數據埋點方案中,有兩個信息是一定要記錄的,即設備ID+用戶ID。設備ID代表用戶使用哪個設備,如安卓的ANDROID_ID/IMEI,IOS中的IDFA/UDID,瀏覽器的Cookie,小程序的OpenID等。用戶ID,代表用戶在產品中所注冊的賬號,通常是手機號,也可以是郵箱等其他格式。
當這兩個信息能夠獲得時,不論是用戶更換設備,或者是同一台設備不同賬號登錄,我們都能夠根據這兩個ID,來識別出誰在對設備做操作。
其次,我們來看一下Web的數據採集技術。Web端數據採集主要通過三種方式實現:伺服器日誌、URL解析及JS回傳。
瀏覽器的日誌採集種類又可以分為兩大類:頁面瀏覽日誌和頁面交互日誌。
除此之外,還有一些針對特定場合統計的日誌,例如頁面曝光時長日誌、用戶在線操作監控等,但原理都基於上述兩類日誌,只是在統計上有所區分。
再次,我們來看下客戶端的數據採集。與網頁日誌對應的,是手機應用為基礎的客戶端日誌,由於早期手機網路通訊能力較差,因而SDK往往採用延遲發送日誌的方式,也就是先將日誌統計在本地,然後選擇在Wifi環境下上傳,因而往往會出現統計數據延遲的情況。現如今網路環境好了很多,4G、5G流量充足,尤其是視頻類APP基本上都是一直聯網,因而很多統計能夠做到實時統計。
客戶端的日誌統計主要通過SDK來完成,根據不同的用戶行為分成不同的事件,「事件」是客戶端日誌行為的最小單位,根據類型的不同,可以分為頁面事件(類比頁面瀏覽)和控制項點擊事件(類比頁面交互)。對於頁面事件,不同的SDK有不同的方式,主要區別為是在頁面創建時發送日誌,還是在頁面瀏覽結束後發送日誌,區別在於業務統計是否需要採集用戶的頁面停留時長。
頁面事件的統計主要統計如下三類信息:
埋點其實還需要考慮數據上傳的方案,批量的數據可以通過Flume直接上報,流式的可以寫到Kafka,或者直接使用Flink來處理。這些框架相關的內容不是本文考慮的重點,有興趣的可以自行查閱資料。
有了指導思路和技術方案後,我們就可以著手制定相應的數據埋點流程規范了。
籠統上,流程規范會分成五個步驟,即需求評審、埋點申請、技術開發、埋點驗證、發布上線。
第一步,需求評審。
前文提到過,數據埋點的方案一旦確定,返工和排查問題的成本都很高,但數據埋點之後的分析工作,又涉及到了PD、BI、演算法、數據等多個角色。因此非常有必要,將需求內容和數據口徑統一收口,所有人在一套口徑下,將需求定義出來,隨後業務側再介入,進行埋點方案的設計和開發。
以前文提到的4W1H模型為例,常見的記錄內容如下:
最後我們統計時,按照上述約定,統計用戶在某個時間和地點中,看到了哪些信息,並完成了怎樣的動作。上下游的相關人員,在使用這份數據時,產生的歧義或者是分歧,會小很多。
第二步,埋點申請
當下的熱門應用,大多是以超級APP的形式出現,比如微信、淘寶、支付寶、抖音,超級APP會承載非常多的業務,因此技術方案上會十分統一。
因此,當我們的技術方案確定後,通常要在相應的埋點平台上,進行埋點申請。申請的內容包括分配的SPM、SCM碼是什麼,涉及到的平台是哪些,等等。SPM、SCM是什麼,有什麼用,同樣可以自行查閱。
第三步,技術開發
當需求確定、申請通過後,我們就可以開始開發動作了,這里基本上是對研發同學進行約束。埋點的開發,簡單講,是分成行為埋點和事件埋點兩個大類,每一類根據端的不同進行相應的開發。具體的技術方案詳見前文01章節。
詳細的設計規范,是需要留文檔的,因為代碼不能反應業務的真實意圖,而不論是事後復盤與業務交接,都需要完整的文檔來闡述設計思路。
第四步,埋點驗證
埋點的驗證很關鍵,如果上線後才發現問題,那麼 歷史 數據是無法追溯的。
驗證有兩種方式,一種是實時的功能驗證,一種是離線的日誌驗證。
實時功能驗證,指功能開發好後,在灰度環境上測試相應的埋點功能是否正常,比如點擊相應的業務模塊,日誌是否會正確的列印出來。通常而言,我們需要驗證如下三個類型的問題:
除去實時驗證,我們也需要把日誌寫到測試環境中,查看數據上報的過程是否正確,以及對上報後的數據進行統計,側面驗證記錄的准確性,如統計基本的PV、UV,行為、事件的發生數量。
很多時候,數據是需要多方驗證的,存在一定的上下游信息不同步問題,比如對某個默認值的定義有歧義,日誌統計會有效的發現這類問題。
第五步,發布上線。
應用的發布上線通常會有不同的周期,例如移動端會有統一的發版時間,而網頁版只需要根據自己的節奏走,因此數據開始統計的時間是不同的。最後,應用應當對所有已發布的埋點數據,有統一的管理方法。
大多數時候,數據埋點的技術方案,只需要設計一次,但數據准確性的驗證,卻需要隨著產品的生命周期持續下去,因此僅僅依靠人肉來准確性驗證是不夠的,我們需要平台來支持自動化的工作。埋點的准確性,大體有兩種方法保障:一種是灰度環境下驗證真實用戶數據的准確性;另一種則是在線上環境中,驗證全量數據的准確性。因此,發布上線之後,後續的管理動作,應該是對現有流程的自動化管理,因為團隊大了,需要埋點的東西多種多樣,讓平台自己測試、自動化測試,就是很多測試團隊必須走的路
❻ 「知道如何埋數據點,取數據」是什麼意思
所謂「埋點」,是數據採集領域(尤其是用戶行為數據採集領域)的術語,指的是針對特定用戶行為或事件進行捕獲、處理和發送的相關技術及其實施過程。埋點的技術實質,是先監聽軟體應用運行過程中的事件,當需要關注的事件發生時進行判斷和捕獲,然後獲取必要的上下文信息,最後將信息整理後發送至伺服器端。所監聽的事件,通常由操作系統、瀏覽器、APP框架等平台提供,也可以在基礎事件之上進行觸發條件的自定義(如點擊某一個特定按鈕)。一般情況下,埋點可以通過監測分析工具提供的SDK來進行編程實現。埋點的業務意義顯而易見,即幫助定義和獲取分析人員真正需要的業務數據及其附帶信息。在不同場景下,業務人員關注的信息和角度可能不同。典型的應用場景有面向數字營銷領域的分析,以及面向產品運營領域的分析。前者注重來源渠道和廣告效果,後者更在意產品本身流程和體驗的優化。兩者各有側重,也可以有一些交叉。所以,對於不同的項目和分析目的,應當設計不同的埋點方案。近年來,埋點的方法論上也出現了一些業界新趨勢,如「無埋點」技術。所謂「無埋點」,是指不再使用笨拙的採集代碼編程來定義行為採集的觸發條件和後續行為,而是通過後端配置或前端可視化圈選等方式來完成關鍵事件的定義和捕獲,可以大幅提升埋點工作的效率和易用性。在「無埋點」的場景下,數據監測工具一般傾向於在監測時捕獲和發送盡可能多的事件和信息,而在數據處理後端進行觸發條件匹配和統計計算等工作,以較好地支持關注點變更和歷史數據回溯。當然,即便是「無埋點」技術,也仍然需要部署數據採集基礎SDK(又稱基礎代碼),這一點需要注意,容易產生誤區。