首页 > 解决方案 > 谷歌分析(不带标签管理器),发送带有哈希 URL 和 AJAX 的页面视图,SPA 类型的网络应用程序

问题描述

我们有一个我没有构建但需要跟踪分析的 Web 应用程序(AJAX/SPA 类型)。这些 URL 不是很好或没有语义,在大多数情况下它们是通过 Ajax 运行的。我真的无法控制生成的内容。我想做的是在 onClick 上调用一个函数,这样我就可以跟踪 Ajaxed 调用页面的“页面浏览量”。

在地址栏中生成的 URL 格式如下所示: https ://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321 https://subdomain.mysite.com/subpage/mybarpage。 html#details=ecatalogue.12345

鉴于 URL 中有一个哈希和一个句点,我不知道这将如何显示在 Analytics 中,在我向我的分析仪表板发送“发送”之前,我想我会寻求一些建议。先感谢您。

我正在考虑使用的当前代码是 ga set 和 ga send。但考虑到哈希值,我想知道是否应该使用 window.location.href 将其全部发送,或者我是否必须在将其发送到 Analytics 之前修改 URL。

所以目前,为了简单起见,只需使用 jQuery:

$(".somelink").on('click', function(){
//let the hash load
 setTimeout(function(){
   var myPath = window.location.href;  //https://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321
    ga('set', 'page', myPath);
    ga('send', 'pageview');
  },2000);
});

完整的路径会与散列和句点一起发送,还是会添加一个特殊的“+”字符或其他东西,还是我需要进行一些字符串解析以消除位置路径中的散列和句点?

提前致谢。

标签: javascriptjqueryajaxgoogle-analytics

解决方案


哈希将通过。使用您的示例:

https://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321

在 GA 中,它会显示如下:

/https://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321

加上前面的 / ,因为您只应该发送页面路径。

所以我建议你从中解析出主机名和协议。


推荐阅读