Skip to content

Instantly share code, notes, and snippets.

@Danny-Driscoll
Danny-Driscoll / sc_integration.html
Created August 30, 2016 03:07 — forked from brendanorourke/sc_integration.html
Optimizely: Single eVar SC integration
<script type="text/javascript">
/*
* The code below should be executed on every page.
* It will cycle through variationMap, prune only those that are still active,
* and concatenate "{{experiment_id}}:{{variation_index}}" into the eVar #
* you pass as an argument.
**/
function setOptimizelyTestMapToEvar(e) {
if ("undefined" != typeof window["optimizely"]) {
var allTests = window["optimizely"].allExperiments
//Define Function to get jQuery and bind events after Optimizely is initialized
var bindEvents = function(){
var $ = optimizely.get('jquery');
$(document).ready(function() {
console.log('Dom Ready');
if (window.location.href === 'http://www.relatedrentals.com/' || window.location.href === 'http://www.relatedrentals.com/apartment-rentals/apartment-search') {
//Bind to the submission on the two forms
console.log('URL Match');
$('#SearchAptBasicForm,#SearchAptForm').bind('submit', function() {
console.log('Form Submit');
@Danny-Driscoll
Danny-Driscoll / hero_change_template.js
Last active January 5, 2017 02:30
Apply JS Code by SPL for Optimizely Extension
var utils = window.optimizely.get('utils');
var cityDropdownText = '.styledComboBox label:first';
var selectedCity = '#SelectedCityId option:contains(' + extension.default_city + ')';
var heroImage = '.imageRotatorImg';
var headline = '.imageRotatorText';
var subtext = '.MediumHeroText';
var headlineLeftPos = extension.HL_LR + 'px';
var headlineTopPos = extension.HL_UD + 'px';
var subtextLeftPos = extension.ST_LR + 'px';
var suntextTopPos = extension.ST_UD + 'px';
{
"plugin_id": "newsletter_desktop_support",
"plugin_type": "widget",
"name": "Desktop Newsletter (Support)",
"edit_page_url": "http://www.cnn.com/2016/10/14/travel/bourdain-parts-unknown-sichuan-essay/index.html",
"form_schema": [
{
"default_value": "http://i2.cdn.turner.com/cnn/2016/images/10/19/reverse-5things-logo-small-v2.png",
"field_type": "image",
"name": "image",
{
"plugin_id": "newsletter_mobile_support",
"plugin_type": "widget",
"name": "Mobile Newsletter (Support)",
"edit_page_url": "http://www.cnn.com/2016/10/03/health/nobel-prize-2016-physiology-medicine-yoshinori-ohsumi/index.html",
"form_schema": [
{
"default_value": "http://i.cdn.turner.com/cnn/.element/img/4.0/political-newsletter/5things-logo-small.png ",
"field_type": "image",
"name": "image",
/*define handler function to be executed when each campaign is decided as the page loads.
From that event.data object, pull in Experiment Name: variation Name for A/B Tests, Campaign:experiment:Variation:Holdback/treatment for Campaigns
Then push values as strings to optimizelyMoat array*/
var campaignDecided = function(event) {
var campaign = event.data.campaign;
var campaignName = campaign.name;
var holdback = (event.data.decision.isCampaignHoldback ? "holdback" : "treatment");
var experienceId = event.data.decision.experimentId;
var experienceName;
var variationId = event.data.decision.variationId;
!function(){window.optimizelyMoat=window.optimizelyMoat||[],window.optimizely=window.optimizely||[];var a=function(a){for(var f,h,b=a.data.campaign,c=b.name,d=a.data.decision.isCampaignHoldback?"holdback":"treatment",e=a.data.decision.experimentId,g=a.data.decision.variationId,i=0;i<b.experiments.length;i++)e===b.experiments[i].id&&(f=null==b.experiments[i].name?b.experiments[i].audienceName:b.experiments[i].name,experienceIndex=i);for(var j=0;j<b.experiments[experienceIndex].variations.length;j++)g===b.experiments[experienceIndex].variations[j].id&&(h=b.experiments[experienceIndex].variations[j].name);if("equal_priority"===b.policy)var k=c+":"+f+":"+h+":"+d;else{if(redirect_campaign[key].isCampaignHoldback)return;var k=f+":"+h}window.optimizelyMoat.push(k),console.log("Moat pushed",k)};window.optimizely.push({type:"addListener",filter:{type:"lifecycle",name:"campaignDecided"},handler:a});var b=function(){var a=optimizely.get("state");if(null!=a.getRedirectInfo()){var b=a.getCampaignStates({visitorRedirected:
{
"plugin_id": "newsletter_desktop_support",
"plugin_type": "widget",
"name": "Desktop Newsletter (Support)",
"edit_page_url": "http://www.cnn.com/2016/10/14/travel/bourdain-parts-unknown-sichuan-essay/index.html",
"form_schema": [
{
"default_value": "http://i2.cdn.turner.com/cnn/2016/images/10/19/reverse-5things-logo-small-v2.png",
"field_type": "image",
"name": "image",
{
"plugin_id": "newsletter_mobile_support",
"plugin_type": "widget",
"name": "Mobile Newsletter (Support)",
"edit_page_url": "http://www.cnn.com/2016/10/14/travel/bourdain-parts-unknown-sichuan-essay/index.html",
"form_schema": [
{
"default_value": "http://i.cdn.turner.com/cnn/.element/img/4.0/political-newsletter/5things-logo-small.png ",
"field_type": "image",
"name": "image",