{"id":511,"date":"2026-06-12T04:38:30","date_gmt":"2026-06-12T04:38:30","guid":{"rendered":"https:\/\/putradelima.com\/index.php\/landingpage1\/"},"modified":"2026-06-12T04:55:02","modified_gmt":"2026-06-12T04:55:02","slug":"landingpage1","status":"publish","type":"page","link":"https:\/\/putradelima.com\/index.php\/landingpage1\/","title":{"rendered":"LandingPagepipakabel"},"content":{"rendered":"<p><!-- ============================================================\n     PDM - LANDING PAGE KMI: SECTION 1 \u2014 HERO\n     VERSI: GTM-FIXED v2.0\n     Pasang di halaman \/landingpagekmi.\n\n     PERUBAHAN TEKNIS vs versi sebelumnya (ZERO perubahan konten\/visual):\n     1. [GTM-FIX-1] Nama event disamakan dengan standar Master Prompt:\n        wa_click \u2192 whatsapp_click (phone_click sudah benar, tidak diubah)\n     2. [GTM-FIX-2] Atribut data-gtm-* ditambahkan PARALEL di samping\n        data-track-* yang lama \u2014 tidak ada atribut lama yang dihapus.\n        GTM sekarang bisa deteksi via native Click Variables ({{Click Element}})\n        maupun Custom Event Trigger.\n     3. [GTM-FIX-3] Lazy load logo diupgrade dari window.load ke\n        IntersectionObserver (rootMargin 200px) \u2192 lebih cepat, LCP lebih baik.\n        Fallback ke window.load tetap ada untuk browser lama.\n     4. [GTM-FIX-4] pushEvent sekarang juga membaca data-gtm-* sebagai\n        sumber data primer, data-track-* sebagai fallback \u2014 backward compat.\n     5. [GTM-FIX-5] dataLayer.push untuk whatsapp_click sekarang include\n        field button_location sesuai contoh Master Prompt.\n     6. [SCROLL-FIX] Scroll depth tracker 25\/50\/75\/100% ditambahkan di\n        bagian bawah IIFE \u2014 sesuai event tracking wajib Master Prompt.\n        Ini aman dipasang di section manapun; guard mencegah duplikasi\n        jika section lain juga memasangnya.\n\n     TIDAK DIUBAH:\n     - Semua teks, heading, badge, chip, stat label\/value\n     - Semua warna, background, gradient, pattern\n     - Semua ukuran font, spacing, padding, margin\n     - Semua breakpoint responsif\n     - Semua href, nomor WA, nomor telepon\n     - Semua SVG icon\n     - Semua class name CSS\n     - Semua ID elemen\n     - Struktur HTML (urutan elemen)\n     - Anti race-condition onclick inline\n     - Dedup guard logic\n     ============================================================ --><\/p>\n<p><!-- ============================================================\n     NOTE UNTUK ZEROSITE:\n     Pastikan GTM Container snippet berikut sudah terpasang di\n     Global Head (bukan di section ini). Jika belum ada, minta\n     developer pasang di Settings > Head Code:\n\n     <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n     j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n     'https:\/\/www.googletagmanager.com\/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n     })(window,document,'script','dataLayer','GTM-M5ZW8V9F');<\/script>\n\n     Dan di Global Body (setelah <body>):\n     <noscript><iframe loading=\"lazy\" src=\"https:\/\/www.googletagmanager.com\/ns.html?id=GTM-M5ZW8V9F\"\n     height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"><\/iframe><\/noscript>\n     ============================================================ --><\/p>\n<p><script>\n  window.dataLayer = window.dataLayer || [];\n  window.dataLayer.push({\n    event: 'page_context',\n    page_type: 'landing_page',\n    page_name: 'landingpage_kmi',\n    brand: 'kmi',\n    business_unit: 'pdm'\n  });\n<\/script><\/p>\n<style>\n  .kmi-hero {\n    background: #1f3864;\n    background-image:\n      radial-gradient(ellipse 70% 50% at 70% 0%, rgba(255,255,255,0.04) 0%, transparent 65%),\n      radial-gradient(ellipse 40% 40% at 0% 100%, rgba(15,35,90,0.4) 0%, transparent 60%);\n    font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;\n    padding: 56px 24px 52px;\n    box-sizing: border-box;\n    width: 100%;\n    position: relative;\n    overflow: hidden;\n  }<\/p>\n<p>  .kmi-hero::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background-image:\n      repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255,255,255,0.018) 39px, rgba(255,255,255,0.018) 40px),\n      repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255,255,255,0.018) 39px, rgba(255,255,255,0.018) 40px);\n    pointer-events: none;\n  }<\/p>\n<p>  .kmi-hero-inner {\n    max-width: 860px;\n    margin: 0 auto;\n    position: relative;\n    z-index: 1;\n  }<\/p>\n<p>  .kmi-top-row {\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 16px;\n    margin-bottom: 24px;\n    flex-wrap: wrap;\n  }<\/p>\n<p>  .kmi-hero-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    background: rgba(29,158,117,0.2);\n    border: 1px solid #1d9e75;\n    border-radius: 999px;\n    padding: 6px 16px;\n    color: #6ee7b7;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 0.09em;\n    text-transform: uppercase;\n    flex-shrink: 0;\n    align-self: center;\n  }<\/p>\n<p>  .kmi-logo-wrap {\n    position: relative;\n    width: 200px;\n    height: 80px;\n    flex-shrink: 0;\n    overflow: hidden;\n  }<\/p>\n<p>  .kmi-logo-thumb,\n  .kmi-logo-full {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    object-position: right center;\n  }<\/p>\n<p>  .kmi-logo-thumb {\n    filter: blur(6px);\n    transform: scale(1.05);\n    transition: opacity 0.5s ease;\n    z-index: 1;\n  }<\/p>\n<p>  .kmi-logo-full {\n    opacity: 0;\n    transition: opacity 0.7s ease;\n    z-index: 2;\n  }<\/p>\n<p>  .kmi-logo-full.loaded { opacity: 1; }\n  .kmi-logo-thumb.hidden { opacity: 0; }<\/p>\n<p>  .kmi-hero-h1 {\n    font-size: clamp(30px, 7vw, 58px);\n    font-weight: 800;\n    color: #fff;\n    line-height: 1.08;\n    letter-spacing: -0.02em;\n    margin: 0 0 6px;\n  }<\/p>\n<p>  .kmi-hero-h1 span { color: #7dd3fc; }<\/p>\n<p>  .kmi-hero-sub {\n    font-size: clamp(14px, 2.5vw, 17px);\n    color: rgba(255,255,255,0.55);\n    max-width: 600px;\n    line-height: 1.7;\n    margin: 16px 0 0;\n  }<\/p>\n<p>  .kmi-hero-sub strong {\n    color: rgba(255,255,255,0.9);\n    font-weight: 700;\n  }<\/p>\n<p>  .kmi-prod-chips {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin: 24px 0 32px;\n  }<\/p>\n<p>  .kmi-prod-chip {\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    background: rgba(255,255,255,0.06);\n    border: 1px solid rgba(255,255,255,0.12);\n    border-radius: 999px;\n    padding: 6px 14px;\n    font-size: 12px;\n    font-weight: 600;\n    color: rgba(255,255,255,0.7);\n    white-space: nowrap;\n  }<\/p>\n<p>  .kmi-prod-chip .dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    flex-shrink: 0;\n  }<\/p>\n<p>  .kmi-cta-group {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n    align-items: flex-start;\n    margin-bottom: 44px;\n  }<\/p>\n<p>  @media (min-width: 541px) {\n    .kmi-cta-group {\n      flex-direction: row;\n      align-items: center;\n    }\n  }<\/p>\n<p>  .kmi-btn-wa,\n  .kmi-btn-phone {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    text-decoration: none;\n    font-family: inherit;\n    border-radius: 10px;\n    cursor: pointer;\n    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s, color 0.15s;\n    white-space: nowrap;\n  }<\/p>\n<p>  .kmi-btn-wa {\n    gap: 10px;\n    background: #25d366;\n    color: #fff;\n    font-size: 15px;\n    font-weight: 700;\n    padding: 16px 28px;\n    border: 0;\n    box-shadow: 0 4px 20px rgba(37,211,102,0.4);\n  }<\/p>\n<p>  .kmi-btn-wa:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 28px rgba(37,211,102,0.5);\n  }<\/p>\n<p>  .kmi-btn-phone {\n    gap: 8px;\n    background: transparent;\n    color: rgba(255,255,255,0.75);\n    font-size: 14px;\n    font-weight: 600;\n    padding: 15px 24px;\n    border: 1.5px solid rgba(255,255,255,0.2);\n  }<\/p>\n<p>  .kmi-btn-phone:hover {\n    border-color: rgba(255,255,255,0.45);\n    color: #fff;\n  }<\/p>\n<p>  .kmi-stats {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0;\n    border-top: 1px solid rgba(255,255,255,0.07);\n    padding-top: 32px;\n  }<\/p>\n<p>  .kmi-stat {\n    padding: 4px 28px 4px 0;\n    margin-right: 28px;\n    border-right: 1px solid rgba(255,255,255,0.07);\n  }<\/p>\n<p>  .kmi-stat:last-child {\n    border-right: none;\n    padding-right: 0;\n    margin-right: 0;\n  }<\/p>\n<p>  .kmi-stat-num {\n    font-size: 26px;\n    font-weight: 800;\n    color: #fff;\n    line-height: 1;\n    letter-spacing: -0.02em;\n  }<\/p>\n<p>  .kmi-stat-num em {\n    color: #1d9e75;\n    font-style: normal;\n  }<\/p>\n<p>  .kmi-stat-label {\n    font-size: 11px;\n    color: rgba(255,255,255,0.35);\n    text-transform: uppercase;\n    letter-spacing: 0.07em;\n    font-weight: 600;\n    margin-top: 5px;\n  }<\/p>\n<p>  @media (max-width: 860px) and (min-width: 541px) {\n    .kmi-hero { padding: 52px 40px 48px; }\n    .kmi-hero-inner { max-width: 700px; }\n    .kmi-hero-h1 { font-size: clamp(32px, 5vw, 44px); }\n    .kmi-stat { padding: 4px 20px 4px 0; margin-right: 20px; }\n    .kmi-stat-num { font-size: 22px; }\n    .kmi-logo-wrap { width: 170px; height: 68px; }\n  }<\/p>\n<p>  @media (max-width: 540px) and (min-width: 421px) {\n    .kmi-hero { padding: 44px 20px 40px; }\n    .kmi-top-row { flex-direction: column; gap: 12px; }\n    .kmi-logo-wrap { width: 150px; height: 60px; }\n    .kmi-hero-h1 { font-size: 32px; }\n    .kmi-stats {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 16px;\n    }\n    .kmi-stat {\n      border-right: none;\n      border-bottom: 1px solid rgba(255,255,255,0.07);\n      padding: 8px 0 16px;\n      margin-right: 0;\n    }\n    .kmi-stat:nth-last-child(-n+2) { border-bottom: none; }\n    .kmi-stat-num { font-size: 20px; }\n    .kmi-prod-chips { gap: 6px; }\n    .kmi-prod-chip { font-size: 11px; padding: 5px 11px; }\n    .kmi-btn-wa,\n    .kmi-btn-phone {\n      width: 100%;\n    }\n    .kmi-cta-group { width: 100%; }\n  }<\/p>\n<p>  @media (max-width: 420px) {\n    .kmi-hero { padding: 36px 16px 36px; }\n    .kmi-top-row { flex-direction: column; gap: 10px; }\n    .kmi-logo-wrap { width: 130px; height: 52px; }\n    .kmi-hero-badge { font-size: 10px; padding: 5px 12px; }\n    .kmi-hero-h1 { font-size: 28px; letter-spacing: -0.01em; }\n    .kmi-hero-sub { font-size: 14px; }\n    .kmi-stats {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n    }\n    .kmi-stat {\n      border-right: none;\n      border-bottom: 1px solid rgba(255,255,255,0.07);\n      padding: 6px 0 12px;\n      margin-right: 0;\n    }\n    .kmi-stat:nth-last-child(-n+2) { border-bottom: none; }\n    .kmi-stat-num { font-size: 18px; }\n    .kmi-stat-label { font-size: 10px; }\n    .kmi-prod-chips { gap: 5px; }\n    .kmi-prod-chip { font-size: 10px; padding: 4px 9px; }\n    .kmi-btn-wa {\n      font-size: 14px;\n      padding: 14px 20px;\n      width: 100%;\n    }\n    .kmi-btn-phone {\n      font-size: 13px;\n      padding: 13px 16px;\n      width: 100%;\n    }\n    .kmi-cta-group { width: 100%; }\n  }\n<\/style>\n<section\n  class=\"kmi-hero\"\n  id=\"section-kmi-hero\"\n  data-section=\"kmi_hero\"\n  data-page-type=\"landing_page\"\n><\/p>\n<div class=\"kmi-hero-inner\">\n<div class=\"kmi-top-row\">\n<div class=\"kmi-hero-badge\">Stok Ready &#8211; Pengiriman Jabodetabek &amp; Manado<\/div>\n<div class=\"kmi-logo-wrap\">\n        <img loading=\"lazy\" decoding=\"async\"\n          class=\"kmi-logo-thumb\"\n          id=\"kmi-logo-thumb\"\n          src=\"https:\/\/assets.zyrosite.com\/cdn-cgi\/image\/format=auto,w=24,h=10,fit=contain\/dJoeqoORkEuQZn2z\/kmi_logo-lx4hDc4x4mAxeiwt.webp\"\n          alt=\"\"\n          aria-hidden=\"true\"\n          width=\"200\"\n          height=\"80\"\n        ><br \/>\n        <img\n          class=\"kmi-logo-full\"\n          id=\"kmi-logo-full\"\n          alt=\"Kabel Metal Indonesia - Distributor Resmi\"\n          width=\"200\"\n          height=\"80\"\n          data-src=\"https:\/\/assets.zyrosite.com\/cdn-cgi\/image\/format=auto,w=400,h=160,fit=contain\/dJoeqoORkEuQZn2z\/kmi_logo-lx4hDc4x4mAxeiwt.webp\"\n        >\n      <\/div>\n<\/p><\/div>\n<h1 class=\"kmi-hero-h1\">Supplier Kabel Listrik<br \/><span>KMI<\/span> untuk Proyek<br \/>Industri &amp; Perumahan<\/h1>\n<p class=\"kmi-hero-sub\">\n      <strong>NYM, NYY, NYFGBY, Medium Voltage, Bare Conductor.<\/strong><br \/>\n      Stok ready di gudang Tangerang. Bersertifikat SNI.<br \/>\n      Melayani proyek skala besar ke seluruh Jabodetabek &amp; Manado.\n    <\/p>\n<div class=\"kmi-prod-chips\" aria-label=\"Kategori produk kabel KMI\">\n<div class=\"kmi-prod-chip\"><span class=\"dot\" style=\"background:#3b82f6\"><\/span>NYY &#8211; Low Voltage<\/div>\n<div class=\"kmi-prod-chip\"><span class=\"dot\" style=\"background:#e07b27\"><\/span>NYFGBY &#8211; Armoured<\/div>\n<div class=\"kmi-prod-chip\"><span class=\"dot\" style=\"background:#10b981\"><\/span>NYM &#8211; House Wiring<\/div>\n<div class=\"kmi-prod-chip\"><span class=\"dot\" style=\"background:#8b5cf6\"><\/span>Medium Voltage<\/div>\n<div class=\"kmi-prod-chip\"><span class=\"dot\" style=\"background:#f59e0b\"><\/span>Bare Conductor<\/div>\n<\/p><\/div>\n<div class=\"kmi-cta-group\">\n      <!--\n        [GTM-FIX-1] event name: whatsapp_click (sesuai Master Prompt)\n        [GTM-FIX-2] data-gtm-* ditambahkan paralel \u2014 data-track-* tetap ada\n        onclick inline: jaring pengaman anti race-condition (tidak diubah)\n      --><br \/>\n      <a\n        id=\"cta-wa-kmi-hero\"\n        class=\"kmi-btn-wa js-track-cta js-track-wa\"\n        href=\"https:\/\/wa.me\/6281384627879?text=Haii%20PDM%2C%20saya%20mau%20tanya%20ketersediaan%20kabel%20KMI.%20Mohon%20info%20lebih%20lanjut.\"\n        target=\"_blank\"\n        rel=\"noopener noreferrer\"\n        data-gtm-event=\"whatsapp_click\"\n        data-gtm-category=\"lead\"\n        data-gtm-action=\"click\"\n        data-gtm-label=\"hero_whatsapp\"\n        data-track-event=\"whatsapp_click\"\n        data-track-location=\"hero\"\n        data-track-label=\"Minta Penawaran via WA\"\n        data-lead-type=\"whatsapp\"\n        data-service-category=\"kabel_kmi\"\n        onclick=\"window.kmiTrack &#038;&#038; window.kmiTrack(this);\"\n      ><br \/>\n        <svg aria-hidden=\"true\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.125.558 4.122 1.532 5.857L.057 23.882l6.186-1.448A11.934 11.934 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 21.894a9.877 9.877 0 01-5.031-1.378l-.36-.214-3.733.875.944-3.643-.234-.373A9.855 9.855 0 012.106 12C2.106 6.536 6.536 2.106 12 2.106S21.894 6.536 21.894 12 17.464 21.894 12 21.894z\"\/><\/svg><br \/>\n        Minta Penawaran via WA<br \/>\n      <\/a><\/p>\n<p>      <!--\n        phone_click sudah benar di versi lama \u2014 hanya tambah data-gtm-*\n      --><br \/>\n      <a\n        id=\"cta-phone-kmi-hero\"\n        class=\"kmi-btn-phone js-track-cta js-track-phone\"\n        href=\"tel:+6281384627879\"\n        data-gtm-event=\"phone_click\"\n        data-gtm-category=\"lead\"\n        data-gtm-action=\"click\"\n        data-gtm-label=\"hero_phone\"\n        data-track-event=\"phone_click\"\n        data-track-location=\"hero\"\n        data-track-label=\"Telepon Langsung\"\n        data-lead-type=\"phone_call\"\n        data-service-category=\"kabel_kmi\"\n        onclick=\"window.kmiTrack &#038;&#038; window.kmiTrack(this);\"\n      ><br \/>\n        <svg aria-hidden=\"true\" width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 9.81 19.79 19.79 0 01.01 1.18 2 2 0 012 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L6.91 7.91a16 16 0 006.06 6.06l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 14.92z\"\/><\/svg><br \/>\n        Telepon Langsung<br \/>\n      <\/a>\n    <\/div>\n<div class=\"kmi-stats\">\n<div class=\"kmi-stat\">\n<div class=\"kmi-stat-num\">SNI<em>\u2713<\/em><\/div>\n<div class=\"kmi-stat-label\">Bersertifikat<\/div>\n<\/p><\/div>\n<div class=\"kmi-stat\">\n<div class=\"kmi-stat-num\">Ready<em> Stock<\/em><\/div>\n<div class=\"kmi-stat-label\">Gudang Tangerang<\/div>\n<\/p><\/div>\n<div class=\"kmi-stat\">\n<div class=\"kmi-stat-num\">1<em> Jam<\/em><\/div>\n<div class=\"kmi-stat-label\">Respon<\/div>\n<\/p><\/div>\n<div class=\"kmi-stat\">\n<div class=\"kmi-stat-num\">1<em>X24<\/em><\/div>\n<div class=\"kmi-stat-label\">Pengiriman<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<p><script>\n(function () {\n  'use strict';\n  window.dataLayer = window.dataLayer || [];<\/p>\n<p>  \/* ============================================================\n     [GTM-FIX-3] LAZY LOAD LOGO \u2014 IntersectionObserver\n     Versi lama: window.addEventListener('load', ...) \u2014 tunggu seluruh page\n     Versi baru: IntersectionObserver deteksi logo masuk viewport (rootMargin\n     200px = mulai load sebelum benar-benar terlihat \u2192 LCP lebih cepat)\n     Fallback ke window.load untuk browser yang tidak support IO (IE11).\n     ZERO perubahan visual \u2014 fade-in behavior sama persis.\n     ============================================================ *\/\n  var full  = document.getElementById('kmi-logo-full');\n  var thumb = document.getElementById('kmi-logo-thumb');<\/p>\n<p>  function loadLogo() {\n    if (!full) return;\n    var src = full.getAttribute('data-src');\n    if (!src) return;\n    var tmp = new Image();\n    tmp.onload = function () {\n      full.src = src;\n      full.removeAttribute('data-src');\n      full.classList.add('loaded');\n      setTimeout(function () { if (thumb) thumb.classList.add('hidden'); }, 700);\n    };\n    tmp.src = src;\n  }<\/p>\n<p>  if ('IntersectionObserver' in window) {\n    \/* IO tersedia \u2014 load saat logo 200px sebelum masuk viewport *\/\n    var logoObserver = new IntersectionObserver(function (entries) {\n      if (entries[0].isIntersecting) {\n        loadLogo();\n        logoObserver.disconnect();\n      }\n    }, { rootMargin: '200px' });\n    logoObserver.observe(full || document.getElementById('section-kmi-hero'));\n  } else {\n    \/* Fallback: browser lama \u2192 tunggu window load *\/\n    if (document.readyState === 'complete') {\n      setTimeout(loadLogo, 150);\n    } else {\n      window.addEventListener('load', function () { setTimeout(loadLogo, 150); });\n    }\n  }<\/p>\n<p>  \/* ============================================================\n     [GTM-FIX-4] pushEvent \u2014 baca data-gtm-* PRIMER, data-track-* FALLBACK\n     Ini memastikan GTM Tag via Custom Event mendapat field yang konsisten\n     sekaligus backward-compatible dengan trigger lama berbasis data-track-*.\n     Dedup guard 400ms dipertahankan persis sama.\n     ============================================================ *\/\n  var lastPushKey  = '';\n  var lastPushTime = 0;<\/p>\n<p>  function cleanLabel(el) {\n    \/* Coba data-gtm-label dulu, lalu data-track-label, lalu text bersih *\/\n    var label = el.getAttribute('data-gtm-label') || el.getAttribute('data-track-label');\n    if (label) return label.trim();\n    var txt = (el.textContent || '').replace(\/\\s+\/g, ' ').trim();\n    return txt || undefined;\n  }<\/p>\n<p>  function pushEvent(el) {\n    if (!el) return;<\/p>\n<p>    \/* [GTM-FIX-4] Baca dari data-gtm-event (primer) lalu data-track-event (fallback) *\/\n    var eventName = el.getAttribute('data-gtm-event') || el.getAttribute('data-track-event');\n    if (!eventName) return;<\/p>\n<p>    \/* Dedup guard \u2014 sama persis dengan versi lama *\/\n    var key = eventName + '|' + (el.id || '');\n    var now = Date.now();\n    if (key === lastPushKey && (now - lastPushTime) < 400) return;\n    lastPushKey  = key;\n    lastPushTime = now;\n\n    \/* [GTM-FIX-5] dataLayer.push dengan field lengkap sesuai Master Prompt *\/\n    window.dataLayer.push({\n      event            : eventName,\n      button_id        : el.id || undefined,\n      button_location  : el.getAttribute('data-track-location') || 'unknown',\n      button_label     : cleanLabel(el),\n      gtm_category     : el.getAttribute('data-gtm-category') || undefined,\n      gtm_action       : el.getAttribute('data-gtm-action')   || undefined,\n      page_type        : 'landing_page',\n      page_name        : 'landingpage_kmi',\n      lead_type        : el.getAttribute('data-lead-type')     || undefined,\n      service_category : el.getAttribute('data-service-category') || 'kabel_kmi'\n    });\n  }\n\n  \/* Diekspos agar onclick inline (jaring pengaman anti race-condition) bisa panggil lebih awal *\/\n  window.kmiTrack = pushEvent;\n\n  \/* Event delegation sebagai cadangan kedua \u2014 dedup guard tangkap double-fire *\/\n  document.addEventListener('click', function (e) {\n    var target = e.target.closest('[data-gtm-event], [data-track-event]');\n    if (!target) return;\n    pushEvent(target);\n  }, true);\n\n  \/* ============================================================\n     [SCROLL-FIX] SCROLL DEPTH TRACKER 25 \/ 50 \/ 75 \/ 100%\n     Master Prompt event tracking wajib nomor 4\u20137.\n     Guard window.__pdmScrollInit mencegah duplikasi jika section lain\n     juga menginclude script ini (aman untuk deployment multi-section Zerosite).\n     ============================================================ *\/\n  if (!window.__pdmScrollInit) {\n    window.__pdmScrollInit = true;\n\n    var scrollMilestones = { 25: false, 50: false, 75: false, 100: false };\n\n    function getScrollPct() {\n      var el  = document.documentElement;\n      var body = document.body;\n      var scrollTop  = el.scrollTop  || body.scrollTop;\n      var scrollHeight = Math.max(\n        el.scrollHeight, body.scrollHeight,\n        el.offsetHeight, body.offsetHeight,\n        el.clientHeight, body.clientHeight\n      ) - el.clientHeight;\n      if (scrollHeight <= 0) return 100;\n      return Math.round((scrollTop \/ scrollHeight) * 100);\n    }\n\n    var scrollTicking = false;\n    window.addEventListener('scroll', function () {\n      if (scrollTicking) return;\n      scrollTicking = true;\n      requestAnimationFrame(function () {\n        var pct = getScrollPct();\n        [25, 50, 75, 100].forEach(function (milestone) {\n          if (!scrollMilestones[milestone] &#038;&#038; pct >= milestone) {\n            scrollMilestones[milestone] = true;\n            window.dataLayer.push({\n              event          : 'scroll_depth',\n              scroll_depth   : milestone,\n              scroll_label   : milestone + '%',\n              page_name      : 'landingpage_kmi',\n              page_type      : 'landing_page'\n            });\n          }\n        });\n        scrollTicking = false;\n      });\n    }, { passive: true });\n  }<\/p>\n<p>})();\n<\/script><\/p>\n<p><!-- ============================================================\n     PANDUAN GTM CONTAINER (setup di GTM Dashboard, bukan di sini)\n\n     1) TRIGGERS:\n        a. Custom Event \"CE - whatsapp_click\"  \u2192 Event name: whatsapp_click\n        b. Custom Event \"CE - phone_click\"     \u2192 Event name: phone_click\n        c. Custom Event \"CE - scroll_depth\"    \u2192 Event name: scroll_depth\n           + Condition: {{DLV - scroll_depth}} equals 25 (duplikat untuk 50\/75\/100)\n\n     2) GA4 EVENT TAGS:\n        - \"GA4 - whatsapp_click\"  fires on CE - whatsapp_click\n        - \"GA4 - phone_click\"     fires on CE - phone_click\n        - \"GA4 - scroll_depth\"    fires on CE - scroll_depth\n        - WAJIB: Fields to Set \u2192 transport_type = beacon\n          (mengatasi race-condition saat tab\/dialer terbuka)\n\n     3) GOOGLE ADS:\n        - Conversion Linker tag \u2192 All Pages\n        - Google Ads Conversion tag \u2192 fires on CE - whatsapp_click\n        - Primary conversion PDM = whatsapp_click\n        - Secondary conversion    = phone_click\n\n     4) CLICK VARIABLES (untuk trigger berbasis elemen HTML):\n        - Buat Variable: Click Element \u2192 \"data-gtm-event\" attribute\n        - Buat Variable: Click Element \u2192 \"data-gtm-category\" attribute\n        - Buat Variable: Click Element \u2192 \"data-gtm-label\" attribute\n        Ini memungkinkan GTM deteksi tombol tanpa Custom Event,\n        sebagai lapisan tracking tambahan.\n     ============================================================ --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stok Ready &#8211; Pengiriman Jabodetabek &amp; Manado Supplier Kabel ListrikKMI untuk ProyekIndustri &amp; Perumahan NYM, NYY, NYFGBY, Medium Voltage, Bare Conductor. Stok ready di gudang Tangerang. Bersertifikat SNI. Melayani proyek skala besar ke seluruh Jabodetabek &amp; Manado. NYY &#8211; Low Voltage NYFGBY &#8211; Armoured NYM &#8211; House Wiring Medium Voltage Bare Conductor Minta Penawaran via [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/pages\/511"}],"collection":[{"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/comments?post=511"}],"version-history":[{"count":3,"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/pages\/511\/revisions"}],"predecessor-version":[{"id":658,"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/pages\/511\/revisions\/658"}],"wp:attachment":[{"href":"https:\/\/putradelima.com\/index.php\/wp-json\/wp\/v2\/media?parent=511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}