{"id":4198,"date":"2026-06-15T16:24:58","date_gmt":"2026-06-15T06:24:58","guid":{"rendered":"https:\/\/www.hashmicro.com\/au\/blog\/?p=4198"},"modified":"2026-06-15T17:11:58","modified_gmt":"2026-06-15T07:11:58","slug":"customer-experience-management","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/","title":{"rendered":"Customer Experience Management: Strategy and Best Practices"},"content":{"rendered":"<p>A customer contacts your team, explains their issue to different agents, and leaves without a resolution. They do not complain. They canceled, six weeks later, and your data shows no clear reason why.<\/p>\n<p>Silent churn like this is one of the most expensive problems a business can face. The customer was reachable, the signal was there, and the business simply had no system in place to act on it.<\/p>\n<p>Customer experience management is that system. This blog covers how to build one, what to measure, and how Australian businesses can apply CXM to reduce churn and build lasting customer relationships.<\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#what-is-customer-experience-management\">Customer experience management<\/a> is an enterprise-wide strategy for designing and improving every customer interaction, from first contact to long-term retention.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#core-components-of-customer-experience-management\">Core Components<\/a> of CXM: unified customer data, journey mapping, and coordinated omnichannel touchpoint delivery across every channel.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#how-to-build-a-cxm-strategy-in-five-steps\">Building a CXM strategy<\/a> in five steps means auditing touchpoints, setting measurable goals, unifying data, designing the journey, and refining continuously.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#customer-experience-management-best-practices\">CXM best practices<\/a> include listening to the voice of the customer, empowering frontline teams, personalising communications, and centralising data in a CRM.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<!-- <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Content:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div> -->\r\n\r\n<!-- <div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Table of Content<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Table of Content<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- ToC styling  -->\r\n<style>\r\n\t\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\ttocTitle.textContent = 'Table of Content';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/         toc.style.display = 'block';\r\n\/\/ \t}else{\r\n\/\/         toc.style.display = 'none';\r\n\/\/ \t}\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n\/\/         console.log(\"activeLink:\", activeLink);\r\n        if (activeLink) {\r\n\/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n          tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n        }\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\r\n\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<!-- START script lama -->\r\n<!-- <script>\r\n\/\/ \tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/ \t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\/\/ \t\tdropdownFixedTop.addEventListener('click', function() {\r\n\/\/ \t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\/\/ \t\t\tdropdownContent.classList.toggle('show');\r\n\/\/ \t\t});\r\n\r\n\/\/ \t\twindow.addEventListener('click', function(event) {\r\n\/\/ \t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\/\/ \t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\/\/ \t\t\t\tlistTocTop.classList.remove('show');\r\n\/\/ \t\t\t}\r\n\/\/ \t\t});\r\n\/\/ \t});\r\n\t\r\n\/\/ \tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\/\/ \tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n\/\/     var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n\/\/     window.addEventListener('scroll', function() {\r\n\/\/         if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(false);\r\n\/\/             triggered = true;\r\n\/\/         } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(true);\r\n\/\/             triggered = false;\r\n\/\/         }\r\n\/\/     });\r\n\r\n\/\/     function isCompletelyScrolledPast(element) {\r\n\/\/         var elementTop = element.getBoundingClientRect().top;\r\n\/\/         var elementBottom = element.getBoundingClientRect().bottom;\r\n\/\/         return elementTop < 0 && elementBottom < 0;\r\n\/\/     }\r\n\r\n\/\/     function showSectionDropdownFixedTop(show) {\r\n\/\/ \t\tif (show) {\r\n\/\/ \t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\/\/ \t\t}\r\n\/\/     }\r\n<\/script> -->\r\n<!-- <script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n\t\t  pilihDaftarIsi.innerHTML = a.textContent;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script> -->\r\n<!-- END script lama -->\r\n\t\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!--  <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\nToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\"\r\n        Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\tDapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\nDapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\t\r\n        Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n\n\r\n    <div class=\"adjustable-banner-wrap\">\r\n        <a href=\"https:\/\/www.hashmicro.com\/au\/crm?medium=moneysite-banner\" target=\"_blank\">\r\n            <img decoding=\"async\" loading=\"lazy\"\r\n                 src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/03\/crm_desktop_3.webp\"\r\n                 data-desktop-src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/03\/crm_desktop_3.webp\"\r\n                 data-mobile-src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/03\/crm_mobile_3.webp\"\r\n                 alt=\"CRM3\"\r\n                 class=\"responsive-image-banner\">\r\n\r\n            \r\n            <div class=\"adjustable-banner-overlay\" style=\"width: 50%\">\r\n                <p class=\"adjustable-banner-text\">Need <strong>expert advice<\/strong> to <strong>optimise sales<\/strong> and <strong>team performance<\/strong>?<\/p>\r\n                <div class=\"adjustable-banner-btn\">Schedule a Consultation<\/div>\r\n            <\/div>\r\n\r\n        <\/a>\r\n    <\/div>\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<p><!-- notionvc: 83449c66-6f3c-41d6-a568-f035e02ae959 --><\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>What Is Customer Experience Management?<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-4939\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/05\/Untitled-design-79.webp\" alt=\"what-is-customer-experience-management\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/05\/Untitled-design-79.webp 800w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/05\/Untitled-design-79-300x150.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/05\/Untitled-design-79-768x384.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/05\/Untitled-design-79-150x75.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/05\/Untitled-design-79-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Customer Experience Management (CXM or CEM) is an enterprise-wide discipline for designing and improving every interaction a customer has with a business, from initial discovery through to long-term retention.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">It goes well beyond a helpdesk or a feedback form. CXM covers how your website feels to navigate, how quickly a sales rep follows up, and whether the post-purchase experience reflects the brand promise.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The distinction from customer service is one of intent. Customer service reacts to specific problems. CXM proactively shapes the journey, anticipating friction before it surfaces and building consistency across channels.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; font-size: 15px; margin: 24px 0;\">\n<thead>\n<tr style=\"background-color: #eb5a3c; color: #ffffff;\">\n<th style=\"padding: 12px 16px; text-align: left; border: 1px solid #dddddd;\">Aspect<\/th>\n<th style=\"padding: 12px 16px; text-align: left; border: 1px solid #dddddd;\">Customer Experience Management<\/th>\n<th style=\"padding: 12px 16px; text-align: left; border: 1px solid #dddddd;\">Customer Service<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #fff0ed;\">\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\"><strong>Scope<\/strong><\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Every interaction across the full customer journey<\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Specific issue or enquiry<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\"><strong>Approach<\/strong><\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Proactive, shaping the journey before problems arise<\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Reactive, responding after a problem occurs<\/td>\n<\/tr>\n<tr style=\"background-color: #f9f9f9;\">\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\"><strong>Ownership<\/strong><\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Company-wide discipline across every team<\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Typically, a dedicated team or department<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\"><strong>Timeframe<\/strong><\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Ongoing, across the full customer lifecycle<\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Point-in-time, per interaction<\/td>\n<\/tr>\n<tr style=\"background-color: #f9f9f9;\">\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\"><strong>Goal<\/strong><\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Loyalty, retention, and long-term advocacy<\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Issue resolution and immediate satisfaction<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\"><strong>Example<\/strong><\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Redesigning onboarding to reduce early churn<\/td>\n<td style=\"padding: 12px 16px; border: 1px solid #dddddd;\">Resolving a billing dispute via support chat<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Operationally, <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/crm-analytics\/\">data-driven customer engagement analysis<\/a> draws on quantitative signals such as churn rates, resolution times, and purchase frequency, alongside qualitative ones like survey sentiment and social mentions.<\/p>\n<style>\r\n    #custom-quote {\r\n        background-color: #f0f0f0;\r\n        padding: 20px;\r\n        border-radius: 12px;\r\n        margin: 20px;\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    #custom-quote .quote-body {\r\n        display: flex;\r\n        flex-direction: row;\r\n        align-items: flex-start;\r\n        gap: 15px;\r\n        font-size: 16px;\r\n        line-height: 1.5;\r\n        font-style: italic;\r\n    }\r\n\r\n    #custom-quote .quote-icon {\r\n        width: 40px;\r\n        height: 40px;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    #custom-quote .quote-author-wrapper {\r\n        margin-top: 15px;\r\n        align-self: flex-start;\r\n        margin-left: 55px; \r\n\t\tmargin-bottom: 0px;\r\n    }\r\n\r\n    #custom-quote em {\r\n        font-family: 'Roboto Serif', serif !important;\r\n        font-size: 12px;\r\n        font-weight: bold;\r\n        font-style: normal;\r\n    }\r\n\r\n    @media screen and (max-width: 768px) {\r\n        #custom-quote {\r\n            margin: 15px 0;\r\n            padding: 15px;\r\n        }\r\n        \r\n        #custom-quote .quote-body {\r\n            gap: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-left: 52px;\r\n        }\r\n    }\r\n\r\n    @media screen and (max-width: 480px) {\r\n        #custom-quote {\r\n            margin: 10px 0;\r\n            padding: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-body {\r\n            font-size: 14px;\r\n            gap: 10px;\r\n        }\r\n\r\n        #custom-quote .quote-icon {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-top: 10px;\r\n            margin-left: 42px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div id=\"custom-quote\">\r\n    <div class=\"quote-body\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/12\/quote.webp\" alt=\"Quote Icon\" class=\"quote-icon\">\r\n        <div>\r\n            \u201cCustomer experience is the sum of all interactions a customer has with a company, and the feelings, emotions, and perceptions the customer has about those interactions, before, during, and after.        <\/div>\r\n    <\/div>\r\n    <p class=\"quote-author-wrapper\">\r\n        <em>Chris O\u2019Donnell, Lead Project Manager<\/em>\r\n    <\/p>\r\n<\/div>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>Why Customer Experience Management Matters<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Markets have grown more competitive and switching costs have fallen. In that environment, how a customer feels during and after an interaction often determines whether they stay or leave.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Consumers today are also highly vocal. A single poor experience can reach thousands of people through social media. Genuinely good experiences spread the same way, driving acquisition at no additional cost.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\"><strong>Impact on retention, loyalty, and revenue<\/strong><\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Retention is the most immediate financial argument. Acquiring a new customer costs significantly more than keeping an existing one, commonly estimated at five to twenty-five times more depending on the industry.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Loyalty runs deeper than retention. A retained customer may simply not have left yet. A loyal customer actively chooses the brand again, resists competitive alternatives, and is far more receptive to upsells and cross-sells.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">At the top of that spectrum sits advocacy. When a business consistently exceeds expectations, customers recommend it without being asked. That word-of-mouth channel is both highly trusted and cost-efficient.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>Core Components of Customer Experience Management<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Building an effective CXM strategy requires more than goodwill and a feedback inbox. It depends on three interrelated foundations: unified data, a clear picture of the customer journey, and coordinated delivery across every channel.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Unified customer data and profiles<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">In many businesses, data is fragmented across departments. Marketing holds campaign data, while sales manages transaction history. None of these systems talk to each other, so every team works from a partial picture.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The result is predictably frustrating: customers repeat their issues to multiple agents, receive promotions for products they just returned, or get contacted at the wrong stage of their journey.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A unified profile, sometimes called a 360-degree view, aggregates structured data such as purchase history and loyalty tier alongside unstructured data like sentiment from support calls and survey responses.<\/p>\n<h3 class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">2. Customer journey mapping<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Journey mapping is the process of visualising every interaction a customer has with a business, from first awareness through to post-purchase engagement, from the customer&#8217;s perspective rather than the company&#8217;s.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Effective maps go beyond listing touchpoints. They capture the customer&#8217;s goals, questions, and emotional state. Where does anxiety spike? Where does confusion cause drop-off? These pain points become targets for redesign.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Journey maps also surface moments of truth: the interactions that disproportionately shape brand perception, regardless of how minor they seem internally. Identifying those moments allows teams to invest effort where it matters.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">These documents are not static. Customer behaviour shifts, channels evolve, and business capabilities change. Journey maps must be reviewed and updated regularly to remain accurate.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Omnichannel touchpoint coordination<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Customers do not follow a single path. They browse on mobile, research on desktop, ask questions via live chat, and sometimes call a support line, often for the same purchase. Each channel needs to feel connected, not siloed.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">This is the core difference between multichannel and omnichannel. A multichannel setup offers multiple ways to interact but treats each in isolation.<\/p>\n<p>Building <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/omnichannel-customer-service\/\">connected customer communication strategies<\/a> ensures context follows the customer across every touchpoint.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A conversation started via chat should not require the customer to repeat themselves when they call back. Achieving that continuity requires shared customer records and a unified communication platforms between channels.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>How to Build a CXM Strategy in Five Steps<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">CXM is not a one-time implementation. It is an ongoing operational shift. The following five steps provide a structured path for businesses moving from fragmented touchpoints to a coherent, customer-centred framework.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Audit current touchpoints and pain points<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A thorough audit maps every point where a customer interacts with the business, across digital channels such as website and app, physical channels such as stores and packaging, and operational ones like billing and returns.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The audit should combine quantitative data, funnel drop-off rates, ticket categories, and support search queries, with qualitative input from frontline staff interviews, usability tests, and customer complaints.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Frontline staff are particularly valuable at this stage. They hear the same frustrations daily and carry institutional knowledge that rarely surfaces. The output should be a ranked, honest picture of where the experience falls short.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Set CXM goals and success metrics<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">CXM goals without a connection to business outcomes tend to fade under pressure. They need to be grounded in what the business actually needs: reduced churn, higher lifetime value, or lower cost-to-serve, not just improved survey scores.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">From those strategic goals, specific metrics follow: Net Promoter Score, Customer Effort Score, retention rate, or First Contact Resolution, depending on what is being measured and why.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Avoid optimising for metrics in isolation. An agent measured solely on handling time will rush customers. Pairing efficiency metrics with satisfaction ones gives a far more accurate read on performance.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Unify customer data across systems<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">This step involves auditing the existing technology stack: CRM, point-of-sale, marketing automation, e-commerce backend, and support ticketing. The goal is a data architecture where information flows in real time.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A single, accessible customer record must be available to any relevant team member instantly. That requires integration, identity resolution to merge duplicate records, and data governance to maintain ongoing accuracy.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Without unified data, personalisation efforts rest on incomplete information. The result is communications that feel irrelevant and interactions that feel generic, which signals to the customer that the business does not know them.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">4. Design and personalise the customer journey<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">With clean data and a clear view of pain points, businesses can move from fixing what is broken to designing the ideal experience. That means mapping the ideal journey across all channels and with smooth transitions in between them.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Personalisation is central to this step. Customers expect businesses to know their preferences and likely next need. That might mean routing high-value customers to senior support agents or triggering a check-in after a difficult interaction.<\/p>\n<p>Effective personalisation requires predictive analytics, marketing automation, and <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/crm-system\/\">tools for customer communication management<\/a>, all working from the unified data built in step three.<\/p>\n<p>It is not a cosmetic touch. It signals to the customer that the business values the individual relationship.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">5. Measure, learn, and refine continuously<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Consumer expectations are not static. What feels like a strong experience today becomes a baseline expectation within months. CXM frameworks that do not account for this inevitably fall behind.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Continuous measurement means running Voice of the Customer programs after key interactions, monitoring satisfaction metrics in real time, and building closed-loop processes that route negative feedback to the relevant team for resolution.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Closing the loop must include following up with the customer. When someone reports a poor experience and receives a response showing the business acted on it, that outcome often converts a frustrated customer into a retained one.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>Key<\/strong> Customer Experience Metrics to Track<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Tracking the right metrics gives a reliable read on the health of the customer relationship, identifies areas needing attention, and demonstrates the return on CXM investment to leadership.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Net Promoter Score (NPS)<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Net Promoter Score measures loyalty through a single question: how likely are you to recommend this business to a friend or colleague, on a scale of zero to ten.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Respondents fall into Promoters (9-10), Passives (7-8), and Detractors (0-6). The score is the percentage of Promoters minus Detractors.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">NPS is valued for its simplicity and its correlation with long-term growth. It works best when paired with follow-up questions that surface the reasons behind the score. It identifies a problem without explaining it.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Customer Satisfaction Score (CSAT)<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">CSAT measures satisfaction with a specific interaction, not the overall relationship. A customer might rate a support call highly while still being unlikely to recommend the business. Both signals matter, and neither replaces the other.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Collected via post-interaction surveys, CSAT helps evaluate individual touchpoints: service quality, checkout flow, and onboarding steps. It pinpoints which parts of the journey need the most immediate attention.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Churn rate and customer lifetime value<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Churn rate is the percentage of customers who stop doing business with a company over a given period. It reflects actual behaviour rather than stated intent, making it one of the clearest indicators of CXM performance.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Customer lifetime value estimates the total revenue a business can expect from a customer over the entire relationship. Together, churn and CLV help businesses assess whether CXM investment is producing durable retention or not.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">CXM Examples for Australian Businesses<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">CXM principles are universal, but execution looks different across industries and markets. These two examples show how Australian businesses can apply core CXM concepts in practice.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Retail omnichannel example<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A mid-sized Australian retailer operates both physical stores and an e-commerce platform. Customers frequently browse online and visit the store to view products before buying, a pattern common in apparel and homewares.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Without omnichannel coordination, an in-store associate has no visibility into that customer&#8217;s online cart or browsing history.<\/p>\n<p>With <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/crm-software-australia\/\">platforms supporting customer service<\/a> operations, they can offer relevant recommendations from the moment the customer walks in.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">When a customer returns an online purchase in-store, the system surfaces their full order history instantly, no paper receipt required, no lengthy process. That friction removal has a measurable effect on repeat purchase rates.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Subscription service example<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A SaaS business operating in the Australian market monitors product usage across its customer base. When engagement drops below a threshold, fewer logins, features going unused, or support requests increase, the system flags the account.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A customer success manager contacts the customer before they consider cancelling, offering a walkthrough of underused features or a conversation about whether the current plan still fits their needs.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">This approach in practice: using data to act before dissatisfaction becomes a decision to leave. In competitive SaaS markets, where switching costs are low, the businesses that notice problems earliest tend to retain customers longest.<\/p>\n<h2><strong>Customer Experience Management Best Practices<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Strong CXM is built on consistent operational habits, not just the right technology. These practices give businesses a foundation for delivering reliable experiences across every stage of the customer journey.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Listen to the voice of the customer<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">VoC programs collect customer feedback through surveys, support transcripts, social listening, and review platforms. The goal is a real-time picture of what customers are experiencing, not a data dump for quarterly reviews.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The listening must be systematic. Ad hoc feedback collection produces incomplete signals. A structured program ties specific touchpoints to specific feedback mechanisms and tracks changes in sentiment over time.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Empower frontline teams with customer insight<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Frontline staff are the most direct point of contact between the brand and the customer. If they lack visibility into a customer&#8217;s history and prior interactions, they are working at a disadvantage.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Providing agents, store staff, and account managers with a real-time view of the unified customer profile reduces handling time, increases first-contact resolution, and removes the frustration of customers having to repeat themselves.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Personalise communications across channels<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Generic communications get ignored. When a customer receives an email that reflects their recent activity or acknowledges where they are in the journey, engagement improves significantly.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Personalisation works across channels: targeted email sequences, in-app messages tied to usage behaviour, SMS notifications triggered by specific actions, and dynamic website content adjusted to browsing history. Each requires unified data and an automation layer to execute at scale.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">4. Comply with the Privacy Act 1988<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Australian businesses collecting and using customer data are bound by the <a href=\"https:\/\/www.legislation.gov.au\/C2004A03712\/latest\/text\">Privacy Act 1988<\/a> and the <a href=\"https:\/\/www.oaic.gov.au\/privacy\/australian-privacy-principles\">Australian Privacy Principles<\/a>. This includes obligations around how data is collected, stored, used, and disclosed.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">For CXM, this means being transparent about what data is collected and why, obtaining consent where required, and ensuring customer data across systems is accurate and securely managed to maintain customer trust.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">5. Use a CRM platform to centralise customer data<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">An\u00a0<a href=\"https:\/\/www.hashmicro.com\/au\/crm\">integrated customer engagement system<\/a>\u00a0consolidates customer records, tracks interaction history across channels, enables segmentation, and provides the data layer that personalisation and automation depend on.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Selecting a CRM with strong integration capabilities ensures it connects to existing tools without creating new silos.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Businesses that get the most from CXM often find that a CRM embedded within a broader business management platform reduces duplication and gives every team a complete view of each customer.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>Common CXM Mistakes to Avoid<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Even well-intentioned CXM programs produce limited results when they fall into predictable traps. Understanding these common mistakes makes them easier to avoid.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Treating CXM as a one-off project<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">CXM is not a campaign with a defined end date. Businesses that treat it that way, launching a survey, acting on results once, and moving on, consistently see improvements erode within months.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">It requires ongoing governance: regular journey map reviews, continuous metric monitoring, and a standing process responsible for actioning feedback. Without that structure, individual CXM initiatives remain isolated rather than cumulative.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Ignoring negative feedback signals<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Negative feedback is the most actionable data a business collects. It identifies precisely where the experience is failing and which customers are at risk of leaving.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Businesses that deprioritise negative signals in favour of high average scores miss the early warning system that CXM provides.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A closed-loop process that routes negative feedback to the right team and follows up with the customer is one of the most direct ways to reduce churn.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Siloing customer data across teams<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">When marketing, sales, and support each hold separate customer records, no single team has a full picture of the relationship. Customers pay for this gap with repeated questions and a sense that the business does not know them.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Siloed data also limits analytical capability. Patterns that would be visible in a unified dataset, such as a correlation between a specific support experience and subsequent churn, remain invisible when data lives in separate systems.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\"><strong>Conclusion<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Customer experience management shapes how customers perceive, engage with, and remain loyal to a business. Done well, it connects data, teams, and channels into a coherent strategy, deepens relationships, and produces consistent experiences worth returning to.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">For Australian businesses, that means investing in unified data infrastructure, listening actively to customer feedback, building Privacy Act compliance into data practices from the start, and treating CXM as an ongoing discipline.<\/p>\n<p>If you are interested in learning further regarding this topic, you can <a href=\"https:\/\/www.hashmicro.com\/au\/free-product-tour\/\">consult our experts<\/a> for free and start anytime.<\/p>\n<h2><strong>Frequently Asked Questions<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>How long does it take to see results from a CXM strategy?<\/strong><\/summary>\n<p>Most businesses begin to see measurable improvements in satisfaction scores and early retention signals within three to six months. Longer-term outcomes like improved customer lifetime value and reduced churn typically take six to twelve months, depending on the scale of changes and how consistently they are applied.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Do small businesses really need customer experience management?<\/strong><\/summary>\n<p>Yes. CXM does not require a large technology budget or a dedicated team. For small businesses, it can be as straightforward as tracking repeat customers, following up after purchases, and resolving complaints quickly. The core principle applies regardless of company size.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Who should own CXM within a company?<\/strong><\/summary>\n<p>CXM works best when it has executive sponsorship, often through a Chief Customer Officer or equivalent role. Operationally, it requires cross-functional ownership across marketing, sales, product, and support. Assigning CXM to a single department tends to limit both its scope and its effectiveness.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Is customer experience management only for B2C businesses?<\/strong><\/summary>\n<p>No. B2B businesses often carry more complex, longer-term customer relationships, which makes CXM arguably more important in that context. Journey mapping, proactive customer success outreach, and unified account data are all CXM practices widely used in B2B and SaaS environments.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How does AI fit into customer experience management?<\/strong><\/summary>\n<p>AI supports CXM by predicting churn risk from usage and engagement data, personalising communications at scale, analysing sentiment in support interactions, and recommending next-best actions for sales or support teams. It works best when built on clean, unified data.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How long does it take to see results from a CXM strategy?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Most businesses begin to see measurable improvements in satisfaction scores and early retention signals within three to six months. Longer-term outcomes like improved customer lifetime value and reduced churn typically take six to twelve months, depending on the scale of changes and how consistently they are applied.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do small businesses really need customer experience management?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. CXM does not require a large technology budget or a dedicated team. For small businesses, it can be as straightforward as tracking repeat customers, following up after purchases, and resolving complaints quickly. The core principle applies regardless of company size.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Who should own CXM within a company?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"CXM works best when it has executive sponsorship, often through a Chief Customer Officer or equivalent role. Operationally, it requires cross-functional ownership across marketing, sales, product, and support. Assigning CXM to a single department tends to limit both its scope and its effectiveness.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is customer experience management only for B2C businesses?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. B2B businesses often carry more complex, longer-term customer relationships, which makes CXM arguably more important in that context. Journey mapping, proactive customer success outreach, and unified account data are all CXM practices widely used in B2B and SaaS environments.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How does AI fit into customer experience management?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"AI supports CXM by predicting churn risk from usage and engagement data, personalising communications at scale, analysing sentiment in support interactions, and recommending next-best actions for sales or support teams. It works best when built on clean, unified data.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A customer contacts your team, explains their issue to different agents, and leaves without a resolution. They do not complain. They canceled, six weeks later, and your data shows no clear reason why. Silent churn like this is one of the most expensive problems a business can face. The customer was reachable, the signal was [&hellip;]<\/p>\n","protected":false},"author":54,"featured_media":5346,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[87],"tags":[],"class_list":{"0":"post-4198","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-crm"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Customer Experience Management: Strategy and Best Practices - HashMicro Australia<\/title>\n<meta name=\"description\" content=\"Discover what customer experience management is and how to build a CXM strategy that drives retention and loyalty for Australian businesses\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Customer Experience Management: Strategy and Best Practices\" \/>\n<meta property=\"og:description\" content=\"Discover what customer experience management is and how to build a CXM strategy that drives retention and loyalty for Australian businesses\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Australia\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-15T06:24:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-15T07:11:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T141102.965.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Ryan Callahan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ryan Callahan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/\"},\"author\":{\"name\":\"Ryan Callahan\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/63bf6285e73cef5d79640ad6a301da14\"},\"headline\":\"Customer Experience Management: Strategy and Best Practices\",\"datePublished\":\"2026-06-15T06:24:58+00:00\",\"dateModified\":\"2026-06-15T07:11:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/\"},\"wordCount\":3069,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T141102.965.webp\",\"articleSection\":[\"CRM\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/\",\"name\":\"Customer Experience Management: Strategy and Best Practices - HashMicro Australia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T141102.965.webp\",\"datePublished\":\"2026-06-15T06:24:58+00:00\",\"dateModified\":\"2026-06-15T07:11:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/63bf6285e73cef5d79640ad6a301da14\"},\"description\":\"Discover what customer experience management is and how to build a CXM strategy that drives retention and loyalty for Australian businesses\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T141102.965.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Untitled-design-2026-06-15T141102.965.webp\",\"width\":800,\"height\":400,\"caption\":\"customer-experience-management-hashmicro\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/customer-experience-management\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Customer Experience Management: Strategy and Best Practices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/\",\"name\":\"HashMicro Australia\",\"description\":\"Business Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/63bf6285e73cef5d79640ad6a301da14\",\"name\":\"Ryan Callahan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-Ryan-Callahan-96x96.webp\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-Ryan-Callahan-96x96.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-Ryan-Callahan-96x96.webp\",\"caption\":\"Ryan Callahan\"},\"description\":\"I write CRM-focused content that helps teams connect leads, activities, and customer insights into one practical workflow, so pipelines stay visible, follow-ups stay timely, and performance becomes easier to measure.\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/author\\\/ryan-callahan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Customer Experience Management: Strategy and Best Practices - HashMicro Australia","description":"Discover what customer experience management is and how to build a CXM strategy that drives retention and loyalty for Australian businesses","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/","og_locale":"en_US","og_type":"article","og_title":"Customer Experience Management: Strategy and Best Practices","og_description":"Discover what customer experience management is and how to build a CXM strategy that drives retention and loyalty for Australian businesses","og_url":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/","og_site_name":"HashMicro Australia","article_published_time":"2026-06-15T06:24:58+00:00","article_modified_time":"2026-06-15T07:11:58+00:00","og_image":[{"width":800,"height":400,"url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T141102.965.webp","type":"image\/webp"}],"author":"Ryan Callahan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ryan Callahan","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/"},"author":{"name":"Ryan Callahan","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/63bf6285e73cef5d79640ad6a301da14"},"headline":"Customer Experience Management: Strategy and Best Practices","datePublished":"2026-06-15T06:24:58+00:00","dateModified":"2026-06-15T07:11:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/"},"wordCount":3069,"commentCount":0,"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T141102.965.webp","articleSection":["CRM"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/","url":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/","name":"Customer Experience Management: Strategy and Best Practices - HashMicro Australia","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T141102.965.webp","datePublished":"2026-06-15T06:24:58+00:00","dateModified":"2026-06-15T07:11:58+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/63bf6285e73cef5d79640ad6a301da14"},"description":"Discover what customer experience management is and how to build a CXM strategy that drives retention and loyalty for Australian businesses","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#primaryimage","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T141102.965.webp","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/06\/Untitled-design-2026-06-15T141102.965.webp","width":800,"height":400,"caption":"customer-experience-management-hashmicro"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/au\/blog\/customer-experience-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/au\/blog\/"},{"@type":"ListItem","position":2,"name":"Customer Experience Management: Strategy and Best Practices"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website","url":"https:\/\/www.hashmicro.com\/au\/blog\/","name":"HashMicro Australia","description":"Business Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/au\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/63bf6285e73cef5d79640ad6a301da14","name":"Ryan Callahan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Ryan-Callahan-96x96.webp","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Ryan-Callahan-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Ryan-Callahan-96x96.webp","caption":"Ryan Callahan"},"description":"I write CRM-focused content that helps teams connect leads, activities, and customer insights into one practical workflow, so pipelines stay visible, follow-ups stay timely, and performance becomes easier to measure.","url":"https:\/\/www.hashmicro.com\/au\/blog\/author\/ryan-callahan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/4198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/comments?post=4198"}],"version-history":[{"count":4,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/4198\/revisions"}],"predecessor-version":[{"id":5018,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/4198\/revisions\/5018"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media\/5346"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media?parent=4198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/categories?post=4198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/tags?post=4198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}