Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"form_schema": [],
"description": "Track this campaign in Adobe Analytics using a list variable.",
"options": {
"track_layer_decision": "// This extension integrates Optimizely w/ Adobe via a pre-defined list variable. Set the list variable on line 3 below.\nvar decisionString = window.optimizely.get('state').getDecisionString({campaignId: campaignId, shouldCleanString: true});\nvar redirectInfo = window.optimizely.get('state').getRedirectInfo();\nvar list = \"list1\";\n\n// Public Methods\nvar adobeIntegrator = {\n\t// Array of objects for active campaigns/experiments\n\tcampaignArray: [],\n\t// Accepts \"s\" variable as a param and assigns campaigns/experiments to list.\n\tassignCampaigns: function(sVariable) {\n sVariable[list] = sVariable[list] || [];\n if (!!redirectInfo) sVariable.referrer = redirectInfo.referrer;\n\t\tfor (var i = this.campaignArray.length-1; i >= 0; i--) {\n sVariable[list].push(this.campaignArray[i]);\n\t\t\tthis.campaignArray.splice(i, 1);\n\t\t}\n\t},\n\t// Accepts \"s\" variable as a param and assigns eVars to object, then dispatches custom link tracking.\n\ttrackDelayedCampaigns: function(sVariable) {\n sVariable[list] = sVariable[list] || [];\n sVariable.linkTrackVars += \",list1\";\n\t\tfor (var i = this.campaignArray.length-1; i >= 0; i--) {\n\t\t\tsVariable[list].push(this.campaignArray[i]);\n\t\t\tthis.campaignArray.splice(i, 1);\n\t\t}\n sVariable.tl(true, \"o\", \"OptimizelyLayerDecision\");\n\t}\n};\n\n// Scopes `campaignArray` to Optimizely object.\nif (!window.optimizely.get(\"custom/adobeIntegrator\")) {\n\twindow.optimizely.push({\n\t\ttype: \"registerModule\",\n\t\tmoduleName: \"adobeIntegrator\",\n\t\tmodule: adobeIntegrator\n\t});\n}\n\n// Failing Audiences returns `null`, failing Traffic Allocation returns `undefined` for decisionString.\nif (!!decisionString) window.optimizely.get(\"custom/adobeIntegrator\").campaignArray.push(decisionString);"
"track_layer_decision": "// This extension integrates Optimizely w/ Adobe via a pre-defined list variable. Set the list variable on line 3 below.\nvar decisionString = window.optimizely.get('state').getDecisionString({\n campaignId: campaignId,\n shouldCleanString: true\n});\nvar redirectInfo = window.optimizely.get('state').getRedirectInfo();\nvar list = \"list1\";\n\n// Public Methods\nvar adobeIntegrator = {\n // Array of objects for active campaigns/experiments\n campaignArray: [],\n // Accepts \"s\" variable as a param and assigns campaigns/experiments to list.\n assignCampaigns: function(sVariable) {\n sVariable[list] = sVariable[list] || [];\n if (!!redirectInfo) sVariable.referrer = redirectInfo.referrer;\n for (var i = this.campaignArray.length - 1; i >= 0; i--) {\n sVariable[list].push(this.campaignArray[i]);\n this.campaignArray.splice(i, 1);\n }\n },\n // Accepts \"s\" variable as a param and assigns eVars to object, then dispatches custom link tracking.\n trackDelayedCampaigns: function(sVariable) {\n sVariable[list] = sVariable[list] || [];\n sVariable.linkTrackVars += (\",\" + list);\n for (var i = this.campaignArray.length - 1; i >= 0; i--) {\n sVariable[list].push(this.campaignArray[i]);\n this.campaignArray.splice(i, 1);\n }\n sVariable.tl(true, \"o\", \"OptimizelyLayerDecision\");\n }\n};\n\n// Scopes `campaignArray` to Optimizely object.\nif (!window.optimizely.get(\"custom/adobeIntegrator\")) {\n window.optimizely.push({\n type: \"registerModule\",\n moduleName: \"adobeIntegrator\",\n module: adobeIntegrator\n });\n}\n\n// Failing Audiences returns `null`, failing Traffic Allocation returns `undefined` for decisionString.\nif (!!decisionString) window.optimizely.get(\"custom/adobeIntegrator\").campaignArray.push(decisionString);"
}
}
Original file line number Diff line number Diff line change
@@ -1,40 +1,43 @@
// This extension integrates Optimizely w/ Adobe via a pre-defined list variable. Set the list variable on line 3 below.
var decisionString = window.optimizely.get('state').getDecisionString({campaignId: campaignId, shouldCleanString: true});
var decisionString = window.optimizely.get('state').getDecisionString({
campaignId: campaignId,
shouldCleanString: true
});
var redirectInfo = window.optimizely.get('state').getRedirectInfo();
var list = "list1";

// Public Methods
var adobeIntegrator = {
// Array of objects for active campaigns/experiments
campaignArray: [],
// Accepts "s" variable as a param and assigns campaigns/experiments to list.
assignCampaigns: function(sVariable) {
// Array of objects for active campaigns/experiments
campaignArray: [],
// Accepts "s" variable as a param and assigns campaigns/experiments to list.
assignCampaigns: function(sVariable) {
sVariable[list] = sVariable[list] || [];
if (!!redirectInfo) sVariable.referrer = redirectInfo.referrer;
for (var i = this.campaignArray.length-1; i >= 0; i--) {
sVariable[list].push(this.campaignArray[i]);
this.campaignArray.splice(i, 1);
}
},
// Accepts "s" variable as a param and assigns eVars to object, then dispatches custom link tracking.
trackDelayedCampaigns: function(sVariable) {
for (var i = this.campaignArray.length - 1; i >= 0; i--) {
sVariable[list].push(this.campaignArray[i]);
this.campaignArray.splice(i, 1);
}
},
// Accepts "s" variable as a param and assigns eVars to object, then dispatches custom link tracking.
trackDelayedCampaigns: function(sVariable) {
sVariable[list] = sVariable[list] || [];
sVariable.linkTrackVars += ",list1";
for (var i = this.campaignArray.length-1; i >= 0; i--) {
sVariable[list].push(this.campaignArray[i]);
this.campaignArray.splice(i, 1);
}
sVariable.linkTrackVars += ("," + list);
for (var i = this.campaignArray.length - 1; i >= 0; i--) {
sVariable[list].push(this.campaignArray[i]);
this.campaignArray.splice(i, 1);
}
sVariable.tl(true, "o", "OptimizelyLayerDecision");
}
}
};

// Scopes `campaignArray` to Optimizely object.
if (!window.optimizely.get("custom/adobeIntegrator")) {
window.optimizely.push({
type: "registerModule",
moduleName: "adobeIntegrator",
module: adobeIntegrator
});
window.optimizely.push({
type: "registerModule",
moduleName: "adobeIntegrator",
module: adobeIntegrator
});
}

// Failing Audiences returns `null`, failing Traffic Allocation returns `undefined` for decisionString.
Expand Down