diff options
Diffstat (limited to 'app/assets/javascripts/experimentation/experiment_tracking.js')
-rw-r--r-- | app/assets/javascripts/experimentation/experiment_tracking.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/assets/javascripts/experimentation/experiment_tracking.js b/app/assets/javascripts/experimentation/experiment_tracking.js new file mode 100644 index 00000000000..c721828036e --- /dev/null +++ b/app/assets/javascripts/experimentation/experiment_tracking.js @@ -0,0 +1,24 @@ +import Tracking from '~/tracking'; +import { TRACKING_CONTEXT_SCHEMA } from './constants'; +import { getExperimentData } from './utils'; + +export default class ExperimentTracking { + constructor(experimentName, trackingArgs = {}) { + this.trackingArgs = trackingArgs; + this.data = getExperimentData(experimentName); + } + + event(action) { + if (!this.data) { + return false; + } + + return Tracking.event(document.body.dataset.page, action, { + ...this.trackingArgs, + context: { + schema: TRACKING_CONTEXT_SCHEMA, + data: this.data, + }, + }); + } +} |