Skip to content

[WS-3079]: Send a Piano activation event when a user is activated into an Optimizely experiment - #14293

Draft
LukasFrm wants to merge 4 commits into
latestfrom
WS-3079-send-a-piano-activation-event-when-a-user-is-activated-into-an-optimizely-experiment
Draft

[WS-3079]: Send a Piano activation event when a user is activated into an Optimizely experiment#14293
LukasFrm wants to merge 4 commits into
latestfrom
WS-3079-send-a-piano-activation-event-when-a-user-is-activated-into-an-optimizely-experiment

Conversation

@LukasFrm

@LukasFrm LukasFrm commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Resolves JIRA: https://bbc.atlassian.net/browse/WS-3079

Summary

Sends a standalone Piano/Reverb "activation" event when a user is activated into an Optimizely experiment, for both server-side and client-side experiments.

Code changes

  • Add buildActivationEventModel and sendOptimizelyActivationEvent to build and guard-send the activation beacon
  • Add useOptimizelyActivationEvent hook to gather tracking context and expose a send callback
  • Add once-per-experiment ref dedupe to activateExperiment, useServerSide, and useClientSide

Testing

  1. yarn jest src/app/hooks/useOptimizelyVariation src/app/hooks/useOptimizelyActivationEvent src/app/lib/analyticsUtils src/app/components/ATIAnalytics
  2. Force a server-side experiment via mvt-{experimentName}: {variation} header, confirm one activation event fires, no duplicates on re-render
  3. Trigger a client-side decision, confirm same behaviour; no event for off/disabled/ineligible users
  4. Block the Reverb script and confirm failure is logged, not thrown

Useful Links

@LukasFrm LukasFrm changed the title feat: Piano & Optimizely activation event sync; tests [WS-3079]: Send a Piano activation event when a user is activated into an Optimizely experiment Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant