Last active
July 25, 2020 03:03
-
-
Save monteith/6f33ca5f0adc2880b5866a9df508be81 to your computer and use it in GitHub Desktop.
Analytics: Data Elements (Custom Code)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"scripts": [], | |
"showConsole": true | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Blog Subdomain Page Name | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var pageName = window.location.pathname; | |
return pageName; | |
/** | |
* Card Type | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: session | |
*/ | |
var card = (document.getElementById('i4Go_CardType') || {}).value; | |
if (card) return card; | |
/** | |
* Checkout Login Email | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: true | |
* storage_duration: session | |
*/ | |
var checkoutEmail = document.getElementById('j_username').value; | |
return checkoutEmail; | |
/** | |
* CoreMetrics ID | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: visitor | |
*/ | |
var value = "; " + document.cookie; | |
var parts = value.split("; " + "CoreID6" + "="); | |
if(parts.length ==2) { | |
var cmcookie = parts.pop().split(";").shift(); | |
cmid = cmcookie.split("\u0026")[0]; | |
return cmid; | |
} else { | |
return null; | |
} | |
/** | |
* Delivery Cost - Order Confirmation | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var delCost = adobeData.orderInfo.deliveryCost; | |
delCost = delCost.replace("$", ""); | |
return delCost; | |
/** | |
* Distance to Nearest Store | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
if (typeof $ == "object"){ | |
var distances = $( ".row.find-store-results .row.store-details .row .col-xs-3 .store-details-dist" ).text(); | |
var distance = distances.split(" ")[0]; | |
} | |
return distance; | |
/** | |
* Document Referrer | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var docref = document.referrer; | |
var urlEncodedDocref = encodeURIComponent(docref); | |
return urlEncodedDocref; | |
/** | |
* Email Address from Catalog Request Form | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: true | |
* storage_duration: session | |
*/ | |
var email = $( "#freeInformationEmail" ).val(); | |
return email; | |
/** | |
* Order Item ID | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var orderEntries = adobeData.orderInfo.orderEntries; | |
return orderEntries.map(function(entry){return entry["itemNumber"]}); | |
/** | |
* Order Subtotal - Order Confirmation | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var subtotal = adobeData.orderInfo.orderSubTotal; | |
subtotal = subtotal.replace("$", ""); | |
subtotal = subtotal.replace(",",""); | |
return subtotal; | |
/** | |
* Order Total - Order Confirmation | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var total = adobeData.orderInfo.orderTotal; | |
total = total.replace("$", ""); | |
total = total.replace(",",""); | |
return total; | |
/** | |
* Order Total Savings - Order Confirmation | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var savings = adobeData.orderInfo.totalSavings; | |
savings = savings.replace("$", ""); | |
savings = savings.replace(",", ""); | |
return savings; | |
/** | |
* Order Total Tax - Order Confirmation | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var tax = adobeData.orderInfo.totalTax; | |
tax = tax.replace("$", ""); | |
tax = tax.replace(",", ""); | |
return tax; | |
/** | |
* PageName | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var siteSection = adobeData.pageInfo.siteSection; | |
var pageType = adobeData.pageInfo.pageType; | |
var category = adobeData.pageInfo.category; | |
var sub_category = adobeData.pageInfo.sub_category; | |
var pageName = adobeData.pageInfo.pageName; | |
return text = [siteSection, pageType, category, sub_category, pageName].filter(function (val) {return val;}).join(' : '); | |
/** | |
* Page URL | |
* | |
* dirty: false | |
* clean_text: true | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var url = window.location.hostname + window.location.pathname; | |
return url; | |
/** | |
* Product Names - Order Confirmation | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var products = ""; | |
itemsArray = adobeData.orderInfo.orderEntries; | |
for (i = 0; i \u003c itemsArray.length; i++) { | |
if (i \u003e 0) { | |
products += ", "; | |
} | |
var itemName = itemsArray[i].itemName; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
itemName = itemName.replace(/™/, ""); | |
itemName = itemName.replace(/-/, ""); | |
products += itemName; | |
} | |
return products; | |
/** | |
* Promo Discount Title | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: session | |
*/ | |
var discountTitle = (document.getElementsByClassName('.discount-title')[0] || {}).innerText; | |
return discountTitle || undefined; | |
/** | |
* Recycling Fee | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var rf = adobeData.orderInfo.recycleFee; | |
recycleFee = rf.replace("$", ""); | |
return recycleFee; | |
/** | |
* ReportSuiteID | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var get_url = window.location.hostname | |
var suiteId | |
switch (true) { | |
case get_url.indexOf("www.")!=-1: | |
suiteId = 'selccoreprod,selcglobalprod'; | |
break; | |
case get_url.indexOf("stores.")!=-1: | |
suiteId = 'selccoreprod,selcglobalprod'; | |
break; | |
case get_url.indexOf("testweb")!=-1: | |
suiteId = 'selccoredev'; | |
break; | |
case get_url.indexOf("test2web")!=-1: | |
suiteId = 'selccorestage'; | |
break; | |
case get_url.indexOf("stageweb")!=-1: | |
suiteId = 'selccorestage'; | |
break; | |
case get_url.indexOf("devweb")!=-1: | |
suiteId = 'selccorestage'; | |
break; | |
case get_url.indexOf("sleepnumberblog")!=-1: | |
suiteId = 'selcblogstage'; | |
break; | |
case get_url.indexOf("blog")!=-1: | |
suiteId = 'selcblogprod,selcglobalprod'; | |
break; | |
case get_url.indexOf("amp.")!=-1: | |
suiteId = 'selccoreprod,selcglobalprod'; | |
break; | |
case get_url.indexOf("sleep30micro.staging.")!=-1: | |
suiteId = 'selcsleep30stage'; | |
break; | |
case get_url.indexOf("mysleep30.")!=-1: | |
suiteId = 'selcsleep30prod,selcglobalprod'; | |
break; | |
case get_url.indexOf("support.")!=-1: | |
suiteId = 'selccoreprod,selcglobalprod'; | |
break | |
default: | |
break; | |
} | |
return suiteId; | |
/** | |
* Sleep 30 Page Naming | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var pageName = window.location.pathname; | |
return pageName; | |
/** | |
* s_Products Bed Quiz - Best | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var itemName = event.detail.best.name; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
itemName = itemName.replace(/™/, ""); | |
return itemName; | |
/** | |
* s_Products Bed Quiz - Better | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var itemName = event.detail.better.name; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
itemName = itemName.replace(/™/, ""); | |
return itemName; | |
/** | |
* s_Products Bed Quiz - Great | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var itemName = event.detail.great.name; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
itemName = itemName.replace(/™/, ""); | |
return itemName; | |
/** | |
* s_Products Cart | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var products = ""; | |
itemsArray = adobeData.orderInfo.orderEntries; | |
for (i = 0; i \u003c itemsArray.length; i++) { | |
if (i \u003e 0) { | |
products += ","; | |
} | |
var itemName = itemsArray[i].itemName; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
eVars = ""; | |
if (adobeData.orderInfo.orderEntries[i].optionsSelected){ | |
options = adobeData.orderInfo.orderEntries[i].optionsSelected; | |
optionsArr = Object.keys(adobeData.orderInfo.orderEntries[i].optionsSelected); | |
for (j=0; j\u003coptionsArr.length; j++) { | |
if (j \u003e 0) { | |
eVars += "|"; | |
} | |
switch (optionsArr[j]) { | |
case "SIZE": | |
eVars += "eVar15=" + options.SIZE; | |
break; | |
case "FILL": | |
eVars += "eVar16=" + options.FILL; | |
break; | |
case "WARMTH": | |
eVars += "eVar17=" + options.WARMTH; | |
break; | |
case "COLOR": | |
eVars += "eVar18=" + options.COLOR; | |
break; | |
case "TYPE": | |
eVars += "eVar19=" + options.TYPE; | |
break; | |
case "SleepIQ": | |
eVars += "eVar20=" + options.SleepIQ; | |
break; | |
default: | |
break; | |
} | |
} | |
} | |
products += ";" + itemName + ";;;;" + eVars; | |
} | |
return products; | |
/** | |
* s_Products Checkout | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var products = ""; | |
itemsArray = adobeData.orderInfo.orderEntries; | |
for (i = 0; i \u003c itemsArray.length; i++) { | |
if (i \u003e 0) { | |
products += ","; | |
} | |
var itemName = itemsArray[i].itemName; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
eVars = ""; | |
if (adobeData.orderInfo.orderEntries[i].optionsSelected){ | |
options = adobeData.orderInfo.orderEntries[i].optionsSelected; | |
optionsArr = Object.keys(adobeData.orderInfo.orderEntries[i].optionsSelected); | |
for (j=0; j\u003coptionsArr.length; j++) { | |
if (j \u003e 0) { | |
eVars += "|"; | |
} | |
switch (optionsArr[j]) { | |
case "SIZE": | |
eVars += "eVar15=" + options.SIZE; | |
break; | |
case "FILL": | |
eVars += "eVar16=" + options.FILL; | |
break; | |
case "WARMTH": | |
eVars += "eVar17=" + options.WARMTH; | |
break; | |
case "COLOR": | |
eVars += "eVar18=" + options.COLOR; | |
break; | |
case "TYPE": | |
eVars += "eVar19=" + options.TYPE; | |
break; | |
case "SleepIQ": | |
eVars += "eVar20=" + options.SleepIQ; | |
break; | |
default: | |
break; | |
} | |
} | |
} | |
products += ";" + itemName + ";;;;" + eVars; | |
} | |
return products; | |
/** | |
* s_Products Interstitial Cart | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var itemName = adobeData.productAnalyticsData.productName; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
return itemName; | |
/** | |
* s_Products Order Confirmation | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var products = ""; | |
itemsArray = adobeData.orderInfo.orderEntries; | |
for (i = 0; i \u003c itemsArray.length; i++) { | |
if (i \u003e 0) { | |
products += ","; | |
} | |
var itemName = itemsArray[i].itemName; | |
var qty = itemsArray[i].quantityOrdered; | |
var retailPrice = itemsArray[i].retailAmount.replace("$", ""); | |
retailPrice = retailPrice.replace(",", ""); | |
retailPrice = parseFloat(retailPrice); | |
var price = retailPrice; | |
if (itemsArray[i].discount) { | |
var discount = itemsArray[i].discount.replace("$", ""); | |
discount = discount.replace(",", ""); | |
savings = parseFloat(discount); | |
price = retailPrice - savings; | |
} | |
var totalRev = qty * price; | |
totalRev = totalRev.toFixed(2); | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
products += ";" + itemName + ";" + qty + ";" + totalRev + ";"; | |
if (itemsArray[i].discount) { | |
products += "event25=" + savings + "|"; | |
} | |
products += "event26=" + retailPrice; | |
eVars = ""; | |
if (adobeData.orderInfo.orderEntries[i].optionsSelected){ | |
options = adobeData.orderInfo.orderEntries[i].optionsSelected; | |
optionsArr = Object.keys(adobeData.orderInfo.orderEntries[i].optionsSelected); | |
for (j=0; j\u003coptionsArr.length; j++) { | |
if (j \u003e 0) { | |
eVars += "|"; | |
} | |
switch (optionsArr[j]) { | |
case "SIZE": | |
eVars += "eVar15=" + options.SIZE; | |
break; | |
case "FILL": | |
eVars += "eVar16=" + options.FILL; | |
break; | |
case "WARMTH": | |
eVars += "eVar17=" + options.WARMTH; | |
break; | |
case "COLOR": | |
eVars += "eVar18=" + options.COLOR; | |
break; | |
case "TYPE": | |
eVars += "eVar19=" + options.TYPE; | |
break; | |
case "SleepIQ": | |
eVars += "eVar20=" + options.SleepIQ; | |
break; | |
default: | |
break; | |
} | |
} | |
} | |
products += ";" + eVars; | |
} | |
return products; | |
/** | |
* s_Products PDPs | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var itemName = adobeData.productAnalyticsData.productName; | |
itemName = itemName.replace(/\u003c\/sup\u003e/g, ""); | |
itemName = itemName.replace(/\u003csup\u003e/g, ""); | |
itemName = itemName.replace(/\u0026reg;/g, ""); | |
itemName = itemName.replace(/\u0026trade;/g, ""); | |
itemName = itemName.replace(/®/, ""); | |
return itemName; | |
/** | |
* Stores Subdomain Page Name | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: true | |
* storage_duration: pageview | |
*/ | |
var pageName = "stores : "; | |
var path = window.location.pathname; | |
path = path.replace('.html', ''); | |
uriSections = path.split('/'); | |
state = uriSections[1]; | |
store = uriSections[2]; | |
if (path == "/") { | |
pageName += "stores" | |
} | |
if (state) { | |
pageName += state; | |
} | |
if (store) { | |
store = store.replace('-', ' '); | |
pageName += " : " + store; | |
} | |
return pageName; | |
/** | |
* Support Sub Domain Page Naming | |
* | |
* dirty: false | |
* clean_text: false | |
* force_lowercase: false | |
* storage_duration: pageview | |
*/ | |
var pageName = "owners : support"; | |
var path = window.location.pathname; | |
path = path.replace('/hc/en-us', ''); | |
uriSections = path.split('/'); | |
category = uriSections[1]; | |
page = uriSections[2]; | |
if (path == "/hc/en-us") { | |
pageName += "owners : support" | |
} | |
if (category) { | |
pageName += " : " + category | |
} | |
if (page) { | |
page = page.replace('-', ' '); | |
pageName += " : " + page | |
} | |
return pageName; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment