我有多个Angular应用程序,一直以来都是使用类似于这篇博客中所述的逻辑来跟踪页面浏览。
为了避免第三方引用,我还将相关的代码片段添加在这里。
在每个页面的头部添加gtag依赖项(这也在Google Analytics文档中描述):
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
</script>
在Angular应用中,即使是单页应用程序(SPA),也可以通过对路由事件做出反应,从而告诉GA使用新页面标题。
export class AppRoutingModule {
constructor(public router: Router) {
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
gtag('config', 'GA_MEASUREMENT_ID',
{'anonymize_ip': true},
{
'page_path':
event.urlAfterRedirects
}
);
}
});
}
}
显然,我用真实的跟踪id替换了GA_MEASUREMENT_ID
。因此,在以前所有使用'UA-xxxxxxx'(通用分析)跟踪id的情况下,这都是有效的。但是,现在我第一次得到谷歌分析4跟踪id(G-xxxxx),事情就不顺利了,没有跟踪到任何页面浏览。
我的尝试:
- 我正在使用实时跟踪视图进行调试,这也已更改为新的分析。尽管如此,我仍然希望我的要求能够在页面浏览部分中被跟踪。可惜,对于我来说,那里只显示主机名。
- 我注意到这些分析具有不同的配置,例如,有数据流配置,我不确定其目的,但我假设我需要在那里添加我的主机。我已经添加了它,但我的页面浏览量仍然看不见。
- 这个跟踪id是通过Google标签管理器创建的,我最初尝试使用Google标签管理器说明书进行配置,但由于无法正常工作,我切换回了我的帖子中描述的分析跟踪配置。
- 现在我正在写一个SO问题,希望有人已经解决了这个问题,并且他/她将帮助我。