{"id":32933,"date":"2021-09-30T08:59:31","date_gmt":"2021-09-30T08:59:31","guid":{"rendered":"https:\/\/inmoment.com\/event\/experience-forum-goldilocks-and-the-cx-paradigm-too-little-too-much-just-right\/"},"modified":"2021-10-05T19:55:45","modified_gmt":"2021-10-05T19:55:45","slug":"customer-experience-programme-just-right","status":"publish","type":"event","link":"https:\/\/inmoment.com\/en-gb\/event\/customer-experience-programme-just-right\/","title":{"rendered":"[Experience Exchange] Goldilocks and the CX Paradigm: Too Little, Too Much, Just Right"},"content":{"rendered":"<section id=\"block-5fd7e1e3c9662\" class=\"content-block gated-featured-asset-block gated-feature-asset-block-right alignfull no-background\" style=\"\">\n\t\t<div class=\"gated-featured-asset-block-inner\">\n\t\t\t\t\t\t<div class=\"gated-featured-asset-block-form button-\" >\n\t\t\t\t\t\t\t\t\t<h3 class=\"\">Register Now<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<script>console.log('');<\/script><script>console.log('32933');<\/script>\t\t<form id=\"mktoForm_357\" class=\"\"><\/form>\n\t\t<script>\n\t\t\t\/\/ Function to get UTM parameters from local storage\n\t\t\tfunction getUTMParams() {\n\t\t\t\tvar storageData = localStorage.getItem('utm_params');\n\t\t\t\tif (storageData) {\n\t\t\t\t\tstorageData = JSON.parse(storageData);\n\t\t\t\t\tvar currentDate = new Date().getTime();\n\t\t\t\t\tif (currentDate <= storageData.expiration) {\n\t\t\t\t\treturn storageData.data;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tif (undefined !== MktoForms2) {\n\n\t\t\t\tMktoForms2.setOptions({\n\t\t\t\t\tformXDPath:\"\/rs\/645-JLQ-943\/images\/marketo-xdframe-relative.html\"\n\t\t\t\t});\n\n\t\t\t\t\/\/ Load the form.\n\t\t\t\tMktoForms2.loadForm(\"\/\/lp.inmoment.com\", \"645-JLQ-943\", 357, function(form) {\n\t\t\t\t\tconsole.log('https:\/\/inmoment.com\/en-gb\/thank-you\/?type=event&#038;asset=32933');\n\t\t\t\t\tconsole.log('dynamic url option');\n\n\t\t\t\t\t\/\/ Add display: block to all mktoFormRows if the Email field is focused on\n\t\t\t\t\t\/\/ (they'll remain opacity: 0; max-height: 0; until after the email is scrubbed against the ZoomInfo database)\n\t\t\t\t\t\/\/ All rows except Email and Country are hidden to prevent the jerkiness on page load when they appear and suddenly disappear\n\n\t\t\t\t\t\/\/ var emailElement = document.querySelector(\"#Email\");\n\t\t\t\t\t\/\/ var formRowElements = document.querySelectorAll(\".mktoFormRow\");\n\n\t\t\t\t\t\/\/ function handleEmailEvent() {\n\t\t\t\t\t\/\/ \tformRowElements.forEach(function(formRowElement) {\n\t\t\t\t\t\/\/ \t\tvar emailChild = formRowElement.querySelector(\"#Email\");\n\t\t\t\t\t\/\/ \t\tvar countryChild = formRowElement.querySelector(\"#Country\");\n\n\t\t\t\t\t\/\/ \t\tif (!emailChild) {\n\t\t\t\t\t\/\/ \t\t\tif (!countryChild) {\n\t\t\t\t\t\/\/ \t\t\t\tformRowElement.style.display = \"block\";\n\t\t\t\t\t\/\/ \t\t\t}\n\t\t\t\t\t\/\/ \t\t}\n\t\t\t\t\t\/\/ \t});\n\t\t\t\t\t\/\/ }\n\n\t\t\t\t\t\/\/ if (document.documentElement.lang === \"en-US\") {\n\t\t\t\t\t\/\/ \t\/\/ Check if it's a form for Experience Icons or Partner Request\n\t\t\t\t\t\/\/ \tvar parentFormID = emailElement.closest(\"form\").id;\n\t\t\t\t\t\/\/ \tif (parentFormID !== \"mktoForm_726\") {\n\t\t\t\t\t\/\/ \t\tif (parentFormID !== \"mktoForm_986\") {\n\t\t\t\t\t\/\/ \t\t\tif (parentFormID !== \"mktoForm_1225\") {\n\t\t\t\t\t\/\/ \t\t\t\tif (parentFormID !== \"mktoForm_1226\") {\n\t\t\t\t\t\/\/ \t\t\t\t\temailElement.addEventListener(\"focus\", handleEmailEvent);\n\t\t\t\t\t\/\/ \t\t\t\t\temailElement.addEventListener(\"click\", handleEmailEvent);\n\t\t\t\t\t\/\/ \t\t\t\t\temailElement.addEventListener(\"keydown\", handleEmailEvent);\n\t\t\t\t\t\/\/ \t\t\t\t}\n\t\t\t\t\t\/\/ \t\t\t}\n\t\t\t\t\t\/\/ \t\t}\n\t\t\t\t\t\/\/ \t}\n\t\t\t\t\t\/\/ }\n\n\n\t\t\t\t\tvar thankYouUrl = 'https:\/\/inmoment.com\/en-gb\/thank-you\/?type=event&#038;asset=32933';\n\n\t\t\t\t\tvar baseURL = 'https:\/\/inmoment.com\/en-gb\/thank-you\/?';\n\t\t\t\t\tvar data = {\"type\":\"event\",\"asset\":32933};\n\n\t\t\t\t\t\/\/ Create an array of key-value pairs from the data object\n\t\t\t\t\tvar params = Object.entries(data);\n\n\t\t\t\t\t\/\/ Construct the query string by joining the key-value pairs\n\t\t\t\t\tvar queryString = params.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');\n\n\t\t\t\t\t\/\/ Combine the base URL with the query string\n\t\t\t\t\tvar finalThankyouURL = `${baseURL}${queryString}`;\n\n\t\t\t\t\tconsole.log(finalThankyouURL);\n\n\n\t\t\t\t\tvar lastDownloadedAssetValue = '2021.10.28 - Experience Forum Q4';\n\t\t\t\t\tvar formType = 'event';\n\n\t\t\t\t\t\/\/ Populate hidden fields\n\t\t\t\t\tif(formType != 'contact'){\n\t\t\t\t\t\t\/\/ form.vals({ \"Last_Downloaded_Asset__c\": '2021.10.28 - Experience Forum Q4'});\n\t\t\t\t\t\tconsole.log('2021.10.28 - Experience Forum Q4');\n\t\t\t\t\t\tif(lastDownloadedAssetValue) {\n\t\t\t\t\t\t\tform.vals({ \"Last_Downloaded_Asset__c\": lastDownloadedAssetValue });\n\t\t\t\t\t\t\tconsole.log(lastDownloadedAssetValue);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar fallbackLastDownloadedAsset = document.title + '(' + formType + ')';\n\t\t\t\t\t\t\tform.vals({ \"Last_Downloaded_Asset__c\": fallbackLastDownloadedAsset });\n\t\t\t\t\t\t\tconsole.log(fallbackLastDownloadedAsset);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('contact form');\n\t\t\t\t\t}\n\t\t\t\t\t\/\/ var lastDownloadedAsset = (document.title + '(2021.10.28 - Experience Forum Q4)');\n\t\t\t\t\t\/\/ console.log(lastDownloadedAsset);\n\t\t\t\t\t\/\/ form.vals({ \"Last_Downloaded_Asset__c\": lastDownloadedAsset});\n\n\t\t\t\t\tvar invalidEmailDomains = ['@gmail.','@yahoo.','@hotmail.','@live.','@aol.','@outlook.','@qq.','@comcast.','@icloud.', '@ctpagent.', '@wesolvecx.', '@mailinator.']\n\n\t\t\t\t\t\/\/ function to check if email qualifies as business email\n\t\t\t\t\tvar isBusinessEmail = function(email) {\n\t\t\t\t\t\tfor(var i=0; i < invalidEmailDomains.length; i++) {\n\t\t\t\t\t\t\tvar domain = invalidEmailDomains[i];\n\t\t\t\t\t\t\tif (email.indexOf(domain) != -1) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t};\n\n\t\t\t\t\t\/\/ Form validation goes here.\n\t\t\t\t\tform.onValidate(function() {\n\t\t\t\t\t\t\/\/ var utmParams = getUTMParams();\n\t\t\t\t\t\tvar vals = form.vals();\n\t\t\t\t\t\tconsole.log(vals); \/\/ ONLY FOR DEVELOPMENT, REMOVE FOR PRODUCTION.\n\t\t\t\t\t\tconsole.log('Thankyou URL: ', finalThankyouURL);\n\t\t\t\t\t\t\/\/ form.submittable(false); \/\/ ONLY FOR DEVELOPMENT, REMOVE FOR PRODUCTION. Blocks form from submitting\n\t\t\t\t\t\t\/\/ window.dataLayer = window.dataLayer || []\n                        \/\/ window.dataLayer.push({\n                        \/\/     'event': 'form_submit',\n                        \/\/     'Last Downloaded Asset': vals.Last_Downloaded_Asset__c,\n\t\t\t\t\t\t\/\/ \t'Form Submitted Page': window.location.href,\n\t\t\t\t\t\t\/\/ \t'Content': utmParams.utm_content || '',\n\t\t\t\t\t\t\/\/ \t'Term': utmParams.utm_term || '',\n\t\t\t\t\t\t\/\/ \t'Medium': utmParams.utm_medium || '',\n\t\t\t\t\t\t\/\/ \t'Source': utmParams.utm_source || '',\n\t\t\t\t\t\t\/\/ \t'Campaign': utmParams.utm_campaign || ''\n                        \/\/ });\n                        \/\/ console.log(window.dataLayer);\n\n\t\t\t\t\t\t\/\/validate if is business email from invalidEmailDomains array\n\t\t\t\t\t\tif (!isBusinessEmail(vals.Email)) {\n\t\t\t\t\t\t\tform.submittable(false);\n\t\t\t\t\t\t\tvar emailElem = form.getFormElem().find(\"#Email\");\n\t\t\t\t\t\t\tform.showErrorMessage(\"Please provide a valid work email address\", emailElem);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { \/\/ Enable submission for those who met the criteria\n\t\t\t\t\t\t\tconsole.log('all good!');\n\t\t\t\t\t\t\tform.submittable(true); \/\/ ONLY FOR PRODUCTION, COMMENT OUT FOR DEVELOPMENT in order to Blocks form from submitting\n\n\t\t\t\t\t\t}\n\n\n\n\t\t\t\t\t});\n\n\t\t\t\t\tform.onSuccess(function(values, followUpUrl) {\n\t\t\t\t\t\tvar utmParams = getUTMParams();\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || []\n                        window.dataLayer.push({\n                            'event': 'form_submit',\n                            'Last Downloaded Asset': values.Last_Downloaded_Asset__c,\n\t\t\t\t\t\t\t'Form Submitted Page': window.location.href,\n\t\t\t\t\t\t\t'Content': utmParams.utm_content || '',\n\t\t\t\t\t\t\t'Term': utmParams.utm_term || '',\n\t\t\t\t\t\t\t'Medium': utmParams.utm_medium || '',\n\t\t\t\t\t\t\t'Source': utmParams.utm_source || '',\n\t\t\t\t\t\t\t'Campaign': utmParams.utm_campaign || ''\n                        });\n                        console.log(window.dataLayer);\n\t\t\t\t\t\tconsole.log(values);\n\n\t\t\t\t\t\tlocation.href = finalThankyouURL;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t\/\/ Remove the Marketo form styles. Source: https:\/\/jsfiddle.net\/sanford\/9wvf0zjz\/\n\t\t\t\tMktoForms2.whenReady(function (form) {\n\n\t\t\t\t\t\/\/ ****** This was used for injecting UTM Parameters into the form\n\t\t\t\t\t\/\/ \/\/ Get UTM parameters from local storage\n\t\t\t\t\t\/\/ var utmParams = getUTMParams();\n\n\t\t\t\t\t\/\/ \/\/ Define field names and create JSON object\n\t\t\t\t\t\/\/ var utm_fieldNames = {\n\t\t\t\t\t\/\/ 'PPC_Content__c': utmParams.utm_content || '',\n\t\t\t\t\t\/\/ 'PPC_Keyword__c': utmParams.utm_term || '',\n\t\t\t\t\t\/\/ 'PPC_Medium__c': utmParams.utm_medium || '',\n\t\t\t\t\t\/\/ 'PPC_Source__c': utmParams.utm_source || '',\n\t\t\t\t\t\/\/ 'PPC_Campaign__c': utmParams.utm_campaign || ''\n\t\t\t\t\t\/\/ };\n\n\t\t\t\t\t\/\/ \/\/ Output the JSON object\n\t\t\t\t\t\/\/ console.log(JSON.stringify(utm_fieldNames));\n\t\t\t\t\t\/\/ form.vals(utm_fieldNames);\n\t\t\t\t\t\/\/ ********* end of UTM Parameter to form\n\n\n\t\t\t\t\tvar formEl = form.getFormElem()[0];\n\n\t\t\t\t\t\/\/ Remove element styles from root and children (may want to disable this while debugging)\n\t\t\t\t\tfor (var elsWithStyles = document.querySelectorAll('#' + formEl.id + ', #' + formEl.id + ' [style]'), i = 0, imax = elsWithStyles.length; i < imax; i++) {\n\t\t\t\t\t\telsWithStyles[i].removeAttribute('style');\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ Disable all Marketo-sourced stylesheets\n\t\t\t\t\tfor (var styleSheets = document.styleSheets, i = 0, imax = styleSheets.length; i < imax; i++) {\n\t\t\t\t\t\tvar ssLoc = document.createElement('A');\n\t\t\t\t\t\tssLoc.href = styleSheets[i].href;\n\n\t\t\t\t\t\tif ((ssLoc.hostname.search(\/\\lp\\.inmoment\\.com$\/) !== -1) \/\/ External STYLEs\n\t\t\t\t\t\t||\n\t\t\t\t\t\t((styleSheets[i].ownerNode || styleSheets[i].owningElement).parentNode == formEl)) { \/\/ Inline STYLEs within FORM tag\n\t\t\t\t\t\t\tstyleSheets[i].disabled = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}).onFormRender(function (form){\n\t\t\t\t\t\/\/ Add a class to Labels when input is focus\n\t\t\t\t\tvar input = jQuery( '.mktoForm input, .mktoForm select, .mktoForm textarea' );\n\n\t\t\t\t\tinput.focus( function() {\n\t\t\t\t\t\tjQuery( \"label[for='\" + this.id + \"']\" ).addClass( 'labelfocus' );\n\t\t\t\t\t\tconsole.log(this.id);\n\t\t\t\t\t} ).blur( function() {\n\t\t\t\t\t\tif( !jQuery(this).val() ) {\n\t\t\t\t\t\t\tjQuery( \"label[for='\" + this.id + \"']\" ).removeClass( 'labelfocus' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t});\n\t\t\t}\n\t\t<\/script>\n\t \t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t<div class=\"gated-featured-asset-block-text\">\n\t\t\t\t\t\t\t\t\t<h5 class=\"gated-featured-asset-block-eyebrow eyebrow-heading-style- color-tsunami\">OCTOBER 28TH AT 15:30 BST<\/h5>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"gated-featured-asset-block-text-content \">\n\t\t\t\t\t\t<p><span style=\"font-weight: 400\">The same ol\u2019 same ol\u2019 rudimentary VoC programme just doesn\u2019t cut it anymore. Do you think your experience programme and your CX team delivers business value (ROI) to your organisation?\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">In this Experience Forum, we <\/span><span style=\"font-weight: 400\">will discuss the steps that companies need to take to drive business decisions based on program intelligence&#8211;what\u2019s too little, too much, or just right&#8211;and how those practices and decisions can positively impact your customers, employees, and your bottom line.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Come join us and learn:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">How to build an ROI model for your CX programme<\/span><\/li>\n<\/ul>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Why it\u2019s important to connect company-wide initiatives with CX programme efforts<\/span><\/li>\n<\/ul>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">How to disrupt the status quo to deliver business outcomes that are just right<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">What you should focus on if you think your CX programme isn\u2019t perfect yet<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Leave this event with concrete advice you can use to disrupt the status quo and drive a transformative programme that benefits you, your customers, and your business. It\u2019s never too late to build a business case to prove a return on your CX investment.<\/span><\/p>\n<p><strong>Meet the speakers:<\/strong><\/p>\n<p><i><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-32555 size-thumbnail\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/09\/Maxie-Schmidt-Subramanian-150x150.jpeg\" alt=\"\" width=\"150\" height=\"150\" \/><b>Maxie Schmidt-Subramanian, VP, senior analyst with Forrester<\/b><br \/>\n<\/i><\/p>\n<p><span style=\"font-weight: 400\">Maxie Schmidt is a principal analyst serving customer experience (CX) professionals. She leads Forrester\u2019s research on CX measurement programs. In that role, Maxie creates thought leadership and advises clients on how to build an effective CX measurement programme, but also on how companies can (and should) innovate CX measurement practices beyond surveys. Maxie also writes about the business impact and the ROI of CX. Maxie is a frequent keynote speaker at conferences and leads CX workshops at events.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-17942 size-thumbnail\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/03\/graham-tutton-150x150.png\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/03\/graham-tutton-150x150.png 150w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/03\/graham-tutton-300x300.png 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/03\/graham-tutton.png 396w\" \/><\/p>\n<p><b><i>Graham Tutton, global <\/i><\/b><b><i>head of consumer products and services, InMoment<\/i><\/b><\/p>\n<p><span style=\"font-weight: 400\">Graham is a seasoned executive with over 25 years of leading customer experience and insights at several global brands. He has spent the last decade in senior leadership roles accountable for customer, employee, and product insights, deploying and managing all aspects of the enterprise Net Promoter System, and supporting operations teams at global media and communications leader Comcast. He has joined the InMoment team to lead clients through more strategically oriented and impactful programmes focused on experience improvements.<\/span><\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\n\t<\/section>\n\n\n\n\n<p><\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"event_type":[],"class_list":["post-32933","event","type-event","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/event\/32933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/event"}],"about":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/types\/event"}],"version-history":[{"count":0,"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/event\/32933\/revisions"}],"wp:attachment":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/media?parent=32933"}],"wp:term":[{"taxonomy":"event_type","embeddable":true,"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/event_type?post=32933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}