Background
We generate an experiment version in order to invalidate the browser-local exposure event registry. The experiment version could also help us understand the flow of an experiment config through the system and/or when a new version of the same experiment starts sending events. This is particularly important for an investigation like T421152: Could not hoist data into experiment.subject_id for event, where it's possible that an old/bad config has been cached somewhere.
AC
- Capture experiment version in all experiment-related analytics events
Notes
Here's the set of steps that you're likely going to take to get this Done™:
- Update the product_metrics/experiment fragment to include the optional experiment.version field
- Update ConfigsFetcher to read the version field from the TK UI API response if it's present, otherwise calculate the version internally
- Update ResourceLoaderHooks::getExperimentConfigs() to use the version from ConfigsFetcher
- Update the PHP SDK to fill the experiment.version field
- Update the JS SDK to fill the experiment.version field