本文檔為您介紹如何通過WebTracking采集日志數據到日志服務中,并對采集到的日志數據進行查詢和分析。
背景信息
當發送重要郵件時為了確認對方已讀,都會在郵件中設置讀取回執標簽,可以在對方已讀時收到提醒信息。讀取回執這種模式用途很廣,例如。
發送傳單時,確保對方已讀。
推廣網頁時,多少用戶做了點擊。
移動App運營活動頁面,分析用戶訪問情況。
對這類個性化的采集與統計,針對網站與站長的傳統方案都無法勝任,主要難點在于。
個性化需求難滿足:用戶產生行為并非移動端場景,其中會包括一些運營個性化需求字段,例如:來源、渠道、環境、行為等參數。
開發難度大/成本高:為完成一次數據采集、分析需求,首先需要購買云主機、公網IP、開發數據接收服務器、消息中間件等,并且通過互備保障服務高可用。接下來需要開發服務端并進行測試。
使用不易:數據達到服務端后,還需要工程師先清洗結果并導入數據庫,生成運營需要的數據。
無法彈性:無法預估用戶的使用量,因此需要預留很大的資源池。
從以上幾點看,當一個面向內容投放的運營需求來了后,如何能以快捷的手段滿足這類用戶行為采集、分析需求是一個很大的挑戰。
日志服務提供Web Tracking、JS、Tracking Pixel SDK用于解決以上輕量級埋點采集場景,可以在1分鐘時間內完成埋點和數據上報工作。
功能特點
這里引入采集+分析方案基于阿里云日志服務,該服務是針對日志類數據的一站式服務,無需開發就能快捷完成海量日志數據的采集、消費、投遞以及查詢分析等功能,提升運維、運營效率。服務功能包括。
LogHub:實時采集與消費。與Blink、Flink、Spark Streaming、Storm、Kepler等打通。
數據投遞:LogShipper。與MaxCompute、E-MapReduce、OSS、Function Compute等打通。
查詢與實時分析:LogSearch/Analytics。與DataV、Grafana、Zipkin、Tableau等打通。
采集端優勢
日志服務提供30+種數據采集方式,針對服務器、移動端、嵌入式設備及各種開發語言都提供完整的解決方案。
Logtail:針對X86服務器設計Agent。
Android/iOS:針對移動端SDK。
Producer Library:面向受限CPU/內存、智能設備。
本文檔中介紹的輕量級采集方案(Web Tracking)只需一個HTTP Get請求即可將數據傳輸至日志服務Logstore端,適應各種無需任何驗證的靜態網頁、廣告投放、宣傳資料和移動端數據采集。相比其他日志采集方案,特點如下。
Web Tracking接入流程
Web Tracking(也叫Tracking Pixel)術語來自于HTML語法中的圖片標簽,即您可以在頁面上嵌入一個0 Pixel圖片,該圖片默認對用戶不可見,當訪問該頁面顯示加載圖片時,會順帶發起一個Get請求到服務端,這個時候就會把參數傳給服務端。具體操作,請參見使用Web Tracking采集日志。
應用場景
當您有一個新內容時(例如新功能、新活動、新游戲、新文章),作為運營人員總是迫不及待地希望能盡快傳達到用戶,因為這是獲取用戶的第一步、也是最重要的一步。
以游戲發行為例,市場很大一筆費用進行游戲推廣,例如投放了1W次廣告。廣告成功加載的有2000人次,約占20%。其中點擊的有800人次,最終下載并注冊賬號試玩的往往少之又少。
可見,能夠準確、實時地獲得內容推廣有效性對于業務非常重要。為了達到整體推廣目標,運營人員往往會挑選各個渠道來進行推廣。
用戶站內信(Mail)、官網博客(Blog)、首頁文案(Banner等)。
短信、用戶Email、傳單等。
新浪微博、釘釘用戶群、微信公眾賬號、知乎論壇、今日頭條等新媒體。
操作步驟
開啟Web Tracking功能。
在日志服務中創建一個Logstore(例如叫:myclick),并開啟WebTracking功能。
生成Web Tracking標簽。
為需要宣傳的文檔(article=1001)面對每個宣傳渠道增加一個標識,并生成Web Tracking標簽(以Img標簽為例)。
站內信渠道(mailDec)。
<img src="http://example.cn-hangzhou.log.aliyuncs.com/logstores/myclick/track_ua.gif?APIVersion=0.6.0&from=mailDec&article=1001" alt="" title="">
官網渠道(aliyunDoc)。
<img src="http://example.cn-hangzhou.log.aliyuncs.com/logstores/myclick/track_ua.gif?APIVersion=0.6.0&from=aliyundoc&article=1001" alt="" title="">
用戶郵箱渠道(email)。
<img src="http://example.cn-hangzhou.log.aliyuncs.com/logstores/myclick/track_ua.gif?APIVersion=0.6.0&from=email&article=1001" alt="" title="">
其他更多渠道可以在from參數后加上,也可以在URL中加入更多需要采集的參數。
將img標簽放置在宣傳內容中,并進行發布。
分析日志。
在完成埋點采集后,您可以使用日志服務LogSearch/Analytics功能對海量日志數據進行實時查詢與分析。在結果分析可視化上,除自帶Dashboard外,還支持DataV、Grafana、Tableau等對接方式。
以下是截止目前采集日志數據,您可以在搜索框中輸入關鍵詞進行查詢。
也可以在查詢后輸入SQL進行秒級的實時分析并可視化。
設計查詢語句。
以下是對用戶點擊、閱讀日志進行實時分析的語句,更多字段和分析場景可以參見分析語法。
當前投放總流量與閱讀數。
* | select count(1) as c
每個小時閱讀量的曲線。
* | select count(1) as c, date_trunc('hour',from_unixtime(__time__)) as time group by time order by time desc limit 100000
每種渠道閱讀量的比例。
* | select count(1) as c, f group by f desc
閱讀量來自哪些設備。
* | select count_if(ua like '%Mac%') as mac, count_if(ua like '%Windows%') as win, count_if(ua like '%iPhone%') as ios, count_if(ua like '%Android%') as android
閱讀量來自哪些省市。
* | select ip_to_province(__source__) as province, count(1) as c group by province order by c desc limit 100
將這些實時數據配置到一個實時刷新Dashboard中。