收藏本站|设为首页

您现在的位置: 首页 > 新闻中心 > 建站经验 > 详细内容

使用GA监测商务通等在线客服的对话

2012-09-17 10:51 来源: 卓杰科技 www.zhuojie.cc [ ]

一、为什么要使用GA监测商务通等在线客服的对话数?

主若是为了有用的区分对话的来历。原本呢,这个工作应该是在线客服服系统去做。如不美观想要有用的区分一个流量的来历,需要Landing page URL和referer配合才可以。今朝年夜部门在线客服系统对这方面的撑持都不是那么好,而对于GA等网站剖析工具,在区分流量来历这方面做的则斗劲好。 是以,发生了这样的需求,用GA来跟踪在线客服的对话数。

二、跟踪的根基思绪


var table1=document.getElementById("LR_Tb4")

这个的跟踪思绪其实与出站点击、文件下载的思绪一致,就是在点击对话窗口时运行_trackPageview或者_trackEvent记实下来就 可以了。可是,有一点分歧是,对话窗口一般都是经由过程JS动态输出的,是以,我们需要经由过程在Dom树上查找到对应的元素,并添加事务监听,当用户点击对话按 钮时,则挪用_trackPageview或者_trackEvent记实。


    obj.addEventListener(evnt,func,false);
}

先介绍一个函数。

function startListening (obj,evnt,func) {
  }
}

}
    var links=table1.getElementsByTagName("a")
function textre(){
    obj.attachEvent("on" + evnt,func);

这个主若是用来搞定浏览器兼容性。

这里有三个参数:

obj:要添加事务监听的对象。

event:要监听的事务,不需要写on。


  if (document.getElementById("LRfloater0")){

这个函数还有良多用途,好比监测页面内所有链接的点击情形,跟踪出站链接等等。

接下来首先是找到要监听的事务对象。

首先,我用firebug查看输出的对话窗口,找到这两个图片地址的位置。

<table id=”LR_Tb4″ align=”center” cellspacing=”0″ cellpadding=”0″ style=”WIDTH: 400px; HEIGHT: 104px;border:0;margin:0; padding:0;”>,输入这个table下面的两个a标签。
var links=table1.getElementsByTagName("a")

接下来就是界说要运行的函数。

function textacc(){
  alert("接管")
  _gaq.push(['_trackPageview','/商务通/接管']);

为了测试,我添加了两个alert。


  _gaq.push(['_trackPageview','/商务通/拒绝']);
}

最后,是为这两个按钮添加事务监听,当按钮发生点击事务时,挪用对应的函数。

四、一些注重事项


  _gaq.push(['_trackPageview','/商务通/接管']);

1、在线客服系统供给多种咨询停笔,分歧的咨询停笔,需要监听的对象分歧,好比,我看到的商务通,有两种停笔。

3、这种体例只能监测用户是否点击咨询按钮,可是,无法确定是否是有用咨询。

4、如不美观在线客服使用的是Flash形式,这种体例无效。

五、完整的代码示例

function trackChat(){
  } else if (obj.attachEvent) {
  if (document.getElementById("LR_Tb4")){
    var table1=document.getElementById("LR_Tb4")
    startListening(links[1],"click",textre);
  alert("拒绝")

func:捕捉到事务后要运行的函数。这里要注重的是,func只需要写函数名,而不需要(),其寄义是当对应事务发生了,运行函数,而不是函数的结不美观。


  }

至此,根基的监测代码就完整了。


    var _divchat=document.getElementById("LRfloater0")
    var _imgchat=_divchat.getElementsByTagName("img")
    startListening(_imgchat[1],"click",textacc);
  }
startListening(window,"load",trackChat);
  if (obj.addEventListener) {

三、具体的跟踪实例


  } else if (obj.attachEvent) {
    obj.attachEvent("on" + evnt,func);

这里斗劲麻烦的是年夜Dom树里找到要监听onclick事务的对象。


  }
}
    startListening(links[0],"click",textacc);
function textacc(){
  if (obj.addEventListener) {

2、商务通系统的加载斗劲慢,为避免因为商务通加载未成功而造成的错误,可以将这些监测代码作为一个函数,在window onload完成的时辰去运行。

经由过程ID和tagName我们定位了这两个a标签。


}
    obj.addEventListener(evnt,func,false);
function startListening (obj,evnt,func) {

最后一步就是在GA中界说对应方针了。


function textre(){
  _gaq.push(['_trackPageview','/商务通/拒绝']);
}

原文地址:http://www.zhuojie.cc/?