Есть ли способ отслеживать время, проведенное пользователем на странице, с помощью Google Analytics (Angular) - PullRequest
0 голосов
/ 29 мая 2020

У меня есть приложение Angular, и я хочу отслеживать время, которое пользователь провел на каждой странице, с помощью аналитики Google. Как лучше всего это сделать? (Или, может быть, есть альтернативы Google Analytics, у которых есть эта функция прямо из коробки?)

1 Ответ

0 голосов
/ 29 мая 2020

Поскольку Angular - это SPA, вам необходимо вручную настроить страницу в Google Analytics. Для этого вы установили прослушиватель изменений маршрута.

Требуется нечто подобное:

 private subscribeToRouteChanges(): void {
    this.router.events
      .pipe(filter(event => event instanceof NavigationEnd))
      .subscribe((event: NavigationEnd) => this.sendPageDataToGoogleAnalytics(event.urlAfterRedirects));
  }

  public sendPageDataToGoogleAnalytics(url: string): void {
   //need a title for each page which will be shown at GA dashboards 
   //you can setup your own service or static function to return a title for each route registered
    const pageTitle = this.pageTitleService.getPageTitle(url);   
    if (pageTitle) {
      (window as any).ga('set', 'page', url);
      (window as any).ga('set', 'title', pageTitle);
      (window as any).ga('send', 'pageview');
    }
  }
...