{"id":31875,"date":"2021-06-18T05:57:09","date_gmt":"2021-06-18T05:57:09","guid":{"rendered":"https:\/\/inmoment.com\/xi-terms\/customer-effort-score\/customer-effort-score-calculation\/"},"modified":"2023-11-13T15:59:42","modified_gmt":"2023-11-13T22:59:42","slug":"customer-effort-score-calculation","status":"publish","type":"glossary-terms","link":"https:\/\/inmoment.com\/en-gb\/xi-terms\/customer-effort-score\/customer-effort-score-calculation\/","title":{"rendered":"Customer Effort Score Calculation"},"content":{"rendered":"<p>The <a href=\"https:\/\/inmoment.com\/en-gb\/xi-terms\/customer-effort-score\/\" data-schema-attribute=\"\">Customer Effort Score (CES)<\/a> is an index from 1 to 7 that measures how easy a company makes it for customers to deal with its products and services. A company that provides effortless service gets a 7 while a company that makes it difficult gets a 1. In other words, the higher the CES, the better.<\/p>\n<p>Calculate CES by averaging all of the individual responses submitted through a Customer Effort Score survey question.<\/p>\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-calculation.jpg\" alt=\"CES Snapshot Dashboard\" class=\"wp-image-25945\" width=\"629\" height=\"243\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-calculation.jpg 839w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-calculation-300x116.jpg 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-calculation-768x297.jpg 768w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/figure><\/div>\n\n\n<h6 style=\"text-align: center;\">CES Snapshot Dashboard Source: InMoment<\/h6>\n<p>The scoring and calculation of the CES metric has an interesting history. When the Corporate Executive Board (CEB) first released the CES survey method around 2008, the original wording of the question was as follows:<\/p>\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/09\/how-much-effort.png\" alt=\"\" class=\"wp-image-31862\" width=\"512\" height=\"152\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/09\/how-much-effort.png 1024w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/09\/how-much-effort-300x89.png 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/09\/how-much-effort-768x227.png 768w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure><\/div>\n\n\n<p>Notice that with this scale and wording of the question, a low score is a good score, while a high score is a bad score. This may create confusion for customer experience professionals accustomed to <a href=\"https:\/\/inmoment.com\/en-gb\/xi-terms\/net-promoter-score\/\" data-schema-attribute=\"\">NPS<\/a> and <a href=\"https:\/\/inmoment.com\/en-gb\/xi-terms\/customer-satisfaction\/\" data-schema-attribute=\"\">CSAT<\/a> metrics where high scores are good. Researchers also found that the word \u201ceffort\u201d had different cultural meanings when translated in different languages.<\/p>\n<p>In 2013, after years of experimenting, advising clients, compiling responses and correlating them with customer loyalty, the CEB came up with revised language, on a 1 to 7 point scale, that they found to be more predictive of customer loyalty. They renamed the survey question CES 2.0.<\/p>\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-1024x404.png\" alt=\"CES 2.0\" class=\"wp-image-25957\" width=\"512\" height=\"202\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-1024x404.png 1024w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-300x118.png 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces-768x303.png 768w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/ces.png 1110w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure><\/div>\n\n\n<p>InMoment&#8217;s default CES question template takes a similar approach and can be customised to fit your needs:<\/p>\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/inmoment-ces.jpg\" alt=\"InMoment CES\" class=\"wp-image-25963\" width=\"492\" height=\"125\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/inmoment-ces.jpg 492w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/06\/inmoment-ces-300x76.jpg 300w\" sizes=\"auto, (max-width: 492px) 100vw, 492px\" \/><\/figure><\/div>\n\n\n<section id=\"block-e509a1154137589f2924184cd64c79af\" class=\"post-cards-block alignfull alignwide no-background\" style=\"\">\n\t<div class=\"container\">\n\n\t\t\t\t\t\t\t<h2 class=\"post-cards-block-heading \">Further Reading<\/h2>\n\t\t\n\t\t<div class=\"post-cards-block-cards\">\n\t\t\t\t\t\t\t\t<div class=\"card post-card \">\n\t\t\t\t\t<p class=\"card-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"post-card-tax\">Customer Experience<\/span>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/p>\n\t\t\n\t\t<div class=\"card-content\">\n\t\t\t\t\t\t\t<p class=\"card-title\"><a href=\"https:\/\/inmoment.com\/blog\/customer-experience-kpis-metrics\/\">Customer Experience KPIs &amp; Metrics: What to Measure and Manage<\/a><\/p>\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"card-footer\">\n\t\t\t\t\t\t\t<div class=\"card-image-wrap\">\n\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"140\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2020\/11\/NPS-blog-FP-300x140.jpg\" class=\"attachment-medium size-medium wp-post-image\" alt=\"\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2020\/11\/NPS-blog-FP-300x140.jpg 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2020\/11\/NPS-blog-FP.jpg 544w\" loading=\"lazy\" \/>\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<a class=\"button cta cta-card\" href=\"https:\/\/inmoment.com\/blog\/customer-experience-kpis-metrics\/\">\n\t\t\t\t\t<span>Continue Reading<\/span>\n\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\n\t<\/div><!-- .card -->\n\t\t<div class=\"card post-card \">\n\t\t\t\t\t<p class=\"card-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"post-card-tax\">Customer Experience<\/span>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/p>\n\t\t\n\t\t<div class=\"card-content\">\n\t\t\t\t\t\t\t<p class=\"card-title\"><a href=\"https:\/\/inmoment.com\/blog\/three-ways-to-find-the-meaning-behind-ease-effort-scores\/\">Three Ways to Find the Meaning Behind Ease &amp; Effort Scores<\/a><\/p>\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"card-footer\">\n\t\t\t\t\t\t\t<div class=\"card-image-wrap\">\n\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"211\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/02\/iStock-973730298-2-300x211.jpg\" class=\"attachment-medium size-medium wp-post-image\" alt=\"\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/02\/iStock-973730298-2-300x211.jpg 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/02\/iStock-973730298-2-1024x719.jpg 1024w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/02\/iStock-973730298-2-768x539.jpg 768w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/02\/iStock-973730298-2.jpg 1280w\" loading=\"lazy\" \/>\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<a class=\"button cta cta-card\" href=\"https:\/\/inmoment.com\/blog\/three-ways-to-find-the-meaning-behind-ease-effort-scores\/\">\n\t\t\t\t\t<span>Continue Reading<\/span>\n\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\n\t<\/div><!-- .card -->\n\t\t<div class=\"card post-card \">\n\t\t\t\t\t<p class=\"card-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"post-card-tax\">Customer Experience<\/span>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/p>\n\t\t\n\t\t<div class=\"card-content\">\n\t\t\t\t\t\t\t<p class=\"card-title\"><a href=\"https:\/\/inmoment.com\/blog\/ces-new-ways-saas-companies-are-using-customer-effort-cx-metric\/\">CES: New Ways SaaS Companies are Using Customer Effort Score<\/a><\/p>\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"card-footer\">\n\t\t\t\t\t\t\t<div class=\"card-image-wrap\">\n\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"150\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/05\/NEW-WAYS-SAAS-COMPANIES-ARE-USING-THE-CUSTOMER-EFFORT-METRIC-1-300x150.png\" class=\"attachment-medium size-medium wp-post-image\" alt=\"\" srcset=\"https:\/\/inmoment.com\/wp-content\/uploads\/2021\/05\/NEW-WAYS-SAAS-COMPANIES-ARE-USING-THE-CUSTOMER-EFFORT-METRIC-1-300x150.png 300w, https:\/\/inmoment.com\/wp-content\/uploads\/2021\/05\/NEW-WAYS-SAAS-COMPANIES-ARE-USING-THE-CUSTOMER-EFFORT-METRIC-1.png 750w\" loading=\"lazy\" \/>\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<a class=\"button cta cta-card\" href=\"https:\/\/inmoment.com\/blog\/ces-new-ways-saas-companies-are-using-customer-effort-cx-metric\/\">\n\t\t\t\t\t<span>Continue Reading<\/span>\n\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\n\t<\/div><!-- .card -->\n\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<button class=\"button ghost blue\">\n\t\t\t\t<a href=\"https:\/\/inmoment.com\/en-gb\/resources\/\" target=\"\">\n\t\t\t\t\t<span>Experience Improvement (XI) Resources<\/span>\n\t\t\t\t<\/a>\n\t\t\t<\/button>\n\t\t\n\t<\/div> <!-- .container -->\n\n<\/section>\n\n\n\n<section id=\"section-block_625d0ac6a84cb60e83cecf82aead52e0\" class=\"block-section bg-orca   bg-cover bg-center bg-no-repeat  alignfull\"\n    style=\" \">\n\n    <div class=\"py-100px\">\n\n        <div class=\"container\">\n\n            \n\n<section id=\"section-block_87c8148b0d96277150958cc8038aee8a\" class=\" \">\n\n\t<div class=\"cta-block-inner flex bg-albatross rounded-2xl p-2 flex-col lg:flex-row\">\n\n\t\t<div class=\"cta-block-inner-content text-center cta-block-inner-child flex flex-col justify-center bg-gradient-to-b from-albatross to-dory\/10 p-20px sm:p-50px xl:px-80px xl:py-50px rounded-lg relative lg:max-w-1\/2 lg:w-[60%]\">\n\t\t\t<img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/inmoment.com\/wp-content\/themes\/inmoment\/src\/images\/homepage\/cta-bg.webp\" class=\"absolute object-cover object-center left-0 top-0 w-full h-full\" alt=\"\">\n\t\t\t<div class=\"relative grid flex-row-reverse\">\n\t\t\t<h2 class=\"basis-full\">\n\t\t\t\t\t\t\t\t\tSee ROI in\n\t\t\t\t\t<span class=\"text-marine\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tHalf the Time\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\n\t\t\t\t\t\t\t\t<\/h2>\n\n\t\t\t\t\t\t\t<p class=\"text-orca text-[17px] md:basis-1\/2 self-center md:text-left\">InMoment\u2019s integrated CX approach increases customer lifetime value and bottom line performance in just 12 months, significantly faster than the industry average of 25 months!<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"flex w-full justify-center items-center flex-col md:basis-1\/2 self-center\">\n\t\t\t\t\t<img decoding=\"async\" width=\"529\" height=\"366\" src=\"https:\/\/inmoment.com\/wp-content\/uploads\/2023\/11\/ROI-With-InMoment.svg\" class=\"attachment-large size-large\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-stingray font-mono text-xs text-center\"><\/p>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<div class=\"cta-block-inner-form cta-block-inner-child w-full md:px-4 flex justify-center items-center flex-col lg:w-[46%]\">\n\t\t\t\t\t\t\n\n\n\t<span class=\"hs-gated-content-reveal-overlay  \"><\/span>\n\t<div class=\"hs-form-sticky-wrap   \">\n\t\t\n\n\t\t<div id=\"hubspot-form-69d1c6760e2be\" class=\"block-hubspot-form hs-form-outer  \" data-chili=\"\" data-form-id=\"587404b5-56ef-4576-8427-bd72e3a7b4b3\" >\n\t\t\t\t\t\t\t\t\t<!-- <span class=\"hs-gated-content-reveal-overlay\"><\/span> -->\n\t\t\t\t\t\t\n\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"hs-form-title   \">Learn More About InMoment<\/h3>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<div class=\"skeleton-loader\" id=\"loading-indicator-hubspot-form-69d1c6760e2be\">\n\t\t\t\t\t<div class=\"skeleton-field formpulse delay-1\">\n\t\t\t\t\t\t<div class=\"skeleton-label\"><\/div>\n\t\t\t\t\t\t<div class=\"skeleton-input\"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"skeleton-field formpulse delay-2\">\n\t\t\t\t\t\t<div class=\"skeleton-label\"><\/div>\n\t\t\t\t\t\t<div class=\"skeleton-input\"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"skeleton-field formpulse delay-3\">\n\t\t\t\t\t\t<div class=\"skeleton-label\"><\/div>\n\t\t\t\t\t\t<div class=\"skeleton-input\"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<script>\n\t\t\t\t\t\n\n\t\t\t\t\thsformEmbedJs.addEventListener('load', function(event_69d1c6760e2be) {\n\n\t\t\t\t\tvar gatedContentType = '';\n\t\t\t\t\tvar timeoutTime = 0;\n\n\t\t\t\t\t\t\/\/ Set up functions\n\t\t\t\t\t\tfunction onFormReadyFunction($form) {\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\/\/ Hide the loading indicator here if ZIFC not enabled\n\t\t\t\t\t\t\t\tif (document.getElementById('loading-indicator-hubspot-form-69d1c6760e2be'))\n\t\t\t\t\t\t\t\t\tdocument.getElementById('loading-indicator-hubspot-form-69d1c6760e2be').style.display = 'none';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\/\/ Gated content known user check\n\t\t\t\t\t\t\t\n\n\n\t\t\t\t\t\tif (gatedContentType === 'contentReveal') {\n\t\t\t\t\t\t\tif (localStorage.getItem('hasSubmittedForm') !== 'true') {\n\t\t\t\t\t\t\t\ttimeoutTime = parseInt(timeoutTime * 1000);\n\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tdocument.body.classList.add('gated-lock-screen');\n\t\t\t\t\t\t\t\t\t\tdocument.documentElement.classList.add('gated-lock-screen');\n\t\t\t\t\t\t\t\t\t}, timeoutTime);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\/\/ inject custom field values into Hubspot hidden input names\n\t\t\t\t\t\t\tvar formIDLastAssetData = formIDLastAssetData || [];\n\t\t\t\t\t\t\tformIDLastAssetData.push({\n\t\t\t\t\t\t\t\tid: 'hubspot-form-69d1c6760e2be',\n\t\t\t\t\t\t\t\tlast_asset: 'Customer Effort Score Calculation'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tvar input = $form[0].querySelector('input[name=\"last_asset\"]');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\/\/lastAssetInputs.forEach(input => {\n\t\t\t\t\t\t\tif(input && input.closest('.block-hubspot-form')) {\n\t\t\t\t\t\t\t\tvar formId = input.closest('.block-hubspot-form').id;\n\t\t\t\t\t\t\t\tvar formData = formIDLastAssetData.find(item => item.id === formId);\n\n\t\t\t\t\t\t\tif (formData) {\n\t\t\t\t\t\t\t\tinput.value = formData.last_asset;\n\t\t\t\t\t\t\t\tinput.dispatchEvent(new Event('input', {\n\t\t\t\t\t\t\t\t\tbubbles: true\n\t\t\t\t\t\t\t\t}));\n\n\t\t\t\t\t\t\t\tconsole.log(formData.last_asset);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\/\/});\n\t\t\t\t\t\t\/\/ if (document.querySelector('input[name=\"last_asset\"]')) {\n\t\t\t\t\t\t\/\/ \tdocument.querySelector('input[name=\"last_asset\"]').value = '<\/\/?php echo $last_asset; ?>';\n\t\t\t\t\t\t\/\/ \tdocument.querySelector('input[name=\"last_asset\"]').dispatchEvent(new Event('input', {\n\t\t\t\t\t\t\/\/ \t\tbubbles: true\n\t\t\t\t\t\t\/\/ \t}));\n\n\t\t\t\t\t\t\t\/\/ }\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\/\/ After button clicked, but before data is sent\n\t\t\t\t\tfunction onBeforeFormSubmitFunction($form) {\n\t\t\t\t\t\tconst submitButton = $form.find('input[type=\"submit\"]').get(0);\n\n\t\t\t\t\t\t\tif (submitButton) {\n\t\t\t\t\t\t\t\tsubmitButton.classList.add('submit-loading');\n\t\t\t\t\t\t\t\tsubmitButton.value = \"Loading...\";\n\t\t\t\t\t\t\t\tsubmitButton.disabled = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\/\/ Next few functions fire only if ZI enabled\n\t\t\t\t\t\tfunction onEmailChange($form) {\n\t\t\t\t\t\t\tlet emailInput = document.querySelector('input[name=\"email\"]');\n\t\t\t\t\t\t\tif(document.querySelector('input[name=\"Email\"]'))\n\t\t\t\t\t\t\t\temailInput = document.querySelector('input[name=\"Email\"]');\n\n\t\t\t\t\t\tif (emailInput && !emailInput.hasListenersAttached) {\n\t\t\t\t\t\t\t['input', 'change'].forEach(eventType => {\n\t\t\t\t\t\t\t\temailInput.addEventListener(eventType, handleInputChange.bind(null, $form, emailInput));\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\temailInput.hasListenersAttached = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction handleInputChange($form, emailInput) {\n\t\t\t\t\t\t\/\/console.log('Email input event triggered:', emailInput.value);\n\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\tfunction handleZoomInfoMatch($form, emailInput) {\n\t\t\t\t\t\tvalidateEmailWithDelay(emailInput);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction validateEmailWithDelay(emailInput) {\n\t\t\t\t\t\tvar form = emailInput.closest('form');\n\t\t\t\t\t\tvar submitButton = form.querySelector('[type=\"submit\"]');\n\t\t\t\t\t\t\n\t\t\t\t\t\tfunction disableSubmit() {\n\t\t\t\t\t\t\t\/\/console.log('Disable Submit');\n\t\t\t\t\t\t\tsubmitButton.classList.add('disabled');\n\t\t\t\t\t\t\tsubmitButton.disabled = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfunction enableSubmit() {\n\t\t\t\t\t\t\t\/\/console.log('Enable Submit');\n\t\t\t\t\t\t\tsubmitButton.classList.remove('disabled');\n\t\t\t\t\t\t\tsubmitButton.disabled = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tconst neverBounceStatus = emailInput.getAttribute('data-zi-neverbounce-status');\n\t\t\t\t\t\t\t\/\/console.log(neverBounceStatus);\n\n\n\t\t\t\t\t\t\tfetch(inmomentlocalizedata.theme_path + '\/template-parts\/content-blocks\/blocked-domains.json')\n\t\t\t\t\t\t\t.then(response => response.json())\n\t\t\t\t\t\t\t.then(list => {\n\n\t\t\t\t\t\t\t\tvar emailErrorHtml = document.createElement('div');\n\t\t\t\t\t\t\t\temailErrorHtml.setAttribute('class', 'mktoError mktoErrorCustom');\n\t\t\t\t\t\t\t\temailErrorHtml.innerHTML = 'This email is not allowed.';\n\n\n\t\t\t\t\t\t\t\tfunction isDomainFound(email) {\n\t\t\t\t\t\t\t\t\tconst domain = email.split('@')[1];\n\t\t\t\t\t\t\t\t\treturn list.includes(domain);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (isDomainFound(emailInput.value) || neverBounceStatus === 'invalid' || neverBounceStatus === 'disposable') {\n\t\t\t\t\t\t\t\t\tif(!form.querySelector('.mktoErrorCustom'))\n\t\t\t\t\t\t\t\t\t\temailInput.after(emailErrorHtml);\n\t\t\t\t\t\t\t\t\tdisableSubmit();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif(form.querySelector('.mktoErrorCustom'))\n\t\t\t\t\t\t\t\t\t\tform.querySelector('.mktoErrorCustom').remove();\n\t\t\t\t\t\t\t\t\tenableSubmit();\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(error => console.error('Error loading list:', error));\n\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t}\n\t\t\t\t\t\n\n\t\t\t\t\tfunction onFormSubmitFunction($form) {\n\t\t\t\t\t\t\/\/console.log('onFormSubmit function');\n\t\t\t\t\t\t\/\/ if ($form.attr('id') === 'hsForm_587404b5-56ef-4576-8427-bd72e3a7b4b3') {\n\t\t\t\t\t\t\/\/ \t\/\/console.log(\"587404b5-56ef-4576-8427-bd72e3a7b4b3 form submit function\");\n\t\t\t\t\t\t\/\/ }\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction onFormSuccessFunction($form, data) {\n\t\t\t\t\t\tif (gatedContentType === 'contentReveal') {\n\t\t\t\t\t\t\tif (localStorage.getItem('hasSubmittedForm') !== 'true') {\n\t\t\t\t\t\t\t\trevealGatedContent();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (gatedContentType === 'popupVideo' || gatedContentType === 'heroCTAPopupVideo') {\n\t\t\t\t\t\t\trevealPopupVideo($form);\n\t\t\t\t\t\t} else if (gatedContentType === 'popupPdf') {\n\t\t\t\t\t\t\trevealPopupPdf($form);\n\t\t\t\t\t\t} else if (gatedContentType === 'footerCTAPopupVideo') {\n\t\t\t\t\t\t\trevealFooterPopupVideo()\n\t\t\t\t\t\t} else if (gatedContentType === 'innerGate') {\n\t\t\t\t\t\t\trevealInnerGate($form);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\/\/ GTM add event trigger here\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || []\n\t\t\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\t\t\t'event': 'form_submit',\n\t\t\t\t\t\t\t'lastAsset': 'Customer Effort Score Calculation',\n\t\t\t\t\t\t\t'formSubmittedPage': window.location.href,\n\t\t\t\t\t\t\t'salesforceCampaignID': 'Customer Effort Score Calculation',\n\t\t\t\t\t\t\t'formType': 'demo',\n\t\t\t\t\t\t\t'gatedContentType': gatedContentType\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlocalStorage.setItem('hasSubmittedForm', 'true');\n\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\tfunction revealInnerGate($form) {\n\t\t\t\t\t\tif ($form[0].closest('.block-im-quiz')) {\n\t\t\t\t\t\t\t$form[0].closest('.hs-form-sticky-wrap').classList.add('hidden');\n\t\t\t\t\t\t\t$form[0].closest('.block-im-quiz').querySelector('.im-quiz-finish-screen').classList.remove('hidden');\n\t\t\t\t\t\t\t$form[0].closest('.block-im-quiz').querySelector('.quiz-inner').classList.remove('hidden');\n\t\t\t\t\t\t\t$form[0].closest('.block-im-quiz').querySelector('.restart').style.display = 'inline-block';\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction revealGatedContent() {\n\t\t\t\t\t\t\/\/console.log('content has been revealed');\n\t\t\t\t\t\tdocument.body.classList.remove('gated-lock-screen');\n\t\t\t\t\t\tdocument.documentElement.classList.remove('gated-lock-screen');\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction revealPopupPdf($form) {\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.submitted-message-custom').classList.remove('hidden');\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.submitted-message').classList.add('hidden');\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.hs-form-title').classList.add('hidden');\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.more-content').classList.add('hidden');\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.submitted-message-custom .header-cta-button').click();\n\t\t\t\t\t\t}, 3000);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction revealPopupVideo($form) {\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.play-btn.modal-trigger.form-to-video').click();\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.form-to-video-wrapper').classList.remove('hidden');\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.submitted-message').classList.add('hidden');\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').querySelector('.hs-form-title').classList.add('hidden');\n\t\t\t\t\t\t$form[0].closest('.block-hubspot-form').classList.add('to-video');\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction revealFooterPopupVideo() {\n\t\t\t\t\t\tdocument.querySelector('.play-btn.modal-trigger.form-to-video.footer-cta').click();\n\t\t\t\t\t\tdocument.querySelector('.form-to-video-wrapper.footer-cta').classList.remove('hidden');\n\t\t\t\t\t\tdocument.querySelector('.hs-form-title.footer-cta').classList.add('hidden');\n\t\t\t\t\t\tdocument.querySelector('.hs-form-sticky-wrap.footer-cta-popup-video .block-hubspot-form').classList.add('to-video');\n\t\t\t\t\t\tvar submittedMessages = document.querySelectorAll('.submitted-message');\n\t\t\t\t\t\tsubmittedMessages.forEach(function(submittedMessage) {\n\t\t\t\t\t\t\tsubmittedMessage.classList.add('hidden');\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction gotoScorecard(data) {\n\n\t\t\t\t\t\tvar baseURL = '';\n\t\t\t\t\t\tvar thankYouURLParams = [];\n\t\t\t\t\t\tthankYouURLParams['first_name'] = data.submissionValues.firstname ? data.submissionValues.firstname : '';\n\t\t\t\t\t\tthankYouURLParams['last_name'] = data.submissionValues.lastname ? data.submissionValues.lastname : '';\n\t\t\t\t\t\tthankYouURLParams['email'] = data.submissionValues.email ? data.submissionValues.email : '';\n\t\t\t\t\t\tthankYouURLParams['phone_number'] = data.submissionValues.phone ? data.submissionValues.phone : '5555555555';\n\n\t\t\t\t\t\tthankYouURLParams = Object.entries(thankYouURLParams);\n\t\t\t\t\t\tvar queryString = thankYouURLParams.map(([key, value]) =>\n\t\t\t\t\t\t\t`${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');\n\n\n\t\t\t\t\t\tvar finalThankyouURL = `${baseURL}?${queryString}&suppress_fields`;\n\n\t\t\t\t\t\twindow.open(finalThankyouURL, '_blank');\n\n\t\t\t\t\t}\n\t\t\t\t\t\/\/ Returns the redirect URL needed for the Hubspot form\n\t\t\t\t\tfunction generateThankYouURL(customURL, formType, gatedContentType, gatedAsset, $form) {\n\t\t\t\t\t\t\/\/ Check if custom Thank You URL is needed\n\t\t\t\t\t\tif (!customURL) {\n\t\t\t\t\t\t\tvar baseURL =\n\t\t\t\t\t\t\t\t'https:\/\/inmoment.com\/en-gb\/thank-you\/?';\n\t\t\t\t\t\t\tvar thankYouURLParams = [];\n\n\t\t\t\t\t\t\tif (formType === 'gated') {\n\t\t\t\t\t\t\t\tif (gatedContentType === 'pdf') {\n\t\t\t\t\t\t\t\t\tthankYouURLParams['type'] = 'asset';\n\t\t\t\t\t\t\t\t\t\/\/ Gated content needs to be attachment URL\n\t\t\t\t\t\t\t\t\tthankYouURLParams['asset'] = gatedAsset;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'video') {\n\t\t\t\t\t\t\t\t\tthankYouURLParams['type'] = 'video';\n\t\t\t\t\t\t\t\t\t\/\/ Gated content needs to be attachment URL\n\t\t\t\t\t\t\t\t\tthankYouURLParams['asset'] = gatedAsset;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'popupVideo') {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'contentReveal') {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'heroCTAPopupVideo') {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'footerCTAPopupVideo') {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'popupPdf') {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (gatedContentType === 'innerGate') {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\/\/console.log('gatedAsset -> ', gatedAsset);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (formType === 'demo') {\n\t\t\t\t\t\t\t\tthankYouURLParams['type'] = 'contact';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (formType === 'contact') {\n\t\t\t\t\t\t\t\tthankYouURLParams['type'] = 'contact';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (formType === 'event') {\n\t\t\t\t\t\t\t\tthankYouURLParams['type'] = 'event';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\/\/console.log('thankYouURLParams -> ', thankYouURLParams);\n\t\t\t\t\t\t\t\/\/ Construct the query string by joining the key-value pairs\n\t\t\t\t\t\t\tthankYouURLParams = Object.entries(thankYouURLParams);\n\n\t\t\t\t\t\t\tvar queryString = thankYouURLParams.map(([key, value]) =>\n\t\t\t\t\t\t\t\t`${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');\n\n\t\t\t\t\t\t\t\/\/console.log('queryString -> ', queryString);\n\t\t\t\t\t\t\t\/\/ Combine the base URL with the query string\n\t\t\t\t\t\t\tvar finalThankyouURL = `${baseURL}${queryString}`;\n\n\t\t\t\t\t\t\t\/\/console.log('finalThankyouURL -> ', finalThankyouURL);\n\t\t\t\t\t\t\treturn finalThankyouURL;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\/\/console.log('customURL -> ', customURL);\n\t\t\t\t\t\t\treturn customURL;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (document.querySelector('#hubspot-form-69d1c6760e2be')) {\n\t\t\t\t\t\t\t\t\tvar observer = new IntersectionObserver(function(el) {\n\t\t\t\t\t\t\t\t\t\t\tel = el[0] ? el[0] : el;\n\t\t\t\t\t\t\t\t\t\t\tif (el.isIntersecting) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\tfunction mktoFormLoaded(form) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tvar formEl = form.getFormElem();\n\t\t\t\t\t\t\tconsole.log('mktoform', form, formEl[0].querySelector(\"style\"))\n\t\t\t\t\t\t\t\/\/MktoForms2.whenReady(function() {onFormReadyFunction(formEl)});\n\t\t\t\t\t\t\tdocument.getElementById('mktoForms2BaseStyle').remove();\n\t\t\t\t\t\t\tdocument.getElementById('mktoForms2ThemeStyle').remove();\n\t\t\t\t\t\t\tformEl[0].querySelector(\"style\").remove();\n\t\t\t\t\t\t\tconsole.log(formEl[0].querySelector(\"style\"))\n\n\t\t\t\t\t\t\tonFormReadyFunction(formEl);\n\n\t\t\t\t\t\t\tformEl[0].querySelector('[type=\"submit\"]').innerText = 'Submit';\n\n\n\t\t\t\t\t\t\tif(formEl[0].closest('.block-hubspot-form').querySelector('.skeleton-loader'))\n\t\t\t\t\t\t\t\tformEl[0].closest('.block-hubspot-form').querySelector('.skeleton-loader').style.display = 'none';\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\tform.onSubmit(function() {onFormSubmitFunction(formEl)});\n\t\t\t\t\t\t\tform.onSuccess(function() {\n\t\t\t\t\t\t\t\tonFormSuccessFunction(formEl);\n\t\t\t\t\t\t\t\twindow.location.assign(generateThankYouURL('',\n\t\t\t\t\t\t\t\t\t'demo', '',\n\t\t\t\t\t\t\t\t\t''));\n\n\t\t\t\t\t\t\t\treturn false;\n\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\/\/onFormSubmitFunction($form);\n\t\t\t\t\t\t\t\/\/onFormSuccessFunction($form, data);\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(document.getElementById('mktoForm_2101') && !document.getElementById('mktoForm_2101' ).innerHTML.trim())\n\t\t\t\t\t\t\t\tMktoForms2.loadForm(\"\/\/go.forsta.com\", \"972-OEC-621\", 2101, mktoFormLoaded);\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\n\t\t\t\t\t\t\/\/ Main hubspot code\n\t\t\t\t\t\thbspt.forms.create({\n\t\t\t\t\t\t\tregion: \"na1\",\n\t\t\t\t\t\t\tportalId: \"1787915\",\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\ttarget: \"#hubspot-form-69d1c6760e2be .form_target\",\n\t\t\t\t\t\t\tcss: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tredirectUrl: generateThankYouURL('',\n\t\t\t\t\t\t\t\t\t'demo', '',\n\t\t\t\t\t\t\t\t\t''),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformId: \"587404b5-56ef-4576-8427-bd72e3a7b4b3\",\n\t\t\t\t\t\t\tmanuallyBlockedEmailDomain: [\"mailinator.com\",\"mailor.com\",\"yahoi.co.uk\",\"art.suez.edu.eg\",\"eol.com\",\"info.com\",\"weizixu.com\",\"naymedia.com\",\"compny.com\",\"linator.com\",\"edu.com\",\"mailinaor.com\",\"sportrid.comm\",\"tufufacenurimyv.com\",\"eeeqwe2.com\",\"armyspy.com\",\"info.net\",\"hinoon.com\",\"ainator.com\",\"busniess.com\",\"GMAIL1.com\",\"alright.com\",\"example.com\",\"poverts.com\",\"mailt.com\",\"apxby.com\",\"gmail.com\",\"yahoo.com\",\"hotmail.com\",\"live.com\",\"aol.com\",\"outlook.com\",\"qq.com\",\"comcast.com\",\"icloud.com\",\"ctpagent.com\",\"wesolvecx.com\",\"getthematic.com\",\"merkle.com\",\"getlocalmeasure.com\",\"localmeasure.com\",\"asknicely.com\",\"nielseniq.com\",\"momentive.com\",\"reputation.com\",\"zenloop.com\",\"eloquant.com\",\"hellocustomer.com\",\"skeepers.io\",\"yabble.com\",\"resonate.com.au\",\"smg.com\",\"altointelligence.co.uk\",\"altointelligence.com\",\"auracorp.com\",\"bareinternational.com\",\"bestmark.com\",\"blauw.com\",\"clarabridge.com\",\"concentrix.com\",\"concur.com\",\"confirmit.com\",\"copytimize.com\",\"critizr.com\",\"crowdicity.com\",\"customerradar.com\",\"customersat.com\",\"gallup.com\",\"getfeedback.com\",\"gfk.com\",\"globis-consulting.de\",\"glowfeed.com\",\"insync.com.au\",\"intervista.ch\",\"iperceptions.com\",\"jacada.com\",\"ka-brandresearch.com\",\"kantar.com\",\"kantartns.com\",\"kunden-insights.de\",\"link.ch\",\"livinglens.tv\",\"Loyalty360.org\",\"management-consult.de\",\"medallia.com\",\"morpace.com\",\"nice.com\",\"niceincontact.com\",\"op2ma.com.au\",\"opinionlab.com\",\"oracle.com\",\"pangealabs.com\",\"pidas.com\",\"potentiate.com\",\"quadient.com\",\"qualtrics.com\",\"questback.com\",\"rateitapp.com\",\"rateitapp.com.au\",\"responsetek.com\",\"rightnow.com\",\"salesforce.com\",\"sap.com\",\"satmetrix.com\",\"slmedien.de\",\"smg.com\",\"sphanalytics.com\",\"stellarbpo.com\",\"stellarxm.com\",\"strikedeck.com\",\"surveygizmo.com\",\"surveymonkey.com\",\"tele-research.de\",\"themsrgroup.com\",\"tns-global.com\",\"tns-infratest.com\",\"tnsglobal.com\",\"touchpointgroup.com\",\"ttr-group.de\",\"united-research.com\",\"usabilla.com\",\"verint.com\",\"vovici.com\",\"walkerinfo.com\",\"zendesk.com\",\"zingle.com\"],\n\n\t\t\t\t\t\t\t\t\t\t\t\t\/\/ Arbitrary in case there are two of same form on page\n\t\t\t\t\t\t\t\t\t\t\t\tformInstanceId: \"hubspot-form-69d1c6760e2be\",\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\tonFormReady: function($form) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonFormReadyFunction($form);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tonBeforeFormSubmit: function($form) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBeforeFormSubmitFunction($form);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tonFormSubmit: function($form) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonFormSubmitFunction($form);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tonFormSubmitted: function($form, data) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonFormSuccessFunction($form, data);\n\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tsubmitText: \"Submit\",\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t observer.unobserve(el.target);\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\t\troot: null,\n\t\t\t\t\t\t\t\t\trootMargin: '0px 0px 50% 0px',\n\t\t\t\t\t\t\t\t\tthreshold: 0.1\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tvar targetElement = document.querySelector('#hubspot-form-69d1c6760e2be'); observer.observe(targetElement.parentElement);\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t}) \/\/ on hs script loaded\n\t\t\t<\/script>\n\n\n\t\t\t\n\n\t\t\t\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t<form id=\"mktoForm_2101\" ><\/form>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t<\/div>\n\n\t<\/div>\n\n\n\t\t<\/div>\n\t<\/div>\n\n<\/section>\n\n\n        <\/div>\n\n    <\/div>\n\n<\/section>","protected":false},"featured_media":25970,"parent":31874,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-31875","glossary-terms","type-glossary-terms","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/glossary-terms\/31875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/glossary-terms"}],"about":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/types\/glossary-terms"}],"version-history":[{"count":0,"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/glossary-terms\/31875\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/glossary-terms\/31874"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/media\/25970"}],"wp:attachment":[{"href":"https:\/\/inmoment.com\/en-gb\/wp-json\/wp\/v2\/media?parent=31875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}