網(wǎng)站分析:GA監(jiān)測商務(wù)通在線客服的對話數(shù)
一、為什么要使用GA監(jiān)測商務(wù)通等在線客服的對話數(shù)?主要是為了有效的區(qū)分對話的來源。本來呢,這個(gè)事情應(yīng)該是在線客服服系統(tǒng)去做。如果想要有效的區(qū)分一個(gè)流量的來源,需要Landing page URL和re
一、為什么要使用GA監(jiān)測商務(wù)通等在線客服的對話數(shù)?
主要是為了有效的區(qū)分對話的來源。本來呢,這個(gè)事情應(yīng)該是在線客服服系統(tǒng)去做。如果想要有效的區(qū)分一個(gè)流量的來源,需要Landing page URL和referer配合才可以。目前大部分在線客服系統(tǒng)對這方面的支持都不是那么好,而對于GA等網(wǎng)站分析工具,在區(qū)分流量來源這方面做的則比較好。 因此,產(chǎn)生了這樣的需求,用GA來跟蹤在線客服的對話數(shù)。
二、跟蹤的基本思路
這個(gè)的跟蹤思路其實(shí)與出站點(diǎn)擊、文件下載的思路一致,就是在點(diǎn)擊對話窗口時(shí)運(yùn)行_trackPageview或者_(dá)trackEvent記錄下來就 可以了。但是,有一點(diǎn)不同是,對話窗口一般都是通過JS動(dòng)態(tài)輸出的,因此,我們需要通過在Dom樹上查找到對應(yīng)的元素,并添加事件監(jiān)聽,當(dāng)用戶點(diǎn)擊對話按 鈕時(shí),則調(diào)用_trackPageview或者_(dá)trackEvent記錄。
這里比較麻煩的是從Dom樹里找到要監(jiān)聽onclick事件的對象。
三、具體的跟蹤實(shí)例
先介紹一個(gè)函數(shù)。
function startListening (obj,evnt,func) { if (obj.addEventListener) { obj.addEventListener(evnt,func,false); } else if (obj.attachEvent) { obj.attachEvent("on" + evnt,func); }}
這個(gè)主要是用來搞定瀏覽器兼容性。
這里有三個(gè)參數(shù):
obj:要添加事件監(jiān)聽的對象。
event:要監(jiān)聽的事件,不需要寫on。
func:捕捉到事件后要運(yùn)行的函數(shù)。這里要注意的是,func只需要寫函數(shù)名,而不需要(),其含義是當(dāng)對應(yīng)事件發(fā)生了,運(yùn)行函數(shù),而不是函數(shù)的結(jié)果。
這個(gè)函數(shù)還有許多用途,比如監(jiān)測頁面內(nèi)所有鏈接的點(diǎn)擊情況,跟蹤出站鏈接等等。
接下來首先是找到要監(jiān)聽的事件對象。
首先,我用firebug查看輸出的對話窗口,找到這兩個(gè)圖片所在的位置。
<table id=”LR_Tb4″ align=”center” cellspacing=”0″ cellpadding=”0″ style=”WIDTH: 400px; HEIGHT: 104px;border:0;margin:0; padding:0;”>,輸入這個(gè)table下面的兩個(gè)a標(biāo)簽。var table1=document.getElementById("LR_Tb4")var links=table1.getElementsByTagName("a")
通過ID和tagName我們定位了這兩個(gè)a標(biāo)簽。
接下來就是定義要運(yùn)行的函數(shù)。
function textacc(){ alert("接受") _gaq.push(['_trackPageview','/商務(wù)通/接受']);}function textre(){ alert("拒絕") _gaq.push(['_trackPageview','/商務(wù)通/拒絕']);}
為了測試,我添加了兩個(gè)alert。
最后,是為這兩個(gè)按鈕添加事件監(jiān)聽,當(dāng)按鈕發(fā)生點(diǎn)擊事件時(shí),調(diào)用對應(yīng)的函數(shù)。
至此,基本的監(jiān)測代碼就完整了。
最后一步就是在GA中定義對應(yīng)目標(biāo)了。
四、一些注意事項(xiàng)
1、在線客服系統(tǒng)提供多種咨詢圖標(biāo),不同的咨詢圖標(biāo),需要監(jiān)聽的對象不同,比如,我看到的商務(wù)通,有兩種圖標(biāo)。
2、商務(wù)通系統(tǒng)的加載比較慢,為避免由于商務(wù)通加載未成功而造成的錯(cuò)誤,可以將這些監(jiān)測代碼作為一個(gè)函數(shù),在window onload完成的時(shí)候去運(yùn)行。
3、這種方式只能監(jiān)測用戶是否點(diǎn)擊咨詢按鈕,但是,無法確定是否是有效咨詢。
4、如果在線客服使用的是Flash形式,這種方法無效。
五、完整的代碼示例
function trackChat(){ if (document.getElementById("LR_Tb4")){ var table1=document.getElementById("LR_Tb4") var links=table1.getElementsByTagName("a") startListening(links[0],"click",textacc); startListening(links[1],"click",textre); } if (document.getElementById("LRfloater0")){ var _divchat=document.getElementById("LRfloater0") var _imgchat=_divchat.getElementsByTagName("img") startListening(_imgchat[1],"click",textacc); }}startListening(window,"load",trackChat);function startListening (obj,evnt,func) { if (obj.addEventListener) { obj.addEventListener(evnt,func,false); } else if (obj.attachEvent) { obj.attachEvent("on" + evnt,func); }}function textacc(){ _gaq.push(['_trackPageview','/商務(wù)通/接受']);}function textre(){ _gaq.push(['_trackPageview','/商務(wù)通/拒絕']);}