summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/experimentation/experiment_tracking.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/experimentation/experiment_tracking.js')
-rw-r--r--app/assets/javascripts/experimentation/experiment_tracking.js24
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,
+ },
+ });
+ }
+}