-
Notifications
You must be signed in to change notification settings - Fork 71
/
Copy pathlistvar.projectjs.js
49 lines (45 loc) · 1.45 KB
/
listvar.projectjs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* Adobe Analytics Integration
* [Installed in Project JS]
*/
var adobeIntegrator = {
LISTVAR: "YOUR-LISTVAR-HERE, ie: 'list3'",
campaignArray: [],
assignCampaigns: function(sVariable) {
sVariable[this.LISTVAR] = sVariable[this.LISTVAR] || [];
for (var i = this.campaignArray.length - 1; i >= 0; i--) {
sVariable[this.LISTVAR].push(this.campaignArray[i]);
this.campaignArray.splice(i, 1);
}
},
trackDelayedCampaigns: function(sVariable) {
sVariable[this.LISTVAR] = sVariable[this.LISTVAR] || [];
sVariable.linkTrackVars += ("," + this.LISTVAR);
for (var i = this.campaignArray.length-1; i >= 0; i--) {
sVariable[this.LISTVAR].push(this.campaignArray[i]);
this.campaignArray.splice(i, 1);
}
sVariable.tl(true, "o", "OptimizelyLayerDecision");
},
formatActiveExperiments: function() {
var expList = [],
expObj = window.optimizelyEdge.get('state').getActiveExperiments();
for (var exp in expObj) {
expList.push(expObj[exp].id + ":" + expObj[exp].variation.id);
}
return expList;
},
init: function() {
var activeExperimentsArray = this.formatActiveExperiments();
if (activeExperimentsArray.length) this.campaignArray = activeExperimentsArray;
}
};
adobeIntegrator.init();
window.OptimizelyEdgeIntegrators = {
get: function(name) {
if (name === 'adobe') {
return adobeIntegrator;
}
throw new Error(name + ' is not a supported module');
}
}