2012-02-23 53 views
2

我在我的HTML出站链接是这样的:射击2个谷歌分析事件与出站链接

<a href="http://www.example.com" class="gaLink1" 
target="_blank" onCLick="ga_track_link('action', '123', 'abcde', 'fghij')"> 
<img src="http://www.example.com/image.jpg" alt="image name" height="180" style="max-width:153px;max-height:150px;" /> 
</a> 

所以,当有这个图片上点击,链接www.example.com应打开一个新的标签,因为有target =“_ blank”。此外,onclick事件将调用其定义为功能ga_track_link:

function ga_track_link(action, id, name, source) { 
    _gaq.push(['_trackEvent', 'category 1', action, id+': '+name]); 
    _gaq.push(['_trackEvent', 'category 2', 'example', source, 15]); 
} 

此功能在脚本部分定义在HTML结束(身体部分内)

我观察在GA中,两个事件都被跟踪(类别1和2),但是跟踪的次数不相等。类别2出现几乎一半的时间,这让我认为第二个事件并不总是被解雇。

我发现这个链接http://support.google.com/googleanalytics/bin/answer.py?hl=en&answer=55527 ,建议将函数“ga_track_link”放在html头部分,并在onClick函数中使用返回False。

根据When and why to 'return false' in JavaScript?等其他答案,返回false语句会告诉事件(onClick)不被触发,这不是我想要的,因为我确实希望它被解雇,但在我的2个GA事件之后被解雇。

所以,我有3个问题:

1)是否有1次点击射击超过1个GA事件(与_trackEvent)任何问题吗?什么是最好的方式来做到这一点?

2)为什么上面的Google Analytics链接指出该函数应该放在html头部分?

3)可有人请澄清“返回false”语句的目标以及如何正确使用它呢?

回答

3

1)是否有1次点击射击超过1个GA事件(与_trackEvent)任何问题吗?什么是最好的方式来做到这一点?

不,没有问题,虽然你可以一举两得。 One Push, Multiple Commands

2)为什么上面的Google Analytics链接指出函数应该放在html头部分?

因为用户可能在javascript有时间加载页面之前点击链接。

3)有人可以澄清“返回false”声明的目标以及如何正确使用它?

我的理解是,它可以防止元素的默认行为,如果在函数调用后列出,它应该对该函数调用没有影响。这就像在回答你提到的问题之一表示:

<a href="#" onclick="doSomeFunction(); return false;"> 

在您提供的谷歌Analytics(分析)支持链接,该return false;从马上发送用户关闭该网站停止链接。它会事先运行跟踪功能,然后在延迟后将用户重定向到外部站点。这允许跟踪代码在重定向之前需要发送关闭的时间。

function recordOutboundLink(link, category, action) { 
    _gat._getTrackerByName()._trackEvent(category, action); //set tracking 
    setTimeout('document.location = "' + link.href + '"', 100); // redirect to external site after delay 
} 
+0

我投了你的答案,因为运行我会尝试的一个推送,多个命令,看是否能解决我的问题,虽然“返回false”的问题仍不清楚我。如果此解决方案完美的作品,我会标记为“接受的答案” – duduklein 2012-02-23 16:31:00

+0

@duduklein我修改我的回答clarfiy了'返回false;'的问题。 – 2012-02-23 17:02:00

+0

谢谢!现在很清楚 – duduklein 2012-02-23 17:46:01

0

你对使用ga_track_link()功能的所有链接target="_blank"

如果链接在同一个窗口中打开,则有可能由_trackEvent制作的跟踪像素请求可能没有时间在新页面开始获取之前完成。如果链接在新窗口中打开,则不是问题。

+0

是的,我到处都有 – duduklein 2012-02-23 16:31:53