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; 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');