Ale*_*x G 4 javascript google-analytics callback
我在网站上有许多出站链接,我希望通过Google Analytics(analytics.js)进行跟踪.
Google 关于出站链接跟踪的文档很清楚,他们建议的实施对我有用.问题在于在新标签/窗口中打开的链接.Google建议通过回调函数打开链接,该功能会在跟踪事件发送到GA后更新document.location.但这显然不会在新标签中打开链接.而且,至关重要的是,使用window.open似乎成为弹出窗口拦截器的受害者.
这是Google建议的实施方式:
<script>
var trackOutboundLink = function(url) {
ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
function () {
document.location = url;
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
我可以简单地省略回调函数并让浏览器打开新标签,但如果我这样做,谷歌表示该活动有可能无法注册 - 我的跟踪将是不准确的.
如果您在点击时跟踪出站链接,并且您的链接将在新窗口或选项卡中打开,则您不必担心回调.该页面将很好地跟踪事件.该问题来自同一帧中的链接,因为具有点击跟踪的页面在发送点击事件的同时被拆除.因此,对于在新窗口/选项卡中具有目标的链接,请不要担心,因为您的正常点击事件将正常工作.
如果您需要跟踪出站链接但关注当前标签/窗口中打开的链接,则一种解决方案是使用服务器端重定向脚本执行Google Analytics跟踪.它有点像这样:
mousedown,通过JavaScript替换链接的href属性.从http://example.com到/yourTrackingScript?gaCategory=Something&gaEvent=Click&gaLabel=SomeLink&url=http%3A%2F%2Fexample.com.发生这种情况非常重要,这样mousedown如果有人右键单击您在新标签/窗口中打开的链接,仍会插入服务器端跟踪脚本.Google在搜索结果页面上使用此方法./yourTrackingScript使用测量协议将您的活动从服务器端发布到Google Analytics ./yourTrackingScript 响应302重定向到查询字符串中传递的任何URL.