我正在考虑将onclick事件附加到我网站上的内部链接,以进行一些Google Analytics事件跟踪。但我担心表现。我的理解是工作流程会发生变化:
我担心步骤2和3引入的延迟。所以问题是:
答案 0 :(得分:2)
事件跟踪的工作原理是向Google服务器发出图像请求。问题是,在链接到新URL后会停止任何待处理/正在进行的请求。如果浏览器在跟踪请求发出之前在同一窗口中打开指向新URL的链接,则可能会丢失分析数据。 / p>
因此,步骤3不是等待,而是必须添加延迟以允许跟踪图像请求完成(或至少开始)。对于请求,100-150毫秒足够长,但足够短,不会被用户注意到。
我使用以下事件跟踪代码(jQuery代码)的一些变体:
$('.someClassForTracking').click(function(e){
_gaq.push(['_trackEvent', category, action, ...]);
if (this.target != '_blank') {
e.preventDefault();
var url = this.href;
setTimeout(function(){location.href = url}, 150);
}
});
答案 1 :(得分:1)
您可以使用hitCallback
机制,该机制已记录为analytics.js
,但也适用于ga.js
。
另一个问题是Track event in google analytics upon clicking form submit
答案 2 :(得分:1)
您需要添加' hitCallback'一旦跟踪在GA结束时触发,它就会触发。不要担心超时,因为如果GA需要很长时间才能收到回复,这个事件就会触发 - 简而言之就是处理事件超时。
<script>
/**
* Function that tracks a click on an outbound link in Google Analytics.
* This function takes a valid URL string as an argument, and uses that URL string
* as the event label.
*/
var trackOutboundLink = function(url) {
ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
function () {
document.location = url;
}
});
}
</script>
您还需要在链接中添加(或修改)onclick属性。将此示例用作您自己链接的模型:
<a href="http://www.example.com" onclick=”trackOutboundLink(‘http://www.example.com’); return false;">Check out example.com</a>
从这里采取:https://support.google.com/analytics/answer/1136920?hl=en
答案 3 :(得分:0)
我之前已经实施过GA,无论是内部还是外部,并没有看到性能上的显着差异。此外,我相信跟踪链接点击的最新方法允许跟踪异步完成。
Collections- Google Developers Guide
以这种方式添加跟踪将允许用户在异步完成跟踪时遵循链接操作。
onclick="_gaq.push(['_trackEvent', 'myLink', 'clicked'])"