-
Notifications
You must be signed in to change notification settings - Fork 192
/
angulartics2-config.ts
65 lines (59 loc) · 1.86 KB
/
angulartics2-config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
export interface GoogleAnalyticsSettings {
/** array of additional account names (only works for analyticsjs) */
additionalAccountNames: string[];
userId: any;
/** see https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#transport */
transport: string;
anonymizeIp: boolean;
}
export interface AppInsightsSettings {
userId: string;
}
export interface GoogleTagManagerSettings {
userId: any;
}
export interface GoogleGlobalSiteTagSettings {
trackingIds: any;
userId?: any;
anonymizeIp?: boolean;
customMap?: { [key: string]: string };
}
export interface PageTrackingSettings {
autoTrackVirtualPages: boolean;
basePath: string;
excludedRoutes: (string | RegExp)[];
/** drop ids from url `/sections/123/pages/456` -> `/sections/pages` */
clearIds: boolean;
/** drop contents of url after hash marker `/callback#authcode=1234` -> `/callback` */
clearHash: boolean;
/** drop query params from url `/sections/123/pages?param=456¶m2=789` -> `/sections/123/pages` */
clearQueryParams: boolean;
/** used with clearIds, define the matcher to clear url parts */
idsRegExp: RegExp;
}
export interface Angulartics2Settings {
pageTracking: Partial<PageTrackingSettings>;
/** Disable page tracking */
developerMode: boolean;
ga: Partial<GoogleAnalyticsSettings>;
appInsights: Partial<AppInsightsSettings>;
gtm: Partial<GoogleTagManagerSettings>;
gst: Partial<GoogleGlobalSiteTagSettings>;
}
export class DefaultConfig implements Angulartics2Settings {
pageTracking = {
autoTrackVirtualPages: true,
basePath: '',
excludedRoutes: [],
clearIds: false,
clearHash: false,
clearQueryParams: false,
idsRegExp:
/^\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}$/,
};
developerMode = false;
ga = {};
appInsights = {};
gtm = {};
gst = {};
}