From bda4426627f497435030b796a18fe2cf54a0341b Mon Sep 17 00:00:00 2001 From: Tim Yiu <137842098+tyiuhc@users.noreply.github.com> Date: Wed, 7 May 2025 10:07:04 -0700 Subject: [PATCH 1/2] fix: track control impressions on targeted pages --- packages/experiment-tag/src/experiment.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/experiment-tag/src/experiment.ts b/packages/experiment-tag/src/experiment.ts index bd4cde56..170a79f7 100644 --- a/packages/experiment-tag/src/experiment.ts +++ b/packages/experiment-tag/src/experiment.ts @@ -358,7 +358,9 @@ export class DefaultWebExperimentClient implements WebExperimentClient { const isControlOrOffPayload = !variant.payload || (payloadIsArray && variant.payload.length === 0); if (shouldTrackExposure && isControlOrOffPayload) { - this.exposureWithDedupe(key, variant); + if (this.isActionActiveOnPage(key, undefined)) { + this.exposureWithDedupe(key, variant); + } // revert all applied mutations and injections this.revertVariants({ flagKeys: [key] }); continue; From bc238b0a35b6335e0b491c1af7d6cc60a92ed10e Mon Sep 17 00:00:00 2001 From: Tim Yiu <137842098+tyiuhc@users.noreply.github.com> Date: Wed, 7 May 2025 10:31:53 -0700 Subject: [PATCH 2/2] fix tests --- packages/experiment-tag/test/experiment.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/experiment-tag/test/experiment.test.ts b/packages/experiment-tag/test/experiment.test.ts index 38fa9e44..368fbe12 100644 --- a/packages/experiment-tag/test/experiment.test.ts +++ b/packages/experiment-tag/test/experiment.test.ts @@ -189,7 +189,7 @@ describe('initializeExperiment', () => { JSON.stringify([ createRedirectFlag('test', 'control', 'http://test.com/2'), ]), - JSON.stringify({}), + JSON.stringify(DEFAULT_PAGE_OBJECTS), ).start(); expect(mockGlobal.location.replace).toBeCalledTimes(0); expect(mockExposure).toHaveBeenCalledWith('test');