是否可以通过 angulartics2 避免页面跟踪到 GA 的根路由?
Is it possible to avoid page tracking root route to GA by angulartics2?
我正在使用 angulartics2 来跟踪事件和跟踪一些其他信息以供 google 分析。
所以,我只是在使用
Angulartics2Module.forRoot({ pageTracking: { autoTrackVirtualPages: true } })
- 在主应用模块中
和 Angulartics2GoogleAnalytics.startTracking()
- 在主应用程序组件中。
这种跟踪存在于angular路由器中的所有路由的方法改变了,但我需要避免跟踪根(/
)路由。
我尝试将 angulartics 模块配置为 { pageTracking: { autoTrackVirtualPages: true, excludedRoutes: ['/'] } }
或 { pageTracking: { autoTrackVirtualPages: true, excludedRoutes: [/\//] } }
,但它没有像我预期的那样工作。
有没有一种简单的方法可以将这条路线从跟踪中排除?
其中一个选项,对于那些将面临同样问题的人:
创建单独的服务,该服务将使用全局分析脚本并在路由与您的案例匹配时避免跟踪操作
export class AnalyticsService {
constructor(private readonly router: Router) {}
startRouterTracking(): void {
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
const { urlAfterRedirects } = event;
if (urlAfterRedirects.trim() === '/') {
return;
}
// note: angulartics.pageTrack works incorrect (but by docs should work fine, have no idea why doesn't work)
gtag('event', 'page_view', { page_path: urlAfterRedirects });
}
});
}
}
我正在使用 angulartics2 来跟踪事件和跟踪一些其他信息以供 google 分析。
所以,我只是在使用
Angulartics2Module.forRoot({ pageTracking: { autoTrackVirtualPages: true } })
- 在主应用模块中
和 Angulartics2GoogleAnalytics.startTracking()
- 在主应用程序组件中。
这种跟踪存在于angular路由器中的所有路由的方法改变了,但我需要避免跟踪根(/
)路由。
我尝试将 angulartics 模块配置为 { pageTracking: { autoTrackVirtualPages: true, excludedRoutes: ['/'] } }
或 { pageTracking: { autoTrackVirtualPages: true, excludedRoutes: [/\//] } }
,但它没有像我预期的那样工作。
有没有一种简单的方法可以将这条路线从跟踪中排除?
其中一个选项,对于那些将面临同样问题的人:
创建单独的服务,该服务将使用全局分析脚本并在路由与您的案例匹配时避免跟踪操作
export class AnalyticsService {
constructor(private readonly router: Router) {}
startRouterTracking(): void {
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
const { urlAfterRedirects } = event;
if (urlAfterRedirects.trim() === '/') {
return;
}
// note: angulartics.pageTrack works incorrect (but by docs should work fine, have no idea why doesn't work)
gtag('event', 'page_view', { page_path: urlAfterRedirects });
}
});
}
}