2

我的 html 中有这样的出站链接:

<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 的 head 部分并在onClick 功能。

根据其他一些答案,例如何时以及为什么在 JavaScript 中“返回 false”?,return false 语句将告诉事件(onClick)不被触发,这不是我想要的,因为我确实希望它被触发,但是在我的 2 个 GA 事件被触发之后。

所以,我有3个问题:

1) 1 次点击触发超过 1 个 GA 事件(使用 _trackEvent)有什么问题吗?最好的方法是什么?

2) 为什么上面的 Google Analytics 链接声明该函数应该放在 html 的 head 部分?

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

4

2 回答 2

4

1) 1 次点击触发超过 1 个 GA 事件(使用 _trackEvent)有什么问题吗?最好的方法是什么?

不,这没有问题,尽管您可以一键完成。一键多指令

2) 为什么上面的 Google Analytics 链接声明该函数应该放在 html 的 head 部分?

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

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

我的理解是它会阻止元素的默认行为,如果在函数调用之后列出它应该对该函数调用没有影响。正如您引用的问题的答案之一所述:

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

在您提供的 Google 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
}
于 2012-02-23T14:31:51.827 回答
0

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

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

于 2012-02-23T15:41:23.160 回答