Javascript Google Analytics:如何跟踪在新选项卡中打开的出站链接?
我在一个网站上有很多出站链接,我希望通过Google Analytics(Analytics.js)跟踪这些链接 谷歌的目标是明确的,他们建议的实现对我来说是可行的问题在于在新选项卡/窗口中打开的链接。谷歌建议通过一个回调函数打开链接,一旦跟踪事件发送给GA,该函数将更新document.location。但这显然不会在新选项卡中打开链接。而且,至关重要的是,使用window.open似乎成了弹出窗口拦截器的牺牲品 这是谷歌建议的实施方案:Javascript Google Analytics:如何跟踪在新选项卡中打开的出站链接?,javascript,google-analytics,callback,Javascript,Google Analytics,Callback,我在一个网站上有很多出站链接,我希望通过Google Analytics(Analytics.js)跟踪这些链接 谷歌的目标是明确的,他们建议的实现对我来说是可行的问题在于在新选项卡/窗口中打开的链接。谷歌建议通过一个回调函数打开链接,一旦跟踪事件发送给GA,该函数将更新document.location。但这显然不会在新选项卡中打开链接。而且,至关重要的是,使用window.open似乎成了弹出窗口拦截器的牺牲品 这是谷歌建议的实施方案: <script> var trackOut
<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跟踪。它的工作原理有点像这样:
- 在
上,通过JavaScript替换链接的href属性。从mousedown
至http://example.com
。重要的是,这种情况发生在/yourTrackingScript?gaCategory=Something&gaEvent=Click&gaLabel=SomeLink&url=http%3A%2F%2Fexample.com
上,这样,如果有人右键单击您的链接以在新选项卡/窗口中打开,服务器端跟踪脚本仍将插入。谷歌在他们的搜索结果页面上使用这种方法mousedown
使用将事件从服务器端发送到Google Analytics/yourTrackingScript
响应302重定向到查询字符串中传递的任何URL/yourTrackingScript
- 用户被重定向到最终目的地,这一切通常发生得很快,甚至他们都没有注意到
target=“\u blank”
时添加回调。