{"id":24328,"date":"2026-09-23T20:29:57","date_gmt":"2026-09-23T20:29:57","guid":{"rendered":"https:\/\/www.afiniti.com\/?page_id=24328"},"modified":"2026-09-24T08:45:34","modified_gmt":"2026-09-24T08:45:34","slug":"glossary","status":"publish","type":"page","link":"https:\/\/www.afiniti.com\/glossary\/","title":{"rendered":"Glossary"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24328\" class=\"elementor elementor-24328\" data-elementor-post-type=\"page\">\n\t\t\t\t\r\n<!-- Javascript -->\r\n\r\n<!-- <script type='text\/javascript'>\r\n  let originalPath = window.location.pathname;\r\n\r\n  function openVideo(videoUrl, deep_link) {\r\n    const overlay = document.getElementById('videoOverlay');\r\n    const iframe = document.getElementById('videoIframe');\r\n    const autoplayUrl = `${videoUrl}`;\r\n    iframe.src = autoplayUrl;\r\n    iframe.allow = \"autoplay\"\r\n    overlay.style.display = 'flex';\r\n    document.body.style.overflow = 'hidden';\r\n\r\n    video_history_push_pop(deep_link);\r\n    \r\n  }\r\n\r\n  function closeVideo() {\r\n    const overlay = document.getElementById('videoOverlay');\r\n    const iframe = document.getElementById('videoIframe');\r\n    iframe.src = '';\r\n    overlay.style.display = 'none';\r\n    document.body.style.overflow = '';\r\n    video_history_push_pop('');\r\n  }\r\n\r\n  function getYouTubeEmbedUrl(url) {\r\n    \/\/ Our regex pattern to look for a youTube ID\r\n    const regExp = \/^.*(youtu.be\\\/|v\\\/|u\\\/\\w\\\/|embed\\\/|watch\\?v=|&v=)([^#&?]*).*\/;\r\n    \/\/Match the url with the regex\r\n    const match = url.match(regExp);\r\n    \/\/Return the result\r\n    const videoId = match && match[2].length === 11 ? match[2] : undefined;\r\n    if (videoId) {\r\n      return 'https:\/\/www.youtube.com\/embed\/' + videoId + '?autoplay=1';\r\n    }\r\n    else {\r\n      return undefined\r\n    }\r\n  };\r\n  function getVimeoEmbedUrl(url) {\r\n    \/\/ Look for a string with 'vimeo', then whatever, then a\r\n    \/\/ forward slash and a group of digits.\r\n    const match = \/vimeo.*\\\/(\\d+)\/i.exec(url);\r\n    \/\/ If the match isn't null (i.e. it matched)\r\n    if (match) {\r\n      \/\/ The grouped\/matched digits from the regex\r\n      return 'https:\/\/player.vimeo.com\/video\/' + match[1] + '?autoplay=1';\r\n    }\r\n    else {\r\n      return undefined;\r\n    }\r\n  };\r\n\r\n  function video_history_push_pop(deep_link) {\r\n    console.log(deep_link);\r\n    if (deep_link != '') {\r\n      const newUrl = \"\/video\/\" + deep_link; \r\n      history.pushState({ video: true }, \"\", newUrl);\r\n    } else {\r\n      history.pushState({}, \"\", originalPath);\r\n    }\r\n  }\r\n<\/script> -->\r\n<div class=\"elementor-element elementor-element-5f521d3 e-con-full e-flex e-con e-parent\" data-id=\"5f521d3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-9e72a10 e-flex e-con-boxed e-con e-child\" data-id=\"9e72a10\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dde470e elementor-widget elementor-widget-heading\" data-id=\"dde470e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Afiniti\u2019s AI and CX Glossary<\/h1>\t\t\t\t<\/div>\n\t\t\r\n<!-- Javascript -->\r\n\r\n<!-- <script type='text\/javascript'>\r\n  let originalPath = window.location.pathname;\r\n\r\n  function openVideo(videoUrl, deep_link) {\r\n    const overlay = document.getElementById('videoOverlay');\r\n    const iframe = document.getElementById('videoIframe');\r\n    const autoplayUrl = `${videoUrl}`;\r\n    iframe.src = autoplayUrl;\r\n    iframe.allow = \"autoplay\"\r\n    overlay.style.display = 'flex';\r\n    document.body.style.overflow = 'hidden';\r\n\r\n    video_history_push_pop(deep_link);\r\n    \r\n  }\r\n\r\n  function closeVideo() {\r\n    const overlay = document.getElementById('videoOverlay');\r\n    const iframe = document.getElementById('videoIframe');\r\n    iframe.src = '';\r\n    overlay.style.display = 'none';\r\n    document.body.style.overflow = '';\r\n    video_history_push_pop('');\r\n  }\r\n\r\n  function getYouTubeEmbedUrl(url) {\r\n    \/\/ Our regex pattern to look for a youTube ID\r\n    const regExp = \/^.*(youtu.be\\\/|v\\\/|u\\\/\\w\\\/|embed\\\/|watch\\?v=|&v=)([^#&?]*).*\/;\r\n    \/\/Match the url with the regex\r\n    const match = url.match(regExp);\r\n    \/\/Return the result\r\n    const videoId = match && match[2].length === 11 ? match[2] : undefined;\r\n    if (videoId) {\r\n      return 'https:\/\/www.youtube.com\/embed\/' + videoId + '?autoplay=1';\r\n    }\r\n    else {\r\n      return undefined\r\n    }\r\n  };\r\n  function getVimeoEmbedUrl(url) {\r\n    \/\/ Look for a string with 'vimeo', then whatever, then a\r\n    \/\/ forward slash and a group of digits.\r\n    const match = \/vimeo.*\\\/(\\d+)\/i.exec(url);\r\n    \/\/ If the match isn't null (i.e. it matched)\r\n    if (match) {\r\n      \/\/ The grouped\/matched digits from the regex\r\n      return 'https:\/\/player.vimeo.com\/video\/' + match[1] + '?autoplay=1';\r\n    }\r\n    else {\r\n      return undefined;\r\n    }\r\n  };\r\n\r\n  function video_history_push_pop(deep_link) {\r\n    console.log(deep_link);\r\n    if (deep_link != '') {\r\n      const newUrl = \"\/video\/\" + deep_link; \r\n      history.pushState({ video: true }, \"\", newUrl);\r\n    } else {\r\n      history.pushState({}, \"\", originalPath);\r\n    }\r\n  }\r\n<\/script> -->\r\n\t\t<div class=\"elementor-element elementor-element-b664b3c elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"b664b3c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The Contact Center Glossary is your go-to resource for understanding the essential terms related to call center software and customer experience.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f0f1f59 e-flex e-con-boxed e-con e-child\" data-id=\"f0f1f59\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_offset&quot;:90,&quot;sticky_offset_tablet&quot;:65,&quot;sticky_offset_mobile&quot;:65,&quot;sticky_on&quot;:[&quot;widescreen&quot;,&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;],&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-526184a elementor-widget elementor-widget-shortcode\" data-id=\"526184a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <nav class=\"az-nav\" id=\"azNav\" aria-label=\"Glossary A to Z filter\">\r\n        <div class=\"az-search-box\">\r\n            <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/search.svg\" alt=\"\" class=\"az-search-icon\" \/>\r\n            <input\r\n                type=\"text\"\r\n                id=\"azSearchInput\"\r\n                class=\"az-search-input\"\r\n                placeholder=\"Search\"\r\n                aria-label=\"Search glossary\"\r\n                autocomplete=\"off\"\r\n            \/>\r\n        <\/div>\r\n        <div class=\"az-nav-letters\">\r\n                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-A\" class=\"az-item\" data-letter=\"A\">A<\/a>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-B\" class=\"az-item\" data-letter=\"B\">B<\/a>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-C\" class=\"az-item\" data-letter=\"C\">C<\/a>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-D\" class=\"az-item\" data-letter=\"D\">D<\/a>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"E\" aria-disabled=\"true\" title=\"No entries starting with E\">E<\/span>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-F\" class=\"az-item\" data-letter=\"F\">F<\/a>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"G\" aria-disabled=\"true\" title=\"No entries starting with G\">G<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"H\" aria-disabled=\"true\" title=\"No entries starting with H\">H<\/span>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-I\" class=\"az-item\" data-letter=\"I\">I<\/a>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"J\" aria-disabled=\"true\" title=\"No entries starting with J\">J<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"K\" aria-disabled=\"true\" title=\"No entries starting with K\">K<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"L\" aria-disabled=\"true\" title=\"No entries starting with L\">L<\/span>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-M\" class=\"az-item\" data-letter=\"M\">M<\/a>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-N\" class=\"az-item\" data-letter=\"N\">N<\/a>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-O\" class=\"az-item\" data-letter=\"O\">O<\/a>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-P\" class=\"az-item\" data-letter=\"P\">P<\/a>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"Q\" aria-disabled=\"true\" title=\"No entries starting with Q\">Q<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"R\" aria-disabled=\"true\" title=\"No entries starting with R\">R<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"S\" aria-disabled=\"true\" title=\"No entries starting with S\">S<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"T\" aria-disabled=\"true\" title=\"No entries starting with T\">T<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"U\" aria-disabled=\"true\" title=\"No entries starting with U\">U<\/span>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-V\" class=\"az-item\" data-letter=\"V\">V<\/a>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"W\" aria-disabled=\"true\" title=\"No entries starting with W\">W<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"X\" aria-disabled=\"true\" title=\"No entries starting with X\">X<\/span>\r\n                                                                <span class=\"az-item az-nodata\" data-letter=\"Y\" aria-disabled=\"true\" title=\"No entries starting with Y\">Y<\/span>\r\n                                                                <a onclick=\"glossaryScrollToLetter(event, this);\" href=\"#letter-Z\" class=\"az-item\" data-letter=\"Z\">Z<\/a>\r\n                                    <\/div>\r\n    <\/nav>\r\n\r\n    <script>\r\n    var glossaryAjaxUrl     = \"https:\/\/www.afiniti.com\/wp-admin\/admin-ajax.php\";\r\n    var glossarySearchNonce = \"cf153abac5\";\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9d1556d e-flex e-con-boxed e-con e-child\" data-id=\"9d1556d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7839b6a elementor-widget elementor-widget-shortcode\" data-id=\"7839b6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"glossary-top\"><\/div>\r\n\r\n    <div class=\"calculator-loader-wrapper hidden\" id=\"glossaryLoader\">\r\n        <div class=\"dot-loader-wrap\">\r\n            <div class=\"dot-loader\"><\/div>\r\n            <div class=\"dot-loader dot-loader--2\"><\/div>\r\n            <div class=\"dot-loader dot-loader--3\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <main id=\"glossaryList\">\r\n                <section class=\"letter-section\" id=\"letter-A\" data-glossary-letter=\"A\">\r\n            <h4 class=\"letter-heading font-weight-medium\">A<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-agent-assist\/\">Agent Assist<\/a>\r\n                                            <p>Real-time AI guidance for human agents during live customer interactions. <\/p>\r\n                                    <\/div>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-agentic-ai\/\">Agentic AI<\/a>\r\n                                            <p>AI systems that plan and take multi-step actions toward a goal with minimal human supervision. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-B\" data-glossary-letter=\"B\">\r\n            <h4 class=\"letter-heading font-weight-medium\">B<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-behavioral-pairing\/\">Behavioral Pairing<\/a>\r\n                                            <p>Matching each customer with the agent most likely to produce a specific outcome, based on patterns in past interactions.<\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-C\" data-glossary-letter=\"C\">\r\n            <h4 class=\"letter-heading font-weight-medium\">C<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-ccaas\/\">CCaaS<\/a>\r\n                                            <p>Cloud-delivered contact center software, run by the vendor and paid for on subscription.<\/p>\r\n                                    <\/div>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-containment-rate\/\">Containment Rate<\/a>\r\n                                            <p>The share of interactions fully handled by automation without reaching a human agent. <\/p>\r\n                                    <\/div>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-customer-lifetime-value\/\">Customer Lifetime Value<\/a>\r\n                                            <p>The total value a customer is expected to generate over the whole relationship. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-D\" data-glossary-letter=\"D\">\r\n            <h4 class=\"letter-heading font-weight-medium\">D<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-dialogue-management\/\">Dialogue Management<\/a>\r\n                                            <p>The control layer that tracks a conversation\u2019s state and decides what the system does next. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-F\" data-glossary-letter=\"F\">\r\n            <h4 class=\"letter-heading font-weight-medium\">F<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-first-contact-resolution\/\">First Contact Resolution<\/a>\r\n                                            <p>The share of customer issues resolved in a single contact, with no follow-up needed.<\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-I\" data-glossary-letter=\"I\">\r\n            <h4 class=\"letter-heading font-weight-medium\">I<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-an-intelligence-layer\/\">Intelligence Layer<\/a>\r\n                                            <p>A unified layer that turns data from routing, automation, and quality systems into shared intelligence and decisions.<\/p>\r\n                                    <\/div>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-intelligent-escalation\/\">Intelligent Escalation<\/a>\r\n                                            <p>Deciding when and how an AI interaction should hand off to a human agent, with full context carried over. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-M\" data-glossary-letter=\"M\">\r\n            <h4 class=\"letter-heading font-weight-medium\">M<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-multi-intent-handling\/\">Multi-Intent Handling<\/a>\r\n                                            <p>An AI agent\u2019s ability to recognise and resolve several requests within one interaction.<\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-N\" data-glossary-letter=\"N\">\r\n            <h4 class=\"letter-heading font-weight-medium\">N<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-nlu\/\">Natural Language Understanding (NLU)<\/a>\r\n                                            <p>The AI capability that interprets what a person means, not just the words they used. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-O\" data-glossary-letter=\"O\">\r\n            <h4 class=\"letter-heading font-weight-medium\">O<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-outcome-orchestration\/\">Outcome Orchestration<\/a>\r\n                                            <p>Coordinating AI and routing decisions around defined business outcomes rather than isolated task metrics. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-P\" data-glossary-letter=\"P\">\r\n            <h4 class=\"letter-heading font-weight-medium\">P<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-persona-pairing\/\">Persona Pairing<\/a>\r\n                                            <p>Matching customers with AI agent personas based on which combination performs best for that interaction type. <\/p>\r\n                                    <\/div>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-proof-of-performance\/\">Proof of Performance<\/a>\r\n                                            <p>Measuring AI impact through controlled comparison, so results reflect what the AI changed, not what would have happened anyway. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-V\" data-glossary-letter=\"V\">\r\n            <h4 class=\"letter-heading font-weight-medium\">V<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-a-voicebot\/\">Voicebot<\/a>\r\n                                            <p>Software that holds spoken conversations with customers over the phone and voice channels. <\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n            <section class=\"letter-section\" id=\"letter-Z\" data-glossary-letter=\"Z\">\r\n            <h4 class=\"letter-heading font-weight-medium\">Z<\/h4>\r\n                            <div class=\"entry\">\r\n                    <a href=\"https:\/\/www.afiniti.com\/glossary\/what-is-zero-out-rate\/\">Zero-Out Rate<\/a>\r\n                                            <p>How often callers bypass the IVR to reach a human agent directly.<\/p>\r\n                                    <\/div>\r\n                    <\/section>\r\n        <\/main>\r\n\r\n    <button type=\"button\" id=\"glossaryBackToTop\" class=\"back-to-top-fixed\" aria-label=\"Back to top\">\r\n        \u2191 Back to Top\r\n        <img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/Dots.svg\" alt=\"icon\" aria-hidden=\"true\" width=\"16\" height=\"16\">\r\n    <\/button>\r\n\r\n    <script>\r\n    (function() {\r\n\r\n        \/* ---------- Back to Top (unchanged) ---------- *\/\r\n        var btn = document.getElementById('glossaryBackToTop');\r\n        if (btn) {\r\n            var SHOW_AFTER_PX = 1500;\r\n            window.addEventListener('scroll', function() {\r\n                btn.classList.toggle('is-visible', window.scrollY > SHOW_AFTER_PX);\r\n            });\r\n\r\n            var scrollTarget = document.getElementById('glossary-top');\r\n            var OFFSET = 200;\r\n            btn.addEventListener('click', function() {\r\n                var top = scrollTarget.getBoundingClientRect().top + window.scrollY - OFFSET;\r\n                window.scrollTo({ top: top, behavior: 'smooth' });\r\n            });\r\n        }\r\n\r\n        \/* ---------- Search ---------- *\/\r\n\/* ---------- Search ---------- *\/\r\nvar input      = document.getElementById('azSearchInput');\r\nvar listEl     = document.getElementById('glossaryList');\r\nvar loader     = document.getElementById('glossaryLoader');\r\nvar navLetters = document.querySelector('#azNav .az-nav-letters');\r\nif (!input || !listEl) return;\r\n\r\nvar MIN_CHARS       = 2;\r\nvar DEBOUNCE_MS     = 600;\r\nvar debounceTimer   = null;\r\nvar currentRequest  = null;\r\n\r\nfunction showLoader() {\r\n    if (loader) loader.classList.remove('hidden');\r\n    listEl.classList.add('fade');\r\n    if (navLetters) navLetters.classList.add('fade');\r\n}\r\nfunction hideLoader() {\r\n    if (loader) loader.classList.add('hidden');\r\n    listEl.classList.remove('fade');\r\n    if (navLetters) navLetters.classList.remove('fade');\r\n}\r\n\r\n\/**\r\n * Scrolls to a letter section by data-letter. Used for BOTH real <a>\r\n * links and reactivated <span> letters (spans have no href, so they\r\n * need this bound as a click handler instead).\r\n *\/\r\nfunction glossaryDynamicScroll(e) {\r\n    e.preventDefault();\r\n    var letter = this.getAttribute('data-letter');\r\n    var target = document.getElementById('letter-' + letter);\r\n    if (!target) return;\r\n\r\n    var offset = 180;\r\n    var top = target.getBoundingClientRect().top + window.scrollY - offset;\r\n    window.scrollTo({ top: top, behavior: 'smooth' });\r\n}\r\n\r\n\/**\r\n * Sets one nav item's active\/inactive state based purely on whatever\r\n * the SERVER just said, for THIS request \u2014 never on a stale snapshot.\r\n * This runs identically whether it's a real search or the \"no search \/\r\n * show everything\" case, so a newly-added post is picked up either way.\r\n *\/\r\nfunction setNavItemActive(item, isActive) {\r\n    if (isActive) {\r\n        item.classList.remove('az-nodata', 'letter-inactive');\r\n        item.removeAttribute('aria-disabled');\r\n        item.removeAttribute('tabindex');\r\n        item.style.cursor = 'pointer';\r\n\r\n        if (item.tagName === 'SPAN' && !item.dataset.scrollBound) {\r\n            item.setAttribute('role', 'link');\r\n            item.setAttribute('tabindex', '0');\r\n            item.addEventListener('click', glossaryDynamicScroll);\r\n            item.dataset.scrollBound = 'true';\r\n        }\r\n    } else {\r\n        item.classList.remove('letter-inactive'); \/\/ avoid stacking both classes\r\n        item.classList.add('az-nodata');\r\n        item.setAttribute('aria-disabled', 'true');\r\n        item.setAttribute('tabindex', '-1');\r\n        item.style.cursor = '';\r\n    }\r\n}\r\n\r\nfunction updateNavFromLetters(activeLetters) {\r\n    document.querySelectorAll('#azNav .az-item').forEach(function(item) {\r\n        var letter = item.getAttribute('data-letter');\r\n        setNavItemActive(item, activeLetters.indexOf(letter) !== -1);\r\n    });\r\n}\r\n\r\n\/**\r\n * Fires an AJAX request for the given term (empty string = full,\r\n * unfiltered, LIVE listing). Used for both real searches and clears \u2014\r\n * there is no more \"restore the page-load snapshot\" path, so a term\r\n * added after page load is picked up the moment you search or clear.\r\n *\/\r\nfunction fetchGlossary(term) {\r\n    showLoader();\r\n\r\n    var requestId = Date.now();\r\n    currentRequest = requestId;\r\n\r\n    var formData = new FormData();\r\n    formData.append('action', 'glossary_search');\r\n    formData.append('nonce', glossarySearchNonce);\r\n    formData.append('search', term);\r\n\r\n    fetch(glossaryAjaxUrl, {\r\n        method: 'POST',\r\n        body: formData,\r\n        credentials: 'same-origin'\r\n    })\r\n    .then(function(res) { return res.json(); })\r\n    .then(function(json) {\r\n        if (currentRequest !== requestId) return; \/\/ a newer request already superseded this\r\n        if (json && json.success) {\r\n            listEl.innerHTML = json.data.html;\r\n            updateNavFromLetters(json.data.letters || []);\r\n        }\r\n    })\r\n    .catch(function(err) {\r\n        console.error('Glossary search failed:', err);\r\n    })\r\n    .finally(function() {\r\n        if (currentRequest === requestId) hideLoader();\r\n    });\r\n}\r\n\r\ninput.addEventListener('input', function() {\r\n    var term = input.value.trim();\r\n\r\n    clearTimeout(debounceTimer);\r\n\r\n    if (term.length < MIN_CHARS) {\r\n        \/\/ Below threshold: don't wait for the debounce, refresh to the\r\n        \/\/ live full listing right away (still an AJAX call, just no delay).\r\n        currentRequest = null;\r\n        fetchGlossary('');\r\n        return;\r\n    }\r\n\r\n    debounceTimer = setTimeout(function() {\r\n        fetchGlossary(term);\r\n    }, DEBOUNCE_MS);\r\n});\r\n\r\n\r\n\r\n\r\n    })();\r\n\r\n    function glossaryScrollToLetter(event, link) {\r\n        event.preventDefault();\r\n        event.stopPropagation();\r\n        event.stopImmediatePropagation();\r\n\r\n        const targetId = link.getAttribute('href');\r\n        const target = document.querySelector(targetId);\r\n        if (!target) return false;\r\n\r\n        const offset = 180;\r\n        const targetTop = target.getBoundingClientRect().top + window.scrollY - offset;\r\n\r\n        window.scrollTo({ top: targetTop, behavior: 'smooth' });\r\n        return false;\r\n    }\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Afiniti\u2019s AI and CX Glossary The Contact Center Glossary is your go-to resource for understanding the essential terms related to call center software and customer experience.<\/p>\n","protected":false},"author":4,"featured_media":24341,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"page-category":[],"class_list":["post-24328","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Zero-out rate measures how often callers bypass the IVR to reach a human agent. Learn how it is calculated and what zero-out behaviour signals.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"google-site-verification\" content=\"fvA4_y8pyDh74kjtjStWC6eZTjZGlYp811mfuXRJfEc\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.afiniti.com\/glossary\/what-is-zero-out-rate\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Afiniti\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"What Is Zero-Out Rate? | Afiniti\" \/>\n\t\t<meta property=\"og:description\" content=\"Zero-out rate measures how often callers bypass the IVR to reach a human agent. Learn how it is calculated and what zero-out behaviour signals.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.afiniti.com\/glossary\/what-is-zero-out-rate\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.afiniti.com\/wp-content\/uploads\/2023\/08\/Logo-blue.svg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.afiniti.com\/wp-content\/uploads\/2023\/08\/Logo-blue.svg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"75\" \/>\n\t\t<meta property=\"og:image:height\" content=\"23\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-06T14:42:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-07T09:56:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/afinitiai\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"What Is Zero-Out Rate? | Afiniti\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Zero-out rate measures how often callers bypass the IVR to reach a human agent. Learn how it is calculated and what zero-out behaviour signals.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.afiniti.com\/wp-content\/uploads\/2023\/08\/Logo-blue.svg\" \/>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>What Is Zero-Out Rate? | Afiniti<\/title>\n\n","aioseo_head_json":{"title":"What Is Zero-Out Rate? | Afiniti","description":"Zero-out rate measures how often callers bypass the IVR to reach a human agent. Learn how it is calculated and what zero-out behaviour signals.","canonical_url":"https:\/\/www.afiniti.com\/glossary\/what-is-zero-out-rate\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"fvA4_y8pyDh74kjtjStWC6eZTjZGlYp811mfuXRJfEc","miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"Afiniti","og:type":"article","og:title":"What Is Zero-Out Rate? | Afiniti","og:description":"Zero-out rate measures how often callers bypass the IVR to reach a human agent. Learn how it is calculated and what zero-out behaviour signals.","og:url":"https:\/\/www.afiniti.com\/glossary\/what-is-zero-out-rate\/","og:image":"https:\/\/www.afiniti.com\/wp-content\/uploads\/2023\/08\/Logo-blue.svg","og:image:secure_url":"https:\/\/www.afiniti.com\/wp-content\/uploads\/2023\/08\/Logo-blue.svg","og:image:width":75,"og:image:height":23,"article:published_time":"2026-10-06T14:42:18+00:00","article:modified_time":"2026-10-07T09:56:14+00:00","article:publisher":"https:\/\/www.facebook.com\/afinitiai","twitter:card":"summary","twitter:title":"What Is Zero-Out Rate? | Afiniti","twitter:description":"Zero-out rate measures how often callers bypass the IVR to reach a human agent. Learn how it is calculated and what zero-out behaviour signals.","twitter:image":"https:\/\/www.afiniti.com\/wp-content\/uploads\/2023\/08\/Logo-blue.svg"},"aioseo_meta_data":{"post_id":"24328","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-09-24 08:46:31","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":"0","open_ai":null,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-09-23 20:29:48","updated":"2026-09-24 08:46:31","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"_links":{"self":[{"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/pages\/24328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/comments?post=24328"}],"version-history":[{"count":5,"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/pages\/24328\/revisions"}],"predecessor-version":[{"id":24340,"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/pages\/24328\/revisions\/24340"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/media\/24341"}],"wp:attachment":[{"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/media?parent=24328"}],"wp:term":[{"taxonomy":"page-category","embeddable":true,"href":"https:\/\/www.afiniti.com\/api\/wp\/v2\/page-category?post=24328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}