Configuration

Angulartics2 is configured by passing a settings object to the Angulartics2Module.forRoot() method in your root application module.

// app.module.ts
import { Angulartics2Module } from 'angulartics2';

@NgModule({
  imports: [
    Angulartics2Module.forRoot({
      // Your settings go here
    })
  ]
})
export class AppModule { }

Top-Level Settings

developerMode

When set to true, all tracking is disabled. This is useful for development environments to prevent sending test data to your analytics providers.

  • Type: boolean
  • Default: false
Angulartics2Module.forRoot({
  developerMode: true
})

Page Tracking Settings (pageTracking)

This object allows you to customize how automatic page view tracking behaves.

Angulartics2Module.forRoot({
  pageTracking: {
    // page tracking settings go here
  }
})

excludedRoutes

An array of strings or regular expressions to prevent automatic page tracking on specific routes.

  • Type: (string | RegExp)[]
  • Default: []

Example:

Angulartics2Module.forRoot({
  pageTracking: {
    excludedRoutes: [
      '/login',
      '/admin/config',
      /\/[0-9]{4}\/[0-9]{2}\/[a-zA-Z0-9|\-]*/, // Excludes routes like /2023/03/my-article
    ],
  }
})

clearIds

When true, this will remove segments from the URL path that look like IDs (numeric or UUID) before tracking a page view. For example, /users/123/profile would be tracked as /users/profile.

  • Type: boolean
  • Default: false
Angulartics2Module.forRoot({
  pageTracking: {
    clearIds: true
  }
})

idsRegExp

Allows you to provide a custom regular expression to be used with clearIds.

  • Type: RegExp
  • Default: /^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/

Example: To remove segments like a01, b02, etc.

Angulartics2Module.forRoot({
  pageTracking: {
    clearIds: true,
    idsRegExp: new RegExp('^[a-z]\\d+$')
  }
})

clearQueryParams

When true, all query parameters are removed from the URL before tracking. For example, /search?q=test would be tracked as /search.

  • Type: boolean
  • Default: false
Angulartics2Module.forRoot({
  pageTracking: {
    clearQueryParams: true
  }
})

clearHash

When true, removes the hash fragment from the URL. For example, /callback#authcode=123 would be tracked as /callback.

  • Type: boolean
  • Default: false
Angulartics2Module.forRoot({
  pageTracking: {
    clearHash: true
  }
})

Provider-Specific Settings

Some providers have their own configuration objects that can be nested within the settings. For example, the ga provider can be configured like this:

Angulartics2Module.forRoot({
  ga: {
    anonymizeIp: true
  }
})

For details on provider-specific settings, please refer to the documentation for each provider.