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.