1

我正在尝试在我的“轮播广告”中实施 trackevent,但点击次数并未计入 Google Analytics(分析)。

我正在使用一个 javascript 数组来存放我的链接、图像和 trackevent 标签。

我在 div 中调用脚本并将我的锚点和图像插入到同一个 DIV 中。

这是我的脚本:

for (var i=0; i < imgArr.length; i++) {
 strCreateLink = "<a href='" + imgArr[position][1] + "' target='_blank' onclick='_gaq.push(['_trackEvent', 'AdClick', 'Click', '"+ imgArr[position][2] + "']);return false;'><img src='" + imgArr[position][0] + "' /></a>";}
 document.getElementById(ele).innerHTML = strCreateLink;

当我将元素静态放置在页面上时,它会起作用。我也尝试过将 onclick 放在 IMG 上。

任何想法为什么谷歌不计算这些点击?

谢谢!

4

3 回答 3

1

在这种情况下,您只需要使用引号修复语法错误:

 onclick='_gaq.push([\"_trackEvent\", \"AdClick\", \"Click\", \""+ imgArr[position][2] + "\"]);return false;'
于 2013-08-29T14:21:43.097 回答
0

这是针对新的 Google Analytics(分析)配置文件吗?如果是这样,您使用的是 Universal Analytics (analytics.js) 还是旧版 ga.js?

如果您使用的是 Universal Analytics,请确保您使用的是正确的功能,因为它相对较新。网络上的大多数 GA 文档都是针对 ga.js 的。

于 2013-08-28T17:38:30.607 回答
0

我以前遇到过这个挑战。您需要确保分析有机会在单击链接的默认功能将浏览器带到新页面之前发送信标。我解决它的方法是创建一个函数来处理发送事件信标的出站链接,并延迟到点击href100 毫秒。您可能希望将其重命名为更适合您的用例。

function trackOutboundLink(link, category, action, label) {
    try {
        _gaq.push(['_trackEvent', category , action, label]);
    } catch(err){}

    setTimeout(function() {
        document.location.href = link.href;
    }, 100);
}

要调用此方法onclick,您必须记住返回 false。这是一个例子:

<a href="http://www.google.com/"
   onclick="trackOutboundLink(this,
   'Outbound Links', 'google.com',
   'Google Outbound'); return false;">outbound link</a>

如果没有return false;,浏览器将href立即跟随。onclick或者,您可以使用to call捕获事件对象event.preventDefault(),这将具有相同的效果(并且可能更优雅......)。

于 2013-08-28T18:07:48.933 回答