未在 Analytics(分析)中注册的 AJAX 虚拟网页浏览量(全局网站代码和 Barba.js)



我正在努力修复使用 Barba 构建的网站的跳出率.js用于 AJAX 导航。我已经阅读了多篇文章,包括分析中有关虚拟网页浏览量和SPA的文档,但无法弄清楚为什么我的网页浏览量没有注册。

当我使用地址栏访问页面或刷新页面时,我会在 Analytics 实时视图中弹出,但在使用内部链接导航到另一个页面时不会弹出(Barba 处理页面加载)。

以下是我用来获取页面路径并发送页面浏览的内容:

$(document).ready(function() {
// other stuff  
init_on_each_new_page();
});
function init_on_each_new_page() {
// other stuff
init_analytics();
}
function init_analytics() {
// Grab the page URL, split at ".com"
var $full_path = $(location).attr("href");
var $path_split = $full_path.split(".com");
var $ga_page_path;
/* If there's something after .com and it's not just a slash, 
make that the path sent to Analytics */
if ($path_split[1] && $path_split[1] != "/") {
var $path = $path_split[1];
var $last_char = $path[$path.length - 1];
if ($last_char == "/") {
$ga_page_path = $path_split[1].slice(0, -1);
} else {
$ga_page_path = $path_split[1];
}
}
/* If there's nothing after .com, we're on the homepage so the 
path visited for Analytics is "/" */
else {
$ga_page_path = "/";
}
// Set GA page
ga('set', 'page', $ga_page_path);
// Send pageview
ga('send', {
'hitType': 'pageview',
'hitCallback': function() {
console.log('--> hit sent <--');
}
});
}

我添加了此处记录的 hitCallback,以尝试确认页面浏览已发送,但控制台中从未显示任何内容。

我可以确认 GA 设置正确,因为出现了"硬"网页浏览量。

我已经在 AJAX 页面上看到了几个关于虚拟网页浏览量的线程,但都带有以前版本的 Analytics。我没有发现任何适用于新全局网站代码的内容。我错过了什么吗?

您需要为网页浏览添加路径,如下所示:

ga('send', 'pageview', location.pathname);

请参阅:https://developers.google.com/analytics/devguides/collection/analyticsjs/pages

如果我先发布我的跟踪代码,对某些人来说很明显,但我发现了我的错误:我使用的是ga函数,但使用了gtag跟踪代码。我从来没有三思而后行,因为在我开始修复虚拟页面浏览量之前插入了一段时间的跟踪代码,我所有的谷歌搜索都把我带到了 Analytics.js 文档。

请参阅此处了解如何从 Analytics.js迁移到 gtag.js以及专门针对使用 gtag.js 跟踪单页应用的信息。

最新更新