diff --git a/.changeset/sixty-files-talk.md b/.changeset/sixty-files-talk.md index b19e1d0820..67d8c48b7e 100644 --- a/.changeset/sixty-files-talk.md +++ b/.changeset/sixty-files-talk.md @@ -2,4 +2,4 @@ '@backstage/plugin-analytics-module-ga': patch --- -Support self hosted analytics.js script via `gaAddress` config option +Support self hosted analytics.js script via `scriptSrc` config option diff --git a/plugins/analytics-module-ga/config.d.ts b/plugins/analytics-module-ga/config.d.ts index ac4202fff8..ac534daae8 100644 --- a/plugins/analytics-module-ga/config.d.ts +++ b/plugins/analytics-module-ga/config.d.ts @@ -29,10 +29,10 @@ export interface Config { /** * URL to Google Analytics analytics.js script - * Defaults to https://www.google-analytics.com/analytics.js + * Defaults to fetching from GA source (eg. https://www.google-analytics.com/analytics.js) * @visibility frontend */ - gaAddress?: string; + scriptSrc?: string; /** * Whether or not to log analytics debug statements to the console. diff --git a/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts b/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts index 7db2ac1926..23da7c8589 100644 --- a/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts +++ b/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts @@ -42,13 +42,13 @@ export class GoogleAnalytics implements AnalyticsApi { private constructor({ cdmConfig, trackingId, - gaAddress, + scriptSrc, testMode, debug, }: { cdmConfig: CustomDimensionOrMetricConfig[]; trackingId: string; - gaAddress: string; + scriptSrc?: string; testMode: boolean; debug: boolean; }) { @@ -56,9 +56,9 @@ export class GoogleAnalytics implements AnalyticsApi { // Initialize Google Analytics. ReactGA.initialize(trackingId, { - gaAddress, testMode, debug, + gaAddress: scriptSrc, titleCase: false, }); } @@ -69,9 +69,7 @@ export class GoogleAnalytics implements AnalyticsApi { static fromConfig(config: Config) { // Get all necessary configuration. const trackingId = config.getString('app.analytics.ga.trackingId'); - const gaAddress = - config.getOptionalString('app.analytics.ga.gaAddress') ?? - 'https://www.google-analytics.com/analytics.js'; + const scriptSrc = config.getOptionalString('app.analytics.ga.scriptSrc'); const debug = config.getOptionalBoolean('app.analytics.ga.debug') ?? false; const testMode = config.getOptionalBoolean('app.analytics.ga.testMode') ?? false; @@ -92,7 +90,7 @@ export class GoogleAnalytics implements AnalyticsApi { // Return an implementation instance. return new GoogleAnalytics({ trackingId, - gaAddress, + scriptSrc, cdmConfig, testMode, debug,