Skip to content

Instantly share code, notes, and snippets.

@monteith
Last active July 25, 2020 03:22
Show Gist options
  • Save monteith/e7149abb81758b7ad41ee83c2526d7fc to your computer and use it in GitHub Desktop.
Save monteith/e7149abb81758b7ad41ee83c2526d7fc to your computer and use it in GitHub Desktop.
Analytics: Data Elements Snippets
"created_at": "2020-07-21T21:22:04.507Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "Pulse ID",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-07-21T21:22:04.507Z",
"clean_text": false,
"default_value": "",
"delegate_descriptor_id": "core::dataElements::cookie",
"force_lower_case": false,
"review_status": "unsubmitted",
"storage_duration": "visitor",
"settings": "{\"name\":\"uuid\"}"
/**
* Pulse ID
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: visitor
*/
const value = Cookies.get('uuid');
/**
* 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;
/**
* Email Form Capture
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: pageview
*/
const value = {
elementProperty: "value",
elementSelector: 'input[name="email"]'
};
/**
* Customer Number
*
* dirty: false
* clean_text: true
* force_lowercase: true
* storage_duration: pageview
*/
adobeData.orderInfo.customerNumber
/**
* Customer Type
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.customerType
/**
* Email Address - Order Confirmation
*
* dirty: false
* clean_text: true
* force_lowercase: true
* storage_duration: session
*/
adobeData.orderInfo.emailAddress
/**
* Internal Search Number of Results Returned
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.extendedPageAttributes.totalProductSearchResults
/**
* Internal Search Query Text
*
* dirty: false
* clean_text: true
* force_lowercase: true
* storage_duration: session
*/
adobeData.extendedPageAttributes.searchText
/**
* Item ID
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.pageInfo.ItemID
/**
* Order ID - Order Confirmation
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: session
*/
adobeData.orderInfo.orderId
/**
* Page Category
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.pageInfo.category
/**
* Page Sub-Category
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.pageInfo.sub_category
/**
* Page Type
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.pageInfo.pageType
/**
* Payment Type
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.orderInfo.paymentType
/**
* Promo Codes
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: session
*/
adobeData.orderInfo.promoCodes
/**
* Referral Code
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: session
*/
adobeData.orderInfo.referralCode
/**
* SiteSection
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.pageInfo.siteSection
/**
* User Zip - Order Confirmation
*
* dirty: false
* clean_text: true
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.orderInfo.zipCode
/**
* VariantSKU
*
* dirty: false
* clean_text: false
* force_lowercase: false
* storage_duration: pageview
*/
adobeData.productAnalyticsData.variant
/**
* All query params are:
*
* dirty: false
* force_lowercase: false
* session_duration: pageview
*/
/**
* Email Address Capture from SleepIQ App
*
* clean_text: false
*/
const email = { searchParam: "email" }
/**
* Email Address Query String Parameter
*
* clean_text: false
*/
const emid = { searchParam: "emid" }
/**
* Email Message ID Query String Parameter
*
* clean_text: false
*/
const mid = { searchParam: "mid" }
/**
* Email Recipient ID Query String Parameter
*
* clean_text: false
*/
const rid = { searchParam: "rid" }
/**
* HD Scheduling Service Request Number
*
* clean_text: false
*/
const srNumber = { searchParam: "srNumber" }
/**
* Kenshoo ID Query String Parameter - Social
*
* clean_text: false
*/
const k_clickid = { searchParam: "k_clickid" }
/**
* Keyword Query String Parameter - Paid Search
*
* clean_text: false
*/
const key = { searchParam: "key" }
/**
* Marin ID Query String Parameter - Paid Search
*
* clean_text: false
*/
const mkwid = { searchParam: "mkwid" }
/**
* Marketing Channel Query String Parameter
*
* clean_text: false
*/
const acid = { searchParam: "acid" }
/**
* Marketing/Media Test Parameter
*
* clean_text: true
*/
const mtid = { searchParam: "mtid" }
/**
* Marketing Sub-Channel Query String Parameter
*
* clean_text: false
*/
const ascid = { searchParam: "ascid" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment