是否可以避免由angulartics2跟踪页面到GA的根路由?

时间:2020-03-13 09:02:04

标签: angular google-analytics angulartics2

我正在使用angulartics2跟踪事件并跟踪一些其他信息到Google Analytics(分析)。

所以,我只是在使用

Angulartics2Module.forRoot({ pageTracking: { autoTrackVirtualPages: true } })-在主应用程序模块中 和Angulartics2GoogleAnalytics.startTracking()-在主应用程序组件中。

此方法可跟踪角度路由器中存在的所有路由更改,但我需要避免跟踪根/路由。

我尝试将angulartics模块配置为{ pageTracking: { autoTrackVirtualPages: true, excludedRoutes: ['/'] } }{ pageTracking: { autoTrackVirtualPages: true, excludedRoutes: [/\//] } },但是它无法正常工作。

是否有一种简单的方法可以将此路线排除在跟踪范围之外?

1 个答案:

答案 0 :(得分:1)

其中一种选择,适用于将面临相同问题的人:

创建单独的服务,该服务将使用全局分析脚本,并且仅在路线与您的情况相符时避免跟踪操作

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 });
      }
    });
  }
}

相关问题