如果您需要收集和分析用戶在瀏覽器、小程序上的信息,例如用戶的瀏覽器、瀏覽行為記錄、購買行為記錄、停留時間,可以使用WebTracking功能。只需對業務代碼進行較少的改動,例如在前端頁面中添加追蹤像素或集成JavaScript SDK,就可以將用戶行為信息上傳到日志服務的Logstore中。
什么是Web Tracking?
Web Tracking是一種通過向網站頁面添加特定代碼段,來跟蹤用戶行為的技術。它可以收集有關用戶如何與網站交互的信息,例如訪問的頁面、停留時間以及地理位置。
Web Tracking的原理是在網站頁面上嵌入一個不可見、尺寸為1x1像素的圖片,當用戶訪問該頁面時,瀏覽器會向服務器發起GET請求,此時會自動將請求URL中的參數即用戶日志傳遞給日志服務進行存儲。這些請求通常包含有關用戶的信息,例如他們的 IP 地址、瀏覽器類型和操作系統。
日志服務Web Tracking功能用于在瀏覽器、小程序中跟蹤用戶行為并將行為數據上傳到日志服務中,便于您分析用戶行為等。您可以通過Web Tracking采集各種瀏覽器、iOS App或Android App的用戶信息,例如:
用戶使用的瀏覽器、操作系統、分辨率等信息。
用戶瀏覽行為記錄(例如:用戶在網站上的單擊行為、購買行為等信息)。
用戶在App中的停留時間、是否活躍等信息。
步驟一:開啟Logstore的Web Tracking開關
打開Web Tracking開關,則表示該Logstore打開互聯網匿名寫入權限,沒有經過有效鑒權,可能產生臟數據。推薦結合安全令牌服務STS(Security Token Service)采集日志,無需開啟Logstore的Web Tracking開關,具體操作步驟參見文末的使用Web Tracking和STS采集日志。
控制臺
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在
頁簽中,選擇目標Logstore右側的 。在Logstore屬性頁面,單擊頁面右上方的修改。
打開WebTracking開關,然后單擊保存。
API
調用UpdateLogStore,通過設置
enable_tracking
參數打開WebTracking開關。
步驟二:接入Web Tracking
客戶端SDK:在代碼中集成JavaScript SDK,將自定義類型的日志上傳到Logstore,例如表單提交、頁面提交、異常報告。
HTTP GET請求:在網站的前端代碼中發送GET請求,適合簡單日志的收集。
HTML img標簽:利用HTML的
<img>
標簽的src
屬性發起對網站服務器的請求,請求的URL指向一個GIF圖像,不需要JavaScript環境,也不需要設置跨域訪問。OpenAPI:如果請求的數據量較大,您可以使用OpenAPI通過POST請求上傳數據。
客戶端SDK
初始化SDK和上傳日志的步驟請參見WebTracking 網頁端 JavaScript SDK、WebTracking 小程序端 JavaScript SDK。
HTTP GET請求
在curl工具執行以下命令,通過HTTP請求上傳日志,請根據實際值替換參數。
curl --request GET 'http://${project}.${host}/logstores/${logstore}/track?APIVersion=0.6.0&key1=val1&key2=val2'
參數 | 是否必填 | 說明 |
${project} | 是 | Project名稱。 |
${host} | 是 | 日志服務所在地域的Endpoint。更多信息,請參見服務入口。 |
${logstore} | 是 | Logstore名稱。 |
APIVersion=0.6.0 | 是 | 保留字段。 |
__topic__=yourtopic | 否 | 指定日志主題。 |
key1=val1&key2=val2 | 是 | 您要上傳到日志服務的字段名稱和字段值(Key-Value),支持設置多個字段,請確保長度小于16 KB。 |
HTML img標簽
在網站的前端頁面中添加以下標簽:
track_ua.gif
除了上傳自定義的參數外,還會將HTTP請求頭中的UserAgent、referer也作為日志中的字段。如果您需要采集HTTPS頁面的referer,那么下述鏈接也必須為HTTPS。
<img src='http://${project}.${host}/logstores/${logstore}/track.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>
<img src='http://${project}.${host}/logstores/${logstore}/track_ua.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>
用戶訪問含有
<img>
標簽的網站。瀏覽器解析到
<img>
標簽,嘗試加載<img>
標簽中src
屬性的URL的圖片,導致瀏覽器向日志服務發送HTTP GET請求以嘗試加載圖片。日志服務收到HTTP GET請求后,解析URL中的字段名稱
key1
和key2
、字段值value1
和value2
并存儲,APIVersion
是保留字段不會出現在日志中。日志服務向瀏覽器返回不可見圖片。
OpenAPI
調用PutWebtracking接口上傳多條日志。
使用Web Tracking和STS采集日志
打開Web Tracking開關,則表示該Logstore開放互聯網匿名寫入權限,沒有經過有效鑒權,可能產生臟數據。通過安全令牌服務STS采集日志,無需開啟Web Tracking開關。完整操作流程請參見采集-搭建瀏覽器端日志直傳服務和采集-搭建小程序端日志直傳服務。JavaScript SDK的STS插件的初始化和上傳日志步驟,請參見使用WebTracking JavaScript SDK的STS插件上傳日志。