diff --git a/packages/frontend/editor-ui/src/Interface.ts b/packages/frontend/editor-ui/src/Interface.ts index c662265e341..5d794c50bd4 100644 --- a/packages/frontend/editor-ui/src/Interface.ts +++ b/packages/frontend/editor-ui/src/Interface.ts @@ -96,6 +96,7 @@ declare global { userPropertiesOnce?: Record, ): void; reset?(resetDeviceId?: boolean): void; + group?(groupType: string, groupKey: string, groupPropertiesToSet?: IDataObject): void; onFeatureFlags?(callback: (keys: string[], map: FeatureFlags) => void): void; reloadFeatureFlags?(): void; capture?(event: string, properties: IDataObject): void; diff --git a/packages/frontend/editor-ui/src/app/plugins/telemetry/index.ts b/packages/frontend/editor-ui/src/app/plugins/telemetry/index.ts index acf7c1c410f..19ec8fe0998 100644 --- a/packages/frontend/editor-ui/src/app/plugins/telemetry/index.ts +++ b/packages/frontend/editor-ui/src/app/plugins/telemetry/index.ts @@ -64,11 +64,16 @@ export class Telemetry { }); this.identify({ instanceId, userId, versionCli, projectId, userRole }); + this.groupIdentify({ instanceId }); this.flushPageEvents(); this.track('Session started', { session_id: rootStore.pushRef }); } + groupIdentify({ instanceId }: { instanceId: string }) { + usePostHog()?.groupIdentify?.('company', instanceId); + } + identify({ instanceId, userId, versionCli, projectId, userRole }: TelemetryIdentifyOptions) { const settingsStore = useSettingsStore(); const traits: { diff --git a/packages/frontend/editor-ui/src/app/stores/posthog.store.ts b/packages/frontend/editor-ui/src/app/stores/posthog.store.ts index d0203305ce8..3f4d44fd8c9 100644 --- a/packages/frontend/editor-ui/src/app/stores/posthog.store.ts +++ b/packages/frontend/editor-ui/src/app/stores/posthog.store.ts @@ -114,6 +114,10 @@ export const usePostHog = defineStore('posthog', () => { }; } + const groupIdentify = (groupKey: string, instanceId: string) => { + window.posthog?.group?.(groupKey, instanceId); + }; + const identify = () => { const instanceId = rootStore.instanceId; const user = usersStore.currentUser; @@ -233,6 +237,7 @@ export const usePostHog = defineStore('posthog', () => { waitForFeatureFlags, reset, identify, + groupIdentify, setMetadata, capture, overrides,