{"id":19329,"date":"2026-05-12T08:52:41","date_gmt":"2026-05-12T08:52:41","guid":{"rendered":"https:\/\/www.hashmicro.com\/my\/blog\/?p=19329"},"modified":"2026-05-12T08:54:47","modified_gmt":"2026-05-12T08:54:47","slug":"penetration-pricing-strategy","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/","title":{"rendered":"Penetration Pricing Strategy: Definition, Examples &#038; When to Use It in Malaysia"},"content":{"rendered":"<p>For any new brand entering the Malaysian market, price is often the only competitive lever that actually moves buyers. Established players, like Lazada and Maxis, already own the brand recognition, distribution, and marketing spend. Penetration pricing turns that price gap into a market-share gain.<\/p>\n<p>This works in Malaysia because local consumers are unusually price-conscious. Smartphone penetration is among the highest in Southeast Asia, and shoppers routinely compare prices across Shopee, Lazada, and Foodpanda before buying. Price consistently ranks as the top reason Malaysians switch brands, making the country one of the most fertile markets for <a href=\"https:\/\/data.gov.my\/dashboard\/internet-penetration\" target=\"_blank\" rel=\"noopener\">penetration pricing<\/a>.<\/p>\n<p>Whether you are launching a D2C brand, SaaS product, food chain, or supply chain business, this article helps you decide if <a href=\"https:\/\/www.hashmicro.com\/my\/accounting-software\">penetration pricing<\/a> fits your market and how to apply it without locking customers at low prices.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#1\">Penetration pricing<\/a> helps businesses gain customers quickly through low introductory pricing before raising prices over time.<\/li>\n<li>Penetration pricing offers fast market growth and stronger brand exposure, but it can also create <a href=\"#2\">pricing pressure and attract<\/a> short-term customers.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#3\">Penetration pricing targets<\/a> rapid customer growth through low prices, while price skimming focuses on maximizing early profit from premium customers.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span data-sheets-root=\"1\"><!-- <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\">Content Lists<\/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<!-- TOC mobile -->\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<!-- TOC mobile -->\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}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\t\t\t\t\r\n\t}\r\n\r\n<\/style>\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<!-- START 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<!-- END ToC styling  -->\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<\/script>\r\n\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\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', '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\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\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;} \/\/ Biar ga nampilin Key Takeaways di ToC\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\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\n\/\/ Dapatkan 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\r\n\r\n\r\n\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<!-- \t<style>#toc_group_float{display:block !important}<\/style> -->\r\n<\/span><\/p>\n<p>Boost business growth with smarter pricing strategies and a fully integrated ERP system that helps manage sales, inventory, and customer retention more efficiently.<\/p>\n<p><span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/my\/accounting-software?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/02\/accounting_definisi_en.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/02\/accounting_definisi_en.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/02\/accounting_definisi_en_m.webp\" alt=\"Accounting_Definisi\" class=\"responsive-image-banner\"><\/a>\r\n\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><\/span><\/p>\n<h2><strong><span id=\"1\">What is Penetration Pricing Strategy?<\/span><\/strong><\/h2>\n<p>Penetration pricing is a market entry strategy where businesses launch products at low prices to quickly attract customers and gain market share before gradually increasing prices later. The strategy focuses on sacrificing short-term profits to build a stronger long-term market position through rapid adoption and customer retention.<\/p>\n<p>This approach works best in competitive markets with price-sensitive customers, especially for new brands trying to compete with established players. Unlike <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/price-skimming\/\">price skimming method<\/a>, which starts with high prices and lowers them over time, penetration pricing begins low and increases gradually later on.<\/p>\n<h2><strong>Key Objectives of a Penetration Pricing Strategy<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-19347\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-300x74.webp\" alt=\"Key Objectives of a Penetration Pricing Strategy\" width=\"697\" height=\"172\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-300x74.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-1024x252.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-768x189.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-1536x377.webp 1536w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-1710x420.webp 1710w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-150x37.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-696x171.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657-1068x262.webp 1068w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Key-Objectives-of-a-Penetration-Pricing-Strategy-e1778490041657.webp 1885w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/p>\n<p>A well-designed penetration pricing strategy is not just about being cheap. It is about hitting specific commercial objectives. For Malaysian SMBs operating in highly competitive sectors like F&amp;B, e-commerce, and SaaS, the strategy serves five clear goals.<\/p>\n<ol>\n<li><strong>Gain market share quickly<\/strong><br \/>\nIn categories with one or two dominant players, organic growth is slow. A low launch price gives buyers a concrete reason to switch immediately. Malaysian consumers, particularly Gen Z and millennials, respond strongly to price-led promotions on TikTok Shop and Shopee.<\/li>\n<li><strong>Attract price-sensitive customers away from incumbents<\/strong><br \/>\nPrice-sensitive buyers do not leave incumbents like Lazada because they are unhappy. They leave when someone gives them a concrete reason to switch, and a lower entry price removes the perceived risk of trying an unfamiliar brand. The comparison shifts from &#8220;familiar vs unknown&#8221; to actual value delivered, which the incumbent cannot win on brand alone.<\/li>\n<li><strong>Accelerate brand awareness and product trial<\/strong><br \/>\nA cheaper price lowers the psychological cost of trying. This is especially powerful for unknown brands. The customer thinks, &#8220;if it is bad, I have not lost much&#8221;. That single mental shift is what unlocks first-time trial volume in a saturated MY market.<\/li>\n<li><strong>Create economies of scale at volume<\/strong><br \/>\nHigher unit volume drives down per-unit cost across procurement, logistics, and fulfilment. Local manufacturers and distributors recover real margin once volume crosses break-even. The low price funds the volume, the volume funds the lower unit cost.<\/li>\n<li><strong>Establish early loyalty before raising prices<\/strong><br \/>\nHabit, app usage, and switching cost build over months. By the time prices rise, customers are already on autopay or have the app installed. Loss aversion does the rest, which is why penetration pricing rewards patience over short windows.<\/li>\n<\/ol>\n<h2><strong><span lang=\"EN-US\">Real Examples of Penetration Pricing in Malaysia<\/span><\/strong><\/h2>\n<p>Malaysia has produced some of Southeast Asia&#8217;s most decisive penetration pricing case studies. The pattern is consistent: a well-funded challenger uses aggressive launch pricing to undercut a complacent incumbent, then locks in users before the incumbent can react.<\/p>\n<ul>\n<li><strong>Grab vs Uber Malaysia (2012 to 2018)<\/strong><br \/>\nGrab used aggressive discounts, promo codes, and driver incentives to undercut Uber in Malaysia\u2019s ride-hailing market. The strategy helped Grab dominate the market before Uber exited Southeast Asia in 2018.<\/li>\n<li><strong>Shopee vs Lazada Malaysia (2015 to 2018)<\/strong><br \/>\nShopee entered the Malaysian e-commerce market with free shipping, zero seller fees, and heavy promotions to attract users and sellers. By 2019, Shopee had surpassed Lazada in monthly active users before gradually introducing more platform fees.<\/li>\n<li><strong>Disney+ Hotstar Malaysia (2021 launch)<\/strong><br \/>\nDisney+ Hotstar launched in Malaysia with a much lower annual subscription price compared to Netflix. The affordable entry pricing quickly attracted a large subscriber base before later price adjustments.<\/li>\n<li><strong>Telco intro pricing (Celcom, Digi, Maxis)<\/strong><br \/>\nMalaysian telcos such as Celcom, Digi, and Maxis often launch fibre or postpaid plans at discounted introductory prices before increasing rates after the promo period. This approach helps attract customers from competitors while building long-term retention.<\/li>\n<\/ul>\n<p>The common thread across all four cases is operational readiness. Each company had the inventory, <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-accounting-software\/\">financial management<\/a>, and pricing infrastructure to absorb the demand surge before launching the offer. Without that backbone, the strategy collapses into stockouts and refunds.<\/p>\n<h2><strong><span lang=\"EN-US\"><span id=\"2\">Advantages and Disadvantages of Penetration Pricing<br \/>\n<\/span><\/span><\/strong><\/h2>\n<p><strong>Advantages<\/strong><\/p>\n<ol>\n<li><strong>Fast customer acquisition<\/strong><br \/>\nLow launch prices help businesses attract customers quickly by reducing hesitation during the buying process. In price-sensitive markets, discounts can generate strong trial volume much faster than relying only on marketing campaigns.However, rapid growth is only valuable if customers continue using the product after prices increase. Businesses still need strong retention strategies such as <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/customer-loyalty-program\/\">loyalty features<\/a>, subscriptions, or good user experience to maintain long-term growth.<\/li>\n<li><strong>Disrupts market leaders<\/strong><br \/>\nPenetration pricing allows smaller businesses to compete against established brands by offering more attractive prices. Large incumbents often struggle to match aggressive discounts without hurting their own profitability.This creates an opportunity for new entrants to gain market share in crowded industries like retail, F&amp;B, and SaaS. For many smaller Malaysian businesses, pricing flexibility becomes one of their biggest competitive advantages.<\/li>\n<li><strong>Builds brand familiarity early<\/strong><br \/>\nLower prices reduce the risk for first-time buyers who are unfamiliar with a brand. This encourages more people to try the product and increases brand visibility in competitive markets.As more customers try the product, brand awareness and consideration grow naturally over time. In highly competitive digital markets, lower pricing can sometimes attract attention more effectively than advertising alone.<\/li>\n<\/ol>\n<p><strong>Disadvantages<\/strong><\/p>\n<ol>\n<li><strong>Price anchoring risk<\/strong><br \/>\nCustomers often treat the first price they see as the \u201cnormal\u201d price. When businesses later increase prices, customers may perceive it negatively even if the pricing becomes more sustainable.To reduce this risk, companies should clearly communicate that the low price is a temporary launch promotion. Showing expiry dates or limited-time labels can help manage customer expectations early.<\/li>\n<li><strong>Race to the bottom<\/strong><br \/>\nCompetitors may continue lowering prices to protect their market share, creating aggressive price wars that reduce profitability for everyone involved. Businesses with stronger financial resources usually survive longer in these situations.To avoid damaging margins, companies should set minimum pricing limits and maintain strong cost control. ERP and pricing systems can also help prevent unsustainable discounting across sales channels.<\/li>\n<li><strong>Attracts price-sensitive customers<\/strong><br \/>\nPenetration pricing often attracts customers who mainly care about discounts. These users may quickly switch to another brand if a cheaper option becomes available later.Businesses need to focus on customer experience, onboarding, and loyalty-building during the promotional period. Referral programs, memberships, and subscriptions can help turn short-term buyers into long-term customers.<\/li>\n<\/ol>\n<p>Summary:<\/p>\n<div style=\"overflow-x: auto; font-family: Arial, sans-serif;\">\n<table style=\"width: 100%; border-collapse: collapse; border: 1px solid #d1d5db;\">\n<thead>\n<tr>\n<th style=\"background-color: #990000; color: #ffffff; padding: 16px; text-align: center; font-size: 16px; border: 1px solid #d1d5db;\" width=\"50%\">Advantages<\/th>\n<th style=\"background-color: #990000; color: #ffffff; padding: 16px; text-align: center; font-size: 16px; border: 1px solid #d1d5db;\" width=\"50%\">Disadvantages<\/th>\n<\/tr>\n<\/thead>\n<tbody><!-- Row 1 --><\/p>\n<tr>\n<td style=\"padding: 20px; border: 1px solid #d1d5db; vertical-align: top; line-height: 1.8;\"><strong>Fast Customer Acquisition<\/strong><\/p>\n<p style=\"margin-top: 10px;\">Low launch prices help businesses attract customers quickly and generate faster trial volume in price-sensitive markets. Long-term success still depends on retention strategies such as subscriptions, loyalty features, and strong user experience.<\/p>\n<\/td>\n<td style=\"padding: 20px; border: 1px solid #d1d5db; vertical-align: top; line-height: 1.8;\"><strong>Price Anchoring Risk<\/strong><\/p>\n<p style=\"margin-top: 10px;\">Customers may become attached to the initial low price and react negatively when prices increase later. Businesses should clearly frame the discount as a temporary launch offer to manage expectations early.<\/p>\n<\/td>\n<\/tr>\n<p><!-- Row 2 --><\/p>\n<tr>\n<td style=\"padding: 20px; border: 1px solid #d1d5db; vertical-align: top; line-height: 1.8;\"><strong>Disrupts Market Leaders<\/strong><\/p>\n<p style=\"margin-top: 10px;\">Penetration pricing helps smaller businesses compete with established brands by forcing incumbents to balance profitability and market share. This creates opportunities for new entrants in crowded industries.<\/p>\n<\/td>\n<td style=\"padding: 20px; border: 1px solid #d1d5db; vertical-align: top; line-height: 1.8;\"><strong>Race to the Bottom<\/strong><\/p>\n<p style=\"margin-top: 10px;\">Competitors may continue lowering prices, leading to aggressive price wars that hurt profitability. Businesses need pricing controls and cost management to avoid unsustainable margins.<\/p>\n<\/td>\n<\/tr>\n<p><!-- Row 3 --><\/p>\n<tr>\n<td style=\"padding: 20px; border: 1px solid #d1d5db; vertical-align: top; line-height: 1.8;\"><strong>Builds Brand Familiarity Early<\/strong><\/p>\n<p style=\"margin-top: 10px;\">Lower prices encourage first-time buyers to try unfamiliar brands, helping businesses increase visibility and brand awareness more quickly in competitive markets.<\/p>\n<\/td>\n<td style=\"padding: 20px; border: 1px solid #d1d5db; vertical-align: top; line-height: 1.8;\"><strong>Attracts Price-Sensitive Customers<\/strong><\/p>\n<p style=\"margin-top: 10px;\">Discount-driven customers may switch once cheaper alternatives appear. Businesses should strengthen onboarding, loyalty programs, and customer experience to improve long-term retention.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><strong><span lang=\"EN-US\">When Should You Use Penetration Pricing?<\/span><\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-19342\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-300x150.webp\" alt=\"Using Penetration Pricing\" width=\"694\" height=\"347\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-300x150.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-1024x512.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-768x384.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-1536x768.webp 1536w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-840x420.webp 840w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-150x75.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-696x348.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing-1068x534.webp 1068w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Using-Penetration-Pricing.webp 1600w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/p>\n<p>Penetration pricing is powerful, but it is not the right move for every Malaysian business. Use this checklist before committing.<\/p>\n<p><strong>Use penetration pricing when<\/strong>:<\/p>\n<ul>\n<li>Your product is in a price-sensitive, competitive MY category. F&amp;B, <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/retail-sales\/\">retail sales<\/a>, e-commerce, telco, and SaaS are textbook fits.<\/li>\n<li>You have sufficient cash flow to sustain lower margins for at least 6 to 12 months without compromising payroll or supplier obligations.<\/li>\n<li>Your product delivers enough genuine value to retain customers after prices normalize. Quality, service, or convenience must justify the higher price later.<\/li>\n<li>You have operational capacity to handle demand spikes. A successful launch can overwhelm fulfilment, warehousing, and customer service.<\/li>\n<li>You have a clear exit plan. Decide before launch HOW and WHEN prices will be raised. Vague exits create customer backlash.<\/li>\n<li>You can track key metrics: market share, customer acquisition cost, churn, and unit economics. Without an ERP or analytics layer, you are flying blind.<\/li>\n<li>You are aware of Malaysia&#8217;s Price Control and Anti-Profiteering Act 2011. Predatory pricing aimed solely at destroying competition can attract KPDNHEP scrutiny. Penetration pricing is generally legal, pricing below cost with anti-competitive intent is not.<\/li>\n<\/ul>\n<p><strong>When NOT to use it<\/strong><br \/>\nAvoid penetration pricing if you sell luxury or premium goods, where a low price actively damages perceived value. Also skip it if demand is inelastic or if your product has no real moat to defend the price increase later. In those cases, value-based or skim pricing usually serves the business better than chasing volume.<\/p>\n<h2><strong><span lang=\"EN-US\"><span id=\"3\">Penetration Pricing vs Price Skimming: <\/span><\/span><\/strong><strong><span lang=\"EN-US\">Key Differences<\/span><\/strong><\/h2>\n<p><!-- Sales Velocity Calculator Widget Embed this snippet into the WordPress\/CMS article at the marked section. No backend required \u2014 pure HTML + CSS + JavaScript. Mobile-responsive. Real-time calculation (no submit button needed). --><\/p>\n<p>The simplest way to choose between the two is to look at who you want to attract first. Penetration pricing chases volume early, meanwhile price skimming chases margin from premium buyers first. Both work, but in opposite contexts.<\/p>\n<div style=\"overflow-x: auto; font-family: Arial, sans-serif;\">\n<table style=\"width: 100%; border-collapse: collapse; border: 1px solid #d1d5db; min-width: 800px;\">\n<thead>\n<tr>\n<th style=\"background-color: #990000; color: #ffffff; padding: 16px; text-align: center; font-size: 16px; border: 1px solid #d1d5db;\">Factor<\/th>\n<th style=\"background-color: #990000; color: #ffffff; padding: 16px; text-align: center; font-size: 16px; border: 1px solid #d1d5db;\">Penetration Pricing<\/th>\n<th style=\"background-color: #990000; color: #ffffff; padding: 16px; text-align: center; font-size: 16px; border: 1px solid #d1d5db;\">Price Skimming<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">Initial Price<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Low, below incumbent<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">High, above market<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">Target Audience<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Price-sensitive mass market<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Early adopters, premium buyers<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">Primary Goal<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Capture market share fast<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Recover margin upfront<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">Brand Positioning<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Accessible, value-driven<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Premium, exclusive<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">Price Direction<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Rises gradually over time<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Drops gradually over time<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">Best For<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Crowded, elastic markets<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Innovative, scarce products<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; font-weight: 600;\">MY Example<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Shopee, Grab, Disney+ Hotstar<\/td>\n<td style=\"padding: 18px; border: 1px solid #d1d5db; line-height: 1.7;\">Apple iPhone launch pricing<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>For most Malaysian SMBs, the question is not &#8220;which is better&#8221; but &#8220;which fits my market&#8221;. If you are entering an existing category dominated by larger players, penetration pricing is usually the structural answer. If you are launching something genuinely new, scarce, or premium-positioned, skimming may serve you better.<\/p>\n<h2><strong>How Accounting Software Supports Penetration Pricing Execution?<\/strong><\/h2>\n<p>Executing a penetration pricing strategy at scale is a financial discipline, not just a marketing one. Keeping margin from leaking, tracking cash flow during the low-margin phase, and connecting short-term discounts to <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/customer-lifetime-value\/\">long-term customer lifetime value<\/a> is the hard part. An integrated accounting system gives operators the financial visibility to run the strategy without losing control.<\/p>\n<ol>\n<li><strong>Real-time margin and COGS tracking<\/strong><br \/>\nA low-price launch can quietly erode margin if cost of goods sold is not updated in real time. Accounting software with live COGS tracking shows actual gross margin per SKU, channel, and customer segment, so finance can spot leaks before they accumulate into a quarter-end surprise.<\/li>\n<li><strong>Cash flow forecasting for the discount phase<\/strong><br \/>\nPenetration pricing strains cash because volume rises while per-unit margin drops. An accounting platform with cash flow forecasting projects runway across the launch window, flags shortfalls early, and helps finance time supplier payments to avoid liquidity gaps.<\/li>\n<li><strong>Discount, promotion, and revenue reconciliation<\/strong><br \/>\nPenetration pricing usually runs across multiple channels with different discount structures. Accounting software consolidates revenue, discount, and rebate entries automatically, preventing the manual reconciliation errors that often distort the campaign&#8217;s reported profitability.<\/li>\n<li><strong>Tax compliance and e-Invoice readiness<\/strong><br \/>\nMalaysia&#8217;s e-Invoice mandate (LHDN) requires accurate, real-time invoicing including promotional discounts. Accounting software that integrates with LHDN&#8217;s MyInvois system ensures every penetration-priced transaction is captured correctly, avoiding compliance penalties that can wipe out the campaign&#8217;s gains.<\/li>\n<\/ol>\n<h2><strong><span lang=\"EN-US\">Conclusion<\/span><\/strong><\/h2>\n<p>Penetration pricing is powerful, but only if executed with clear margin, a plan, and an exit strategy. Three conditions separate the success stories from the cautionary tales.<\/p>\n<p>First, the product itself has to be worth keeping at the post-launch price. Without genuine value, you are subsidising churn. Second, the launch price has to be framed transparently as a launch offer with a known expiry. Anchoring customers to the low price permanently destroys margin recovery. Third, the operations behind the strategy must be ready before the first promotional ad runs.<\/p>\n<p>If you can hit those three, penetration pricing remains one of the most effective ways for a Malaysian SMB to take share from a larger competitor. See how the right ERP and pricing strategy can help your business in the Malaysian market through a free demo today.<\/p>\n<p><span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=free-product-demo\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/07\/free-demo-mobile-my.jpg\" alt=\"FreeDemo\" class=\"responsive-image-banner\"><\/a>\r\n\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><\/span><\/p>\n<h2><strong>FAQ about Penetration Pricing Strategy<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>How long should a business run penetration pricing in Malaysia?<\/strong><\/summary>\n<p>Most successful Malaysian campaigns run 6 to 12 months before stepping prices up. Shorter windows rarely build enough habit or switching cost to retain customers through the price rise. Longer windows anchor expectations to the low price and erode margin recovery. Subscription services usually need 6 to 9 months to build app habit; physical retail and F&amp;B can often step up within 4 to 6 months.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What are the main risks of penetration pricing for Malaysian businesses?<\/strong><\/summary>\n<p>The three main risks are price anchoring, margin race-to-the-bottom, and attracting non-loyal price-switchers. Anchoring locks customer expectations to the launch price. Race-to-the-bottom occurs when a deeper-funded competitor outlasts your discount. Price-switchers churn the moment a cheaper option appears. Mitigation: transparent launch framing, hard margin floors in your pricing system, and strong onboarding during the introductory window.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What metrics should Malaysian businesses track during a penetration pricing campaign?<\/strong><\/summary>\n<p>Track six core metrics: customer acquisition cost (CAC), market share by segment, gross margin per SKU, churn rate by cohort, repeat purchase rate, and time to second purchase. CAC tells you if the discount is acquiring customers efficiently. Margin per SKU prevents undetected losses. Churn and repeat purchase together reveal whether the strategy builds loyalty or attracts bargain-hunters.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Is penetration pricing legal in Malaysia?<\/strong><\/summary>\n<p>Penetration pricing is legal in Malaysia for genuine market-entry. The Price Control and Anti-Profiteering Act 2011 prohibits predatory pricing aimed solely at destroying competition. Pricing temporarily below the incumbent to gain share is permitted, pricing below cost with anti-competitive intent can attract KPDNHEP scrutiny. Document the commercial rationale and set a clear exit timeline to show genuine market-entry intent.<\/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    \"@type\": \"Question\",\n    \"name\": \"How long should a business run penetration pricing in Malaysia?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"EDI is a standardized format for exchanging structured business documents like purchase orders, invoices, and advance ship notices between organizations. It typically runs over secure protocols such as AS2 or via a VAN. Most successful Malaysian campaigns run 6 to 12 months before stepping prices up. Shorter windows rarely build enough habit or switching cost to retain customers through the price rise. Longer windows anchor expectations to the low price and erode margin recovery. Subscription services usually need 6 to 9 months to build app habit; physical retail and F&B can often step up within 4 to 6 months.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What are the main risks of penetration pricing for Malaysian businesses?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The three main risks are price anchoring, margin race-to-the-bottom, and attracting non-loyal price-switchers. Anchoring locks customer expectations to the launch price. Race-to-the-bottom occurs when a deeper-funded competitor outlasts your discount. Price-switchers churn the moment a cheaper option appears. Mitigation: transparent launch framing, hard margin floors in your pricing system, and strong onboarding during the introductory window.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What metrics should Malaysian businesses track during a penetration pricing campaign?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Track six core metrics: customer acquisition cost (CAC), market share by segment, gross margin per SKU, churn rate by cohort, repeat purchase rate, and time to second purchase. CAC tells you if the discount is acquiring customers efficiently. Margin per SKU prevents undetected losses. Churn and repeat purchase together reveal whether the strategy builds loyalty or attracts bargain-hunters.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Is penetration pricing legal in Malaysia?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Penetration pricing is legal in Malaysia for genuine market-entry. The Price Control and Anti-Profiteering Act 2011 prohibits predatory pricing aimed solely at destroying competition. Pricing temporarily below the incumbent to gain share is permitted, pricing below cost with anti-competitive intent can attract KPDNHEP scrutiny. Document the commercial rationale and set a clear exit timeline to show genuine market-entry intent.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For any new brand entering the Malaysian market, price is often the only competitive lever that actually moves buyers. Established players, like Lazada and Maxis, already own the brand recognition, distribution, and marketing spend. Penetration pricing turns that price gap into a market-share gain. This works in Malaysia because local consumers are unusually price-conscious. Smartphone [&hellip;]<\/p>\n","protected":false},"author":46,"featured_media":19341,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[54],"tags":[],"class_list":{"0":"post-19329","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-accounting"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Penetration Pricing Strategy: Definition, Examples &amp; When to Use<\/title>\n<meta name=\"description\" content=\"Penetration pricing strategy explained with real Malaysia examples. Learn the pros, cons, and when to use it and how accounting supports your pricing execution.\" \/>\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\/my\/blog\/penetration-pricing-strategy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Penetration Pricing Strategy: Definition, Examples &amp; When to Use It in Malaysia\" \/>\n<meta property=\"og:description\" content=\"Penetration pricing strategy explained with real Malaysia examples. Learn the pros, cons, and when to use it and how accounting supports your pricing execution.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Malaysia\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-12T08:52:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-12T08:54:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Farhana Zulaikha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Farhana Zulaikha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/\"},\"author\":{\"name\":\"Farhana Zulaikha\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/1d40b74780708e6bf6789462354cec7d\"},\"headline\":\"Penetration Pricing Strategy: Definition, Examples &#038; When to Use It in Malaysia\",\"datePublished\":\"2026-05-12T08:52:41+00:00\",\"dateModified\":\"2026-05-12T08:54:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/\"},\"wordCount\":2486,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp\",\"articleSection\":[\"Accounting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/\",\"name\":\"Penetration Pricing Strategy: Definition, Examples & When to Use\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp\",\"datePublished\":\"2026-05-12T08:52:41+00:00\",\"dateModified\":\"2026-05-12T08:54:47+00:00\",\"description\":\"Penetration pricing strategy explained with real Malaysia examples. Learn the pros, cons, and when to use it and how accounting supports your pricing execution.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp\",\"width\":1600,\"height\":800,\"caption\":\"Penetration Pricing Strategy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/my\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Penetration Pricing Strategy: Definition, Examples &#038; When to Use It in Malaysia\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"name\":\"HashMicro Malaysia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\",\"name\":\"HashMicro Malaysia\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"width\":422,\"height\":255,\"caption\":\"HashMicro Malaysia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/1d40b74780708e6bf6789462354cec7d\",\"name\":\"Farhana Zulaikha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/Farhana-Zulaikha-96x96.webp\",\"contentUrl\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/Farhana-Zulaikha-96x96.webp\",\"caption\":\"Farhana Zulaikha\"},\"description\":\"Farhana Zulaikha writes across a range of business topics, ensuring diverse content that appeals to a broad audience. He bridges the gap between complex software solutions and user understanding through clear, accessible articles. His work ensures that readers from any background can gain insights into improving business operations.\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/author\/farhana-zulaikha\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Penetration Pricing Strategy: Definition, Examples & When to Use","description":"Penetration pricing strategy explained with real Malaysia examples. Learn the pros, cons, and when to use it and how accounting supports your pricing execution.","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\/my\/blog\/penetration-pricing-strategy\/","og_locale":"en_US","og_type":"article","og_title":"Penetration Pricing Strategy: Definition, Examples & When to Use It in Malaysia","og_description":"Penetration pricing strategy explained with real Malaysia examples. Learn the pros, cons, and when to use it and how accounting supports your pricing execution.","og_url":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/","og_site_name":"HashMicro Malaysia","article_published_time":"2026-05-12T08:52:41+00:00","article_modified_time":"2026-05-12T08:54:47+00:00","og_image":[{"width":1600,"height":800,"url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp","type":"image\/webp"}],"author":"Farhana Zulaikha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Farhana Zulaikha","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/"},"author":{"name":"Farhana Zulaikha","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/1d40b74780708e6bf6789462354cec7d"},"headline":"Penetration Pricing Strategy: Definition, Examples &#038; When to Use It in Malaysia","datePublished":"2026-05-12T08:52:41+00:00","dateModified":"2026-05-12T08:54:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/"},"wordCount":2486,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp","articleSection":["Accounting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/","name":"Penetration Pricing Strategy: Definition, Examples & When to Use","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp","datePublished":"2026-05-12T08:52:41+00:00","dateModified":"2026-05-12T08:54:47+00:00","description":"Penetration pricing strategy explained with real Malaysia examples. Learn the pros, cons, and when to use it and how accounting supports your pricing execution.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#primaryimage","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/05\/Penetration-Pricing-Strategy.webp","width":1600,"height":800,"caption":"Penetration Pricing Strategy"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/my\/blog\/penetration-pricing-strategy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/my\/blog\/"},{"@type":"ListItem","position":2,"name":"Penetration Pricing Strategy: Definition, Examples &#038; When to Use It in Malaysia"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website","url":"https:\/\/www.hashmicro.com\/my\/blog\/","name":"HashMicro Malaysia","description":"","publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization","name":"HashMicro Malaysia","url":"https:\/\/www.hashmicro.com\/my\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","width":422,"height":255,"caption":"HashMicro Malaysia"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/1d40b74780708e6bf6789462354cec7d","name":"Farhana Zulaikha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/","url":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/Farhana-Zulaikha-96x96.webp","contentUrl":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/Farhana-Zulaikha-96x96.webp","caption":"Farhana Zulaikha"},"description":"Farhana Zulaikha writes across a range of business topics, ensuring diverse content that appeals to a broad audience. He bridges the gap between complex software solutions and user understanding through clear, accessible articles. His work ensures that readers from any background can gain insights into improving business operations.","url":"https:\/\/www.hashmicro.com\/my\/blog\/author\/farhana-zulaikha\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/19329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/comments?post=19329"}],"version-history":[{"count":7,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/19329\/revisions"}],"predecessor-version":[{"id":19395,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/19329\/revisions\/19395"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media\/19341"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media?parent=19329"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/categories?post=19329"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/tags?post=19329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}