diff --git a/docs/design/analytics.md b/docs/design/analytics.md index d35be19436f3..3b7928320f9b 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -38,6 +38,7 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | Name | Parameter | Type | |:---:|:---|:---| +| UserId | `up.ng_user_id` | `string` | | OsArchitecture | `up.ng_os_architecture` | `string` | | NodeVersion | `up.ng_node_version` | `string` | | NodeMajorVersion | `upn.ng_node_major_version` | `number` | diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 486aab0f1318..d9f998a0056a 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -60,6 +60,8 @@ export class AnalyticsCollector { // While architecture is being collect by GA as UserAgentArchitecture. // It doesn't look like there is a way to query this. Therefore we collect this as a custom user dimension too. [UserCustomDimension.OsArchitecture]: os.arch(), + // While User ID is being collected by GA, this is not visible in reports/for filtering. + [UserCustomDimension.UserId]: userId, [UserCustomDimension.NodeVersion]: nodeVersion, [UserCustomDimension.NodeMajorVersion]: +nodeVersion.split('.', 1)[0], [UserCustomDimension.PackageManager]: context.packageManager.name, diff --git a/packages/angular/cli/src/analytics/analytics-parameters.ts b/packages/angular/cli/src/analytics/analytics-parameters.ts index 10683e80a1f7..f6902eb33b2e 100644 --- a/packages/angular/cli/src/analytics/analytics-parameters.ts +++ b/packages/angular/cli/src/analytics/analytics-parameters.ts @@ -48,6 +48,7 @@ export enum RequestParameter { * @see https://support.google.com/analytics/answer/10075209?hl=en */ export enum UserCustomDimension { + UserId = 'up.ng_user_id', OsArchitecture = 'up.ng_os_architecture', NodeVersion = 'up.ng_node_version', NodeMajorVersion = 'upn.ng_node_major_version',