Der*_*會功夫 31 javascript html5 google-analytics web-applications single-page-application
目前在我的网站上,我使用HTML5 pushState()和popState链接来提高速度.但是,这并没有真正改变真实的网址,看起来它会影响并搞乱谷歌分析的代码.(不显示网址更改)是否有可能的解决方案?谢谢,
Der*_*會功夫 43
如果您使用的是较新的analytics.jsAPI,Google的文档需要使用以下代码来触发事件:
ga('send', 'pageview', '/some-page');
Run Code Online (Sandbox Code Playgroud)
如果您使用的是较旧的ga.jsAPI,David Walsh建议 AJAX网站使用该_gaq.push方法:
_gaq.push(['_trackPageview', '/some-page']);
Run Code Online (Sandbox Code Playgroud)
Nic*_*olo 23
我知道这是一个老问题,但由于这个问题首先导致Google在Google Analytics中跟踪pushState()并且所有答案都错了,我决定回答它.
在其他答案中,他们提到直接使用ga('发送'.....),但这是错误的方法.
首先,您必须"设置"参数,然后使用"发送"来跟踪它.
如果您只想更新网址,请使用以下代码
// set new url
ga('set', 'page', '/new-page');
// send it for tracking
ga('send', 'pageview');Run Code Online (Sandbox Code Playgroud)
如果要更新网址和标题,请为其添加title参数
// set new url and title
ga('set', {
page: '/new-page',
title: 'New Page'
});
// send it for tracking
ga('send', 'pageview');Run Code Online (Sandbox Code Playgroud)
源单页应用程序跟踪 - Web跟踪(analytics.js)
您现在可以使用Google的autotrack.js一个增强的脚本analytics.js.
它包含一个插件,可自动跟踪单页应用程序的URL更改.
您只需要在html中包含脚本和以下行:
ga('require', 'urlChangeTracker');
Run Code Online (Sandbox Code Playgroud)
Google Analytics(分析)有一个新的跟踪代码段,因此其他答案可能不适用于gtag。
这是默认的跟踪代码。即使我们尝试运行每个URL更改,它也只能运行一次。
gtag('config', 'GA_TRACKING_ID');
Run Code Online (Sandbox Code Playgroud)
但有了一个page_path参数,我们可以使GA手动运行。
gtag('config', 'GA_TRACKING_ID', {'page_path': '/new-page.html'});
Run Code Online (Sandbox Code Playgroud)
我们可以做这样的事情。
var origin = window.location.protocol + '//' + window.location.host;
var pathname = window.location.href.substr(origin.length);
gtag('config', 'GA_TRACKING_ID', {'page_path': pathname});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14310 次 |
| 最近记录: |