Google Analytics:如何跟踪在新标签中打开的出站链接?

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)

我可以简单地省略回调函数并让浏览器打开新标签,但如果我这样做,谷歌表示该活动有可能无法注册 - 我的跟踪将是不准确的.

Bra*_*rad 9

如果您在点击时跟踪出站链接,并且您的链接将在新窗口或选项卡中打开,则您不必担心回调.该页面将很好地跟踪事件.该问题来自同一帧中的链接,因为具有点击跟踪的页面在发送点击事件的同时被拆除.因此,对于在新窗口/选项卡中具有目标的链接,请不要担心,因为您的正常点击事件将正常工作.

如果您需要跟踪出站链接但关注当前标签/窗口中打开的链接,则一种解决方案是使用服务器端重定向脚本执行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.
  • 用户被重定向到最终目的地,这通常发生在他们甚至没有注意到的快速通道上.