接上文,我們的數(shù)據(jù)的中,如果想記錄用戶(hù)的點(diǎn)擊行為,一般會(huì)有兩種方式進(jìn)行記錄。
一種方式是在點(diǎn)擊上埋點(diǎn)的方式,在點(diǎn)擊的代碼中加入一些代碼,例如seed=“submit“ 這樣的代碼, 跟蹤的JS在用戶(hù)點(diǎn)擊的時(shí)候向數(shù)據(jù)記錄的服務(wù)器回發(fā)數(shù)據(jù)代碼的記錄。這樣的埋點(diǎn)可以放在有跳轉(zhuǎn)產(chǎn)生的鏈接上,也可以放在例如checkBOX這樣的控件上。
這樣操作的好處是:
·成本相對(duì)比較低,在整個(gè)頁(yè)面的操作上,由于用戶(hù)的點(diǎn)擊一般不超過(guò)頁(yè)面記錄的兩倍,所以這個(gè)數(shù)據(jù)的傳輸量并不是很大。
· 可以記錄用戶(hù)絕大多數(shù)的操作記錄,并且可以根據(jù)數(shù)據(jù)分析很多的數(shù)據(jù)問(wèn)題。
· 記錄丟失量很小,由于是用戶(hù)觸發(fā)的操作,這個(gè)數(shù)據(jù)99.5%以上可以被記錄下來(lái)。
這個(gè)方案存在的一些問(wèn)題:
· 沒(méi)有埋點(diǎn)的空點(diǎn)擊無(wú)法記錄;
· 所有監(jiān)控的頁(yè)面位置都需要進(jìn)行埋點(diǎn)的處理,這對(duì)開(kāi)發(fā)來(lái)說(shuō)是一定的成本。
· 只能知道用戶(hù)點(diǎn)擊行為,但是不知道這個(gè)行為是在那個(gè)位置發(fā)生。
另一種方式是采用點(diǎn)擊記錄的方式,通過(guò)頁(yè)面上的觸發(fā)器,鼠標(biāo)每次點(diǎn)擊的時(shí)候,向服務(wù)器請(qǐng)求一個(gè)信息。并且擺放在鼠標(biāo)當(dāng)前的坐標(biāo)上。
這樣操作的好處是:
· 無(wú)需要對(duì)頁(yè)面進(jìn)行其他的處理,只要進(jìn)行添加整體的代碼就可以。
· 可以記錄到詳細(xì)的每一個(gè)點(diǎn)擊的行為,只要用戶(hù)是在這個(gè)頁(yè)面上點(diǎn)擊操作都可以記錄,即使用戶(hù)是在頁(yè)面上空點(diǎn)。
這個(gè)方案存在的一些問(wèn)題:
· 頁(yè)面的成本很高,需要監(jiān)控頁(yè)面上的所有點(diǎn)擊行為,這對(duì)頁(yè)面本身的壓力就很大,甚至很可能因此而改變用戶(hù)的行為。
· 記錄量增大,用戶(hù)的行為產(chǎn)生的數(shù)據(jù)量遠(yuǎn)大于上一個(gè)方案中的數(shù)據(jù)。
· 頁(yè)面代碼的要求增高,因?yàn)槭歉鶕?jù)坐標(biāo)定位的,所以定位需要注意。
· 數(shù)據(jù)處理極其復(fù)雜,受瀏覽器,屏幕分辨率,CSS代碼等問(wèn)題影響較大。這點(diǎn)的分析上,必須結(jié)合瀏覽器內(nèi)核和分辨率進(jìn)行分析。例如自適應(yīng)的頁(yè)面,你很可能發(fā)現(xiàn)用戶(hù)在某個(gè)位置有空點(diǎn)擊,而事實(shí)上,在他的分辨率下,按鈕正好是在那個(gè)位置上。
在應(yīng)用上,記錄第一種方案的信息就已經(jīng)夠分析了。第二個(gè)方案主要是用在A/B的test上。
以一個(gè)例子說(shuō)明各個(gè)方式之間的差別:
例如分析瀏覽器的刷新,點(diǎn)擊瀏覽器的刷新會(huì)產(chǎn)生一個(gè)本頁(yè)面到本頁(yè)面的跳轉(zhuǎn),在頁(yè)面上點(diǎn)擊鏈接也可能產(chǎn)生一個(gè)本頁(yè)面到本頁(yè)面的跳轉(zhuǎn),以B頁(yè)面命名刷新的頁(yè)面。A頁(yè)面上有到B頁(yè)面的一個(gè)鏈接。
· 在服務(wù)器日志的記錄上可能沒(méi)辦法區(qū)分出本頁(yè)面到本頁(yè)面的跳轉(zhuǎn),因?yàn)樯厦娓緵](méi)有來(lái)源頁(yè)面,連著的B頁(yè)面的記錄,可能是在A頁(yè)面上點(diǎn)擊B的鏈接,,第一次出現(xiàn)B頁(yè)面,之后刷新B頁(yè)面。也可能是兩次的在A頁(yè)面上點(diǎn)擊B頁(yè)面的鏈接。
· 但是使用了js或者圖片的跟蹤系統(tǒng)以后,通過(guò)來(lái)源頁(yè)面就可以找到這類(lèi)的數(shù)據(jù),如果來(lái)源頁(yè)面是B和當(dāng)前頁(yè)面也是B,那么可以證明是B頁(yè)面到B頁(yè)面自身的跳轉(zhuǎn)。但是這個(gè)刷新是來(lái)自于頁(yè)面的點(diǎn)擊,還是瀏覽器上的刷新,就不得而知了。
· 靠著埋點(diǎn)的方式,如果是頁(yè)面上的點(diǎn)擊的話,則會(huì)在B頁(yè)面到B頁(yè)面,這條記錄之前有一個(gè)頁(yè)面的點(diǎn)擊記錄。如果存在點(diǎn)擊記錄,則證明用戶(hù)是在B頁(yè)面上點(diǎn)擊了一個(gè)鏈接,如果是沒(méi)有這個(gè)點(diǎn)擊記錄,則證明用戶(hù)點(diǎn)擊的是瀏覽器的刷新。
事實(shí)上,點(diǎn)擊記錄可以做到的事情更多,如果可以在埋點(diǎn)的命名上作一些規(guī)則的話,多窗口的操作等等信息,都可以根據(jù)埋點(diǎn)的信息分析到。
Copyright since 2005,問(wèn)鼎科技(58wd.com) 服務(wù)電話:400-666-4165 地址:成都市IT大道蜀清路239號(hào) 蜀ICP備10202221號(hào)