日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

干货:如何在前端统计用户访问来源?

發布時間:2025/3/19 HTML 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 干货:如何在前端统计用户访问来源? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用戶來源是網站數據分析中一個重要的指標,然而想要準確的統計來源卻并沒有唯一的方法。下面我們針對獲取來源的方式、來源的定義做一些具體的闡述;并且以?sensorsdata.cn?這個網站為例來做具體的來源分析。

1.前端獲取來源的兩種方式

1.1 通過給頁面加自定義參數來標志

第一種方案,是通過給頁面加自定義參數來標注用戶的來源,我們暫且把這個來源叫做from。

例如,我們將這個地址www.sensorsdata.cn?from=weibo通過營銷人員在微博中轉發,然后我們網站通過解析參數from就能取到來源weibo。?
對于這里的 from 這個自定義的參數,谷歌有個標準。一般來說可以用utm_source=weibo這樣來標記來源。其他的還有utm_medium utm_campaign utm_content utm_term等等,可以自行搜索下。

1.2 通過referrer實現

第二種方案,是通過用戶訪問的referer來定義用戶的來源,我們暫且把這個來源叫做referrer。

比如用戶在 baidu 中搜 'sensorsdata',然后跳轉到了 'www.sensorsdata.cn'。那我們通過document.referrer能取到來源是'http://www.baidu.com/link?url=2fhHMI-7QopsGnGaJppRU8suX290yzANr3PNY8fupUy&wd=&eqid=bbd4f5c00001ec4a0000000356a83851'。

由于referer的 URL 可能取值太多,那么更進一步,可以專門取一下 referer 的 host,用這個來做來源的標志。

1.3 兩種來源的綜合

如上面所描述的那樣,我們會有兩種來源方式,一個是我們做標記的來源 from,一個是固有的 referrer。我們既可以把這兩個來源都統計,也可以先取自定義標簽 from 再取 referrer(示例如下)。

if(自定義from){ 來源 = 自定義from }else{來源 = document.referrer //因為referrer取的過長,可以只取host如`baidu.com`來源 = 只截取referrer的host }sa.track('user_from',{from:來源,detail:document.referrer})


2. 來源的3種定義

2.1. 用戶首次打開頁面的時候的首次來源

在這里,我們把用戶首次打開頁面的時候的首次來源叫initial_referrer。 這里的 referrer 可以作為用戶的固有屬性,類似于姓名,也即是 Sensors Analytics 中的 profile 屬性。

在 JS-SDK 中可以這么實現:

//在引入js-sdk后加入以下代碼 sa.setOnceProfile({initial_referrer:document.referrer})

這個來源只會 set 一次,也就是一個瀏覽器端,只會有一個來源。


2.2 一個訪問周期內的訪問來源

一個訪問周期,也即用戶打開瀏覽器到關閉瀏覽器這個周期內的第一次來源,我們把他叫做session_referrer。

正常情況下,我們可以設置一個不加時間的 cookie 來標志這個網站的session周期。然而我在測試了一些瀏覽器后,發現并不理想。mac下safari和firefox,直接按關閉按鈕關閉瀏覽器,cookie還是存在的,但是點瀏覽器退出后,cookie是會清除掉的。而在mac下的chrome瀏覽器,設置cookie后,關閉瀏覽器,重新打開還是會存在。所以通過這個方式并不靠譜。?
不過我們可以通過設置一個限時的cookie來實現,比如60分鐘的session周期。這樣所有瀏覽器都能實現。也就是用戶打開頁面,然后60分鐘內的操作,這里的來源都認為是一個來源。60分鐘后再打開頁面,就認為是新的來源。

//頁面打開后 if(cookie中取到startFrom){ 來源 = cookie中的來源 }else{來源 = 當前來源setCookie('startFrom', 當前來源, 60分鐘) }


2.3 每個頁面的訪問來源

這個就是通常意義上的referrer?了,在每個頁面訪問時,都取referrer。

3. sensorsdata.cn的來源分析

sensorsdata會獲取initial_referrer和initial_from

sa.setProfileOnce({ initialReferrerUrl: document.referrer,initFromUrl: '根據url解析出來的來源' })

sensorsdata會在每次頁面打開的時候,取from和referrer

sa.track('page_open',{from:'解析url來源',referrer:document.referrer,referrerHost:''})

當然這里會有重復,如果是自己網站內的跳轉,如果需要過濾的話,可以自行做判斷過濾。

4. 其它

客戶 A 只想取某個頁面的自定義來源做為需求的來源

if(這個頁面有自定義來源){ sa.setProfileOnce({fromUrl:自定義來源}); }

總結

以上是生活随笔為你收集整理的干货:如何在前端统计用户访问来源?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。