From 11dff9c2cd2997fa94779a9bb189675d82932fee Mon Sep 17 00:00:00 2001 From: Yuriy Yakym Date: Wed, 29 Jan 2025 02:42:36 +0700 Subject: [PATCH] Make analytics instance consent-aware --- packages/analytics-nextjs/src/Analytics.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/analytics-nextjs/src/Analytics.ts b/packages/analytics-nextjs/src/Analytics.ts index d0946f4..b860b04 100644 --- a/packages/analytics-nextjs/src/Analytics.ts +++ b/packages/analytics-nextjs/src/Analytics.ts @@ -66,6 +66,11 @@ export class Analytics { domain: document.location.host, }, ...options, + integrations: { + Prezly: this.permissions.canTrackToPrezly, + 'Segment.io': this.permissions.canTrackToSegment, + ...options?.integrations, + }, }, ); } @@ -77,9 +82,17 @@ export class Analytics { public setConsent(consent: Consent) { this.consent = consent; - if (this.permissions.canLoadSegment) { + if (!this.segment?.instance && this.permissions.canLoadSegment) { this.loadSegment(); } + + if (this.segment?.instance?.options) { + this.segment.instance.options.integrations = { + ...this.segment?.instance?.options.integrations, + Prezly: this.permissions.canTrackToPrezly, + 'Segment.io': this.permissions.canTrackToSegment, + }; + } } public alias(userId: string, previousId: string) {