diff --git a/src/gtag/Tracker.ts b/src/gtag/Tracker.ts index 936a310063..a6e1972c83 100644 --- a/src/gtag/Tracker.ts +++ b/src/gtag/Tracker.ts @@ -201,5 +201,6 @@ export class Tracker { public setUserProperty(key: string, value: any) { this.userProperties[key] = value; + this.trackEvent('user_engagement'); } } diff --git a/src/gtag/index.ts b/src/gtag/index.ts index eb66671643..350d5d4563 100644 --- a/src/gtag/index.ts +++ b/src/gtag/index.ts @@ -66,6 +66,22 @@ internalEv.on('webpack.injected', () => { otherTracker.trackEvent('page_view', { authenticated, method }); } + + internalEv.on('config.update', (evt) => { + if (evt.path[0] === 'poweredBy') { + mainTracker.setUserProperty('powered_by', evt.value || '-'); + if (otherTracker) { + otherTracker.setUserProperty('powered_by', evt.value || '-'); + } + } else if (evt.path[0] === 'googleAnalyticsUserProperty' && otherTracker) { + if (typeof config.googleAnalyticsUserProperty === 'object') { + for (const key in config.googleAnalyticsUserProperty) { + const value = config.googleAnalyticsUserProperty[key]; + otherTracker.setUserProperty(key, value); + } + } + } + }); }); if (!config.disableGoogleAnalytics) {