Javascript Google Analytics:如何跟踪在新选项卡中打开的出站链接?

Javascript Google Analytics:如何跟踪在新选项卡中打开的出站链接?,javascript,google-analytics,callback,Javascript,Google Analytics,Callback,我在一个网站上有很多出站链接,我希望通过Google Analytics(Analytics.js)跟踪这些链接 谷歌的目标是明确的,他们建议的实现对我来说是可行的问题在于在新选项卡/窗口中打开的链接。谷歌建议通过一个回调函数打开链接,一旦跟踪事件发送给GA,该函数将更新document.location。但这显然不会在新选项卡中打开链接。而且,至关重要的是,使用window.open似乎成了弹出窗口拦截器的牺牲品 这是谷歌建议的实施方案: <script> var trackOut

我在一个网站上有很多出站链接,我希望通过Google Analytics(Analytics.js)跟踪这些链接

谷歌的目标是明确的,他们建议的实现对我来说是可行的问题在于在新选项卡/窗口中打开的链接。谷歌建议通过一个回调函数打开链接,一旦跟踪事件发送给GA,该函数将更新document.location。但这显然不会在新选项卡中打开链接。而且,至关重要的是,使用window.open似乎成了弹出窗口拦截器的牺牲品

这是谷歌建议的实施方案:

<script>
var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
     function () {
     document.location = url;
     }
   });
}
</script>

var trackOutboundLink=函数(url){
ga('send','event','outbound','click',url,{'hitCallback':
函数(){
document.location=url;
}
});
}

我可以简单地省略回调函数,让浏览器打开新的选项卡,但如果我这样做,谷歌说事件有可能无法注册,我的跟踪将不准确。

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

如果您需要跟踪出站链接,但担心在当前选项卡/窗口中打开链接,一个解决方案是使用服务器端重定向脚本进行Google Analytics跟踪。它的工作原理有点像这样:

  • mousedown
    上,通过JavaScript替换链接的href属性。从
    http://example.com
    /yourTrackingScript?gaCategory=Something&gaEvent=Click&gaLabel=SomeLink&url=http%3A%2F%2Fexample.com
    。重要的是,这种情况发生在
    mousedown
    上,这样,如果有人右键单击您的链接以在新选项卡/窗口中打开,服务器端跟踪脚本仍将插入。谷歌在他们的搜索结果页面上使用这种方法
  • /yourTrackingScript
    使用将事件从服务器端发送到Google Analytics
  • /yourTrackingScript
    响应302重定向到查询字符串中传递的任何URL
  • 用户被重定向到最终目的地,这一切通常发生得很快,甚至他们都没有注意到

如果链接将在新选项卡中打开,则跟踪将在没有回调的情况下工作,因为带有跟踪代码的选项卡仍处于打开状态。您可以在那里插入if语句,并且仅在链接没有
target=“\u blank”
时添加回调。