{"id":227773,"date":"2026-10-06T16:12:24","date_gmt":"2026-10-06T16:12:24","guid":{"rendered":"https:\/\/datatrue.com\/?page_id=227773"},"modified":"2026-10-06T16:19:23","modified_gmt":"2026-10-06T16:19:23","slug":"data-layer-testing","status":"publish","type":"page","link":"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/","title":{"rendered":"Data Layer Testing"},"content":{"rendered":"\n<style id=\"dt-divi-integration\">body h1.entry-title.main_title{display:none !important}#main-content .container{width:100% !important;max-width:100% !important;padding-left:0 !important;padding-right:0 !important;padding-top:0 !important}#left-area{width:100% !important;float:none !important;padding:0 !important}#sidebar{display:none !important}#main-content .container:before{display:none !important}.yarpp-related,.yarpp.yarpp-related{display:none !important}#left-area article.et_pb_post{margin-bottom:0 !important}#dt-page p{padding-bottom:0}#dt-page :is(h1,h2,h3,h4,h5,h6){padding-bottom:0}#dt-page :is(ul,ol){padding:0;margin:0;list-style:none;line-height:inherit}#dt-page img{max-width:100%;height:auto}<\/style><style id=\"dt-page-css\">@import url('https:\/\/fonts.googleapis.com\/css2?family=Lato:wght@400;#dt-page 700;900&family=Work+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap');:root{--ink:#242923;--ink-soft:#55605A;--ink-faint:#8B958E;--mint:#0EA173;--mint-fill:#10B981;--mint-tint:#F3FAF7;--teal:#4C7E93;--teal-tint:#EAF2F4;--surface:#FFFFFF;--border:#DCE7E2;--draft:#B5791A;--draft-tint:#FBF1DF;--warn:#C0453B;--warn-tint:#FDF0EE;--shadow:0 24px 48px -28px rgba(36,41,35,0.28);}#dt-page,#dt-page *{box-sizing:border-box;}#dt-page{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}#dt-page{margin:0;background:var(--surface);color:var(--ink);font-family:'Work Sans','Helvetica Neue',Arial,sans-serif;line-height:1.55;}#dt-page h1,#dt-page h2,#dt-page h3,#dt-page h4{font-family:'Lato','Helvetica Neue',Arial,sans-serif;color:var(--ink);margin:0;text-wrap:balance;}#dt-page p{margin:0;}#dt-page a{color:inherit;}#dt-page code{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.86em;background:var(--mint-tint);border:1px solid #DCEDE5;border-radius:5px;padding:1px 6px;color:var(--ink);white-space:nowrap;}#dt-page .wrap{max-width:1120px;margin:0 auto;padding:0 32px;}#dt-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}#dt-page .breadcrumb{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase;}#dt-page .breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}#dt-page .breadcrumb li{display:inline-flex;gap:6px;align-items:center;}#dt-page .breadcrumb li + li::before{content:\"\\203A\";color:#B9C4BE;}#dt-page .breadcrumb a{color:var(--teal);text-decoration:none;}#dt-page .breadcrumb a:hover{text-decoration:underline;}#dt-page .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mint);background:var(--mint-tint);border:1px solid #CFE9DF;padding:6px 12px 6px 10px;border-radius:999px;}#dt-page .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--mint-fill);}#dt-page .eyebrow .sep{color:#9CCFBA;}#dt-page .eyebrow.on-dark{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.18);color:#8FE3C3;}#dt-page .eyebrow.on-dark .dot{background:#6FE3B6;}#dt-page .section-head{max-width:64ch;}#dt-page .section-head h2{font-size:28px;font-weight:900;letter-spacing:-0.01em;line-height:1.2;}#dt-page .section-head p{margin-top:10px;color:var(--ink-soft);font-size:15px;line-height:1.6;}#dt-page .pc-head{padding:40px 0 0;}#dt-page .pc-head .eyebrow{margin-top:22px;}#dt-page .pc-head h1{margin-top:16px;font-size:40px;font-weight:900;letter-spacing:-0.015em;line-height:1.14;max-width:900px;}#dt-page .definition{position:relative;margin-top:28px;max-width:900px;background:var(--mint-tint);border:1px solid #CFE9DF;border-left:5px solid var(--mint-fill);border-radius:14px;padding:26px 34px 28px 32px;overflow:hidden;}#dt-page .definition::after{content:\"\\201C\";position:absolute;right:22px;top:-18px;font-family:'Lato',Georgia,serif;font-weight:900;font-size:132px;line-height:1;color:var(--mint-fill);opacity:.13;pointer-events:none;}#dt-page .def-kicker{display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mint);margin-bottom:10px;}#dt-page .def-kicker::before{content:\"\";width:16px;height:2px;background:var(--mint-fill);border-radius:2px;}#dt-page .def-text{position:relative;font-family:'Lato','Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:19.5px;line-height:1.58;color:var(--ink);letter-spacing:-0.002em;}#dt-page .art-grid{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:72px;padding:44px 0 8px;align-items:start;}#dt-page .prose{max-width:700px;min-width:0;}#dt-page .prose>* + *{margin-top:16px;}#dt-page .prose .lede{font-size:17.5px;line-height:1.68;color:var(--ink);}#dt-page .prose h2{font-size:26px;font-weight:900;letter-spacing:-0.01em;line-height:1.22;margin-top:52px;scroll-margin-top:24px;}#dt-page .prose h2 + *{margin-top:14px;}#dt-page .prose h3{font-size:19px;font-weight:900;line-height:1.3;margin-top:30px;scroll-margin-top:24px;}#dt-page .prose h3 + *{margin-top:8px;}#dt-page .prose p{font-size:16px;line-height:1.72;color:var(--ink-soft);}#dt-page .prose strong{color:var(--ink);font-weight:600;}#dt-page .prose a,#dt-page .inline-link{color:var(--teal);font-weight:500;text-decoration:underline;text-decoration-color:#B8CFD8;text-underline-offset:3px;text-decoration-thickness:1px;}#dt-page .prose a:hover,#dt-page .inline-link:hover{text-decoration-color:var(--teal);}#dt-page .prose ul{list-style:none;margin-left:0;padding:0;}#dt-page .prose ul li{position:relative;padding-left:24px;font-size:16px;line-height:1.68;color:var(--ink-soft);}#dt-page .prose ul li + li{margin-top:8px;}#dt-page .prose ul li::before{content:\"\";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--mint-fill);}#dt-page .prose ol.steps{list-style:none;padding:0;counter-reset:step;}#dt-page .prose ol.steps li{position:relative;counter-increment:step;padding:2px 0 0 50px;font-size:16px;line-height:1.68;color:var(--ink-soft);min-height:32px;}#dt-page .prose ol.steps li + li{margin-top:16px;}#dt-page .prose ol.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--mint-tint);border:1px solid #CFE9DF;color:var(--mint);font-family:'Lato',sans-serif;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;}#dt-page .prose ol.steps li:not(:last-child)::after{content:\"\";position:absolute;left:15.5px;top:36px;bottom:-14px;width:1px;background:#D5E8DF;}#dt-page .prose ul.check-list li{padding:14px 18px 14px 50px;background:var(--surface);border:1px solid var(--border);border-radius:12px;}#dt-page .prose ul.check-list li + li{margin-top:10px;}#dt-page .prose ul.check-list li::before{content:\"\\2713\";left:16px;top:15px;width:22px;height:22px;background:var(--mint-tint);border:1px solid #CFE9DF;color:var(--mint);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}#dt-page .prose ul.check-list li strong{font-family:'Lato',sans-serif;font-weight:900;}#dt-page .lead-stack{display:flex;flex-direction:column;gap:10px;}#dt-page .prose .lead-stack{margin-top:18px;}#dt-page .lead-card{border:1px solid var(--border);border-left:3px solid var(--mint-fill);border-radius:10px;padding:16px 20px;background:var(--surface);}#dt-page .lead-card p{font-size:15.5px;line-height:1.66;}#dt-page .lead-card .lead{display:block;font-family:'Lato',sans-serif;font-weight:900;font-size:16.5px;color:var(--ink);margin-bottom:4px;}#dt-page .next-read{display:flex;flex-wrap:wrap;gap:10px;}#dt-page .prose .next-read{margin-top:22px;}#dt-page .next-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--teal);text-decoration:none;background:var(--teal-tint);border:1px solid #D3E3E9;border-radius:999px;padding:9px 16px;}#dt-page .next-link:hover{border-color:var(--teal);}#dt-page .next-link svg{width:14px;height:14px;}#dt-page .visual-slot{border:1px dashed #C4D3CC;border-radius:14px;background:linear-gradient(180deg,#FBFDFC,#F4F8F6);padding:26px 24px;text-align:center;color:var(--ink-faint);display:flex;flex-direction:column;align-items:center;}#dt-page .prose .visual-slot{margin-top:26px;}#dt-page .visual-slot .vs-badge{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);background:var(--mint-tint);border:1px solid #CFE9DF;padding:3px 9px;border-radius:5px;margin-bottom:10px;}#dt-page .visual-slot .vs-title{font-family:'Lato',sans-serif;font-weight:700;font-size:14.5px;color:var(--ink-soft);}#dt-page .visual-slot .vs-desc{font-size:12.5px;margin-top:6px;max-width:52ch;line-height:1.5;}#dt-page .visual-slot.tall{min-height:220px;justify-content:center;}#dt-page .checklist{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:ck;}#dt-page .checklist>li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;border:1px solid var(--border);border-radius:14px;padding:22px 24px 22px 20px;background:var(--surface);}#dt-page .checklist .ck-num{width:40px;height:40px;border-radius:50%;background:var(--mint-fill);color:#fff;font-family:'Lato',sans-serif;font-weight:900;font-size:17px;display:flex;align-items:center;justify-content:center;}#dt-page .checklist .ck-body>* + *{margin-top:12px;}#dt-page .prose .checklist h3{margin-top:6px;font-size:18.5px;}#dt-page .checklist .ck-body p,#dt-page .checklist .ck-body li{font-size:15.5px;}#dt-page .checklist-wrap{margin-top:22px;}#dt-page .checklist-head{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .checklist-head .bar{flex:1;height:1px;background:var(--border);}#dt-page .toc{position:sticky;top:24px;border-left:1px solid var(--border);padding:4px 0 4px 20px;}#dt-page .toc-label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;}#dt-page .toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}#dt-page .toc a{display:block;font-size:13.5px;line-height:1.4;color:var(--ink-soft);text-decoration:none;}#dt-page .toc a:hover{color:var(--mint);}#dt-page .faq-block{padding:12px 0 8px;}#dt-page .faq-block h2{font-size:26px;font-weight:900;margin-bottom:18px;scroll-margin-top:24px;}#dt-page .faq-list{max-width:80ch;display:flex;flex-direction:column;gap:10px;}#dt-page .faq-item{border:1px solid var(--border);border-radius:10px;padding:2px 18px;background:var(--surface);}#dt-page .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;font-size:15.5px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none;font-family:'Lato',sans-serif;}#dt-page .faq-item summary::-webkit-details-marker{display:none;}#dt-page .faq-item summary::after{content:\"+\";font-size:20px;font-weight:400;color:var(--mint);flex-shrink:0;}#dt-page .faq-item[open] summary::after{content:\"\\2013\";}#dt-page .faq-item p{padding-bottom:16px;font-size:15px;color:var(--ink-soft);line-height:1.65;}#dt-page .band{padding:52px 0;}#dt-page .band.alt{background:var(--mint-tint);border-top:1px solid #E4F1EB;border-bottom:1px solid #E4F1EB;}#dt-page .band.rule{border-top:1px solid var(--border);}#dt-page .tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;}#dt-page .tile-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}#dt-page .tile{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 44px 18px 20px;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s;}#dt-page .tile:hover{border-color:var(--mint-fill);}#dt-page .tile::after{content:\"\\2192\";position:absolute;right:18px;top:17px;color:var(--ink-faint);font-size:15px;transition:color .15s,transform .15s;}#dt-page .tile:hover::after{color:var(--mint);transform:translateX(2px);}#dt-page .tile .t-label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;}#dt-page .tile h3{font-size:16px;font-weight:900;line-height:1.3;}#dt-page .tile p{margin-top:6px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;}#dt-page .tile.feature{grid-column:span 2;background:var(--surface);border-color:#BFDFD1;box-shadow:var(--shadow);padding:24px 52px 24px 26px;}#dt-page .tile.feature h3{font-size:21px;}#dt-page .tile.feature p{font-size:14.5px;}#dt-page .tile.feature .t-label{color:var(--mint);}#dt-page .tile .t-lane{align-self:flex-start;margin-top:10px;}#dt-page .market{margin-top:22px;max-width:900px;display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #CFE0E6;border-radius:14px;overflow:hidden;}#dt-page .market-main{background:var(--teal-tint);padding:24px 28px 26px;position:relative;}#dt-page .market-code{position:absolute;right:22px;top:18px;font-family:'Lato',sans-serif;font-weight:900;font-size:44px;letter-spacing:-0.02em;color:var(--teal);opacity:.18;line-height:1;}#dt-page .market-main .market-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);}#dt-page .market-main h2{margin-top:10px;font-size:22px;font-weight:900;}#dt-page .market-main p.m-line{margin-top:8px;max-width:60ch;font-size:17px;color:var(--ink);line-height:1.6;}#dt-page .market-main .m-src{margin-top:12px;font-size:12px;color:var(--ink-faint);}#dt-page .market-main .m-src a{color:var(--teal);}#dt-page .market-laws{background:var(--surface);padding:20px 22px;}#dt-page .market-laws .ml-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;}#dt-page .mini-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;}#dt-page .mini-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:9px;padding:10px 14px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:600;line-height:1.3;}#dt-page .mini-tile:hover{border-color:var(--mint-fill);background:var(--mint-tint);}#dt-page .mini-tile::after{content:\"\\2192\";color:var(--ink-faint);font-weight:400;}#dt-page .mini-tile .mt-type{display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px;}#dt-page .market-laws .ml-empty{font-size:13px;color:var(--ink-faint);line-height:1.5;}#dt-page .jump{margin-top:22px;max-width:900px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);}#dt-page .jump-col{padding:20px 24px 22px;}#dt-page .jump-col + .jump-col{border-left:1px solid var(--border);}#dt-page .jump-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .jump-col h2{margin-top:6px;font-size:16.5px;font-weight:900;}#dt-page .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}#dt-page .chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 13px;text-decoration:none;}#dt-page .chip:hover{border-color:var(--mint-fill);background:var(--mint-tint);color:var(--mint);}#dt-page .chip::after{content:\"\\2192\";color:var(--ink-faint);font-weight:400;font-size:12px;}#dt-page .pillar-body{padding-top:40px;padding-bottom:8px;}#dt-page .pillar-body .prose{max-width:720px;}#dt-page .module{margin-top:22px;}#dt-page .card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}#dt-page .card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}#dt-page .r-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;padding:22px 22px 20px;background:var(--surface);}#dt-page .r-card .rc-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);margin-bottom:8px;}#dt-page .r-card h3{font-size:17px;font-weight:900;line-height:1.3;}#dt-page .r-card p{margin-top:8px;font-size:14.5px;color:var(--ink-soft);line-height:1.62;flex:1;}#dt-page .r-card .rc-go{margin-top:14px;font-size:13.5px;font-weight:600;color:var(--teal);text-decoration:none;display:inline-flex;gap:6px;align-items:center;}#dt-page .r-card .rc-go:hover{text-decoration:underline;}#dt-page .r-card.numbered{position:relative;padding-top:58px;}#dt-page .r-card.numbered .rc-n{position:absolute;left:22px;top:18px;width:30px;height:30px;border-radius:50%;background:var(--mint-fill);color:#fff;font-family:'Lato',sans-serif;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;}#dt-page .r-card.region{text-decoration:none;color:var(--ink);position:relative;}#dt-page .r-card.region:hover,#dt-page a.r-card:hover{border-color:var(--mint-fill);}#dt-page .r-card.region .rc-code{font-family:'Lato',sans-serif;font-weight:900;font-size:26px;color:var(--teal);opacity:.35;line-height:1;margin-bottom:10px;}#dt-page .feat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}#dt-page .feat{border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--surface);}#dt-page .feat .f-check{width:26px;height:26px;border-radius:50%;background:var(--mint-tint);color:var(--mint);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-bottom:12px;border:1px solid #CFE9DF;}#dt-page .feat h3{font-size:15.5px;font-weight:900;margin-bottom:6px;line-height:1.3;}#dt-page .feat p{font-size:14px;color:var(--ink-soft);line-height:1.62;}#dt-page .feat p a{color:var(--teal);}#dt-page .feat.wide{grid-column:1 \/ -1;}#dt-page .cat-nav{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;}#dt-page .cat-nav a{display:inline-flex;align-items:center;gap:9px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);padding:8px 14px;border-radius:999px;text-decoration:none;transition:border-color .15s,color .15s,background .15s;}#dt-page .cat-nav a:hover{border-color:var(--mint-fill);color:var(--mint);background:var(--mint-tint);}#dt-page .cat-nav a .count{font-size:11px;color:var(--ink-faint);font-weight:500;letter-spacing:.02em;}#dt-page .hub-intro{margin-top:26px;max-width:76ch;font-size:16px;color:var(--ink-soft);line-height:1.65;}#dt-page .cat{padding:48px 0 8px;border-top:1px solid var(--border);scroll-margin-top:24px;}#dt-page .cat:first-of-type{border-top:none;}#dt-page .cat .eyebrow{margin-bottom:14px;}#dt-page .cat-note{margin-top:16px;font-size:14px;color:var(--ink-soft);max-width:76ch;}#dt-page .hub-callout{margin-top:4px;background:var(--teal-tint);border:1px solid #CFE0E6;border-left:4px solid var(--teal);border-radius:12px;padding:22px 26px;max-width:82ch;}#dt-page .hub-callout .hc-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:6px;}#dt-page .hub-callout h2{font-size:20px;font-weight:900;line-height:1.3;}#dt-page .hub-callout p{margin-top:8px;font-size:15px;line-height:1.62;color:var(--ink);}#dt-page .hub-callout a{color:var(--teal);font-weight:600;}#dt-page .closing-section{padding:56px 0 72px;}#dt-page .closing{background:var(--ink);padding:56px 32px;text-align:center;border-radius:14px;}#dt-page .closing h2{color:#fff;font-size:28px;font-weight:900;margin-top:16px;}#dt-page .closing .single-cta{margin-top:24px;display:flex;flex-direction:column;align-items:center;}#dt-page .region-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--mint-fill);color:#fff;font-family:'Lato',sans-serif;font-weight:700;font-size:15px;border:none;border-radius:8px;padding:14px 24px;min-width:260px;text-decoration:none;letter-spacing:.005em;line-height:1.3;cursor:pointer;}#dt-page .region-btn:hover{background:#0C9A6E;}#dt-page .region-btn svg{width:15px;height:15px;flex-shrink:0;}#dt-page .trial-fine{margin-top:14px;font-size:13px;color:#9DB3A8;line-height:1.5;}@media (max-width:980px){#dt-page .art-grid{grid-template-columns:minmax(0,1fr);gap:0;}#dt-page .toc{display:none;}#dt-page .prose{max-width:none;}#dt-page .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#dt-page .card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:820px){#dt-page .market,#dt-page .jump{grid-template-columns:minmax(0,1fr);}#dt-page .jump-col + .jump-col{border-left:none;border-top:1px solid var(--border);}#dt-page .card-grid,#dt-page .feat-grid{grid-template-columns:minmax(0,1fr);}#dt-page .card-grid.three{grid-template-columns:minmax(0,1fr);}}@media (max-width:680px){#dt-page .wrap,#dt-page .notice .wrap{padding-left:20px;padding-right:20px;}#dt-page .pc-head{padding-top:28px;}#dt-page .pc-head h1{font-size:30px;}#dt-page .definition{padding:22px 20px 22px 20px;}#dt-page .def-text{font-size:16.5px;}#dt-page .prose h2{font-size:23px;margin-top:42px;}#dt-page .tile-grid,#dt-page .tile-grid.two{grid-template-columns:minmax(0,1fr);}#dt-page .tile.feature{grid-column:auto;}#dt-page .checklist>li{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px;}#dt-page .closing{padding:44px 20px;}#dt-page .closing h2{font-size:24px;}#dt-page .region-btn{width:100%;min-width:0;}#dt-page code{white-space:normal;word-break:break-word;}}#dt-page .prose a.next-link,#dt-page .prose a.rc-go,#dt-page .prose a.tile,#dt-page .prose a.chip,#dt-page .prose a.mini-tile,#dt-page .prose a.r-card{text-decoration:none;}#dt-page .prose a.next-link:hover{text-decoration:none;}#dt-page .rc-go svg,#dt-page .next-link svg,#dt-page .chip svg{width:14px;height:14px;flex-shrink:0;}#dt-page .cat.faq-cat{padding-top:36px;}#dt-page .def-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;}#dt-page .def-top .def-kicker{margin-bottom:0;}#dt-page .verdict{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid #CFE9DF;border-radius:999px;padding:6px 16px 6px 12px;margin-right:64px;}#dt-page .verdict .v-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .verdict .v-v{font-family:'Lato',sans-serif;font-weight:900;font-size:17px;color:var(--ink);}#dt-page .glance{margin-top:14px;max-width:900px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 24px 20px;}#dt-page .glance .g-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}#dt-page .glance dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}#dt-page .glance .g-row{border-left:3px solid var(--teal-tint);padding-left:14px;}#dt-page .glance dt{font-family:'Lato',sans-serif;font-weight:900;font-size:14px;color:var(--ink);margin-bottom:4px;}#dt-page .glance dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink-soft);}@media (max-width:680px){#dt-page .glance dl{grid-template-columns:minmax(0,1fr);}#dt-page .verdict{margin-right:0;}}#dt-page .shot-img{margin:28px 0 0;}#dt-page .shot-img img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:14px;background:#F4F8F6;box-shadow:var(--shadow);}#dt-page .shot-img figcaption{margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .diagram{margin:28px 0 0;border:1px solid var(--border);border-radius:14px;padding:20px 20px 16px;background:var(--surface);}#dt-page .diagram svg{display:block;width:100%;height:auto;}#dt-page .diagram .dg-narrow{display:none;}#dt-page .diagram figcaption{margin-top:14px;font-size:13.5px;line-height:1.55;color:var(--ink-soft);}#dt-page .diagram .dg-tag{display:block;margin-top:8px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);}@media (max-width:680px){#dt-page .diagram .dg-wide{display:none;}#dt-page .diagram .dg-narrow{display:block;max-width:360px;margin:0 auto;}#dt-page .diagram{padding:16px 12px 14px;}}#dt-page .compare-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;}#dt-page table.compare-table{width:100%;border-collapse:collapse;font-size:14px;min-width:600px;}#dt-page .compare-table th,#dt-page .compare-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;}#dt-page .compare-table thead th{font-family:'Lato',sans-serif;font-weight:900;font-size:13px;color:var(--ink);background:var(--mint-tint);white-space:nowrap;}#dt-page .compare-table tbody tr:last-child td{border-bottom:none;}#dt-page .compare-table td.cap{font-weight:600;color:var(--ink);max-width:220px;}#dt-page .compare-table td.note{color:var(--ink-soft);font-size:12.5px;max-width:320px;}#dt-page .sources-intro{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:80ch;}#dt-page .byline{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13.5px;color:var(--ink-faint);}#dt-page .byline .by-who{color:var(--ink-soft);font-weight:600;}#dt-page .byline .by-sep{width:4px;height:4px;border-radius:50%;background:#C4D3CC;}#dt-page .nod{margin-top:16px;max-width:900px;display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);border-radius:12px;padding:13px 18px;background:var(--surface);}#dt-page .nod-mark{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--teal-tint);border:1px solid #CFE0E6;color:var(--teal);display:flex;align-items:center;justify-content:center;margin-top:1px;}#dt-page .nod-mark svg{width:14px;height:14px;}#dt-page .nod p{font-size:14px;line-height:1.6;color:var(--ink-soft);}#dt-page .nod .nod-k{display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:2px;}#dt-page .inline-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid #CFE0E6;background:var(--teal-tint);border-radius:14px;padding:20px 22px 20px 24px;}#dt-page .prose .inline-cta{margin-top:26px;}#dt-page .inline-cta .ic-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);}#dt-page .inline-cta .ic-t{margin-top:4px;font-family:'Lato',sans-serif;font-weight:900;font-size:17px;line-height:1.35;color:var(--ink);}#dt-page .prose a.ic-go,#dt-page a.ic-go{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--surface);border:1px solid #BCD3DC;color:var(--teal);font-weight:600;font-size:14px;padding:10px 16px;border-radius:9px;text-decoration:none;}#dt-page a.ic-go:hover{border-color:var(--teal);}#dt-page a.ic-go svg{width:14px;height:14px;}#dt-page .code-block{border-radius:12px;overflow:hidden;border:1px solid #2F3630;background:var(--ink);}#dt-page .prose .code-block{margin-top:20px;}#dt-page .code-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 16px;background:#2E352F;}#dt-page .code-lang{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8FE3C3;}#dt-page .code-copy{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#C9D3CD;background:transparent;border:1px solid #4A544D;border-radius:6px;padding:4px 9px;cursor:pointer;}#dt-page .code-copy:hover{color:#fff;border-color:#8FE3C3;}#dt-page .code-block pre{margin:0;padding:16px 18px 18px;overflow-x:auto;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;line-height:1.7;color:#E7EEEA;}#dt-page .code-block pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit;white-space:pre;}#dt-page .code-block .tk-tag{color:#8FE3C3;}#dt-page .code-block .tk-attr{color:#A9CBD8;}#dt-page .code-block .tk-str{color:#F0D9A8;}#dt-page .code-block .tk-com{color:#8B958E;}#dt-page .code-note{margin-top:8px;font-size:13px;color:var(--ink-faint);}#dt-page figure.shot{margin:0;}#dt-page .prose figure.shot{margin-top:24px;}#dt-page .shot-frame{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);}#dt-page .shot-bar{display:flex;gap:6px;padding:9px 12px;background:#F4F7F5;border-bottom:1px solid var(--border);}#dt-page .shot-bar i{width:9px;height:9px;border-radius:50%;background:#D5DFDA;}#dt-page .shot-frame img{display:block;width:100%;height:auto;}#dt-page .shot-frame .visual-slot{border:none;border-radius:0;margin:0;min-height:220px;justify-content:center;}#dt-page .prose .shot-frame .visual-slot{margin-top:0;}#dt-page figure.shot figcaption{margin-top:10px;font-size:13px;color:var(--ink-faint);line-height:1.5;display:flex;gap:8px;}#dt-page figure.shot figcaption b{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;padding-top:1px;}#dt-page .dt-wrap{border:1px solid var(--border);border-radius:14px;overflow-x:auto;background:var(--surface);}#dt-page .prose .dt-wrap,#dt-page .prose .compare-table-wrap{margin-top:20px;}#dt-page table.data-table{width:100%;border-collapse:collapse;font-size:14px;}#dt-page .data-table caption{caption-side:bottom;text-align:left;padding:10px 16px 12px;font-size:12.5px;color:var(--ink-faint);border-top:1px solid var(--border);}#dt-page .data-table th,#dt-page .data-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.55;}#dt-page .data-table thead th{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);background:#F7FAF8;white-space:nowrap;}#dt-page .data-table tbody tr:last-child td{border-bottom:none;}#dt-page .data-table tbody th{font-family:'Lato',sans-serif;font-weight:900;font-size:14.5px;color:var(--ink);}#dt-page .data-table td{color:var(--ink-soft);}#dt-page .compare-table td{color:var(--ink-soft);line-height:1.55;}#dt-page .compare-table tbody td:first-child{font-weight:600;color:var(--ink);white-space:nowrap;}#dt-page .compare-table code,#dt-page .data-table code{white-space:normal;}#dt-page .rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:26px;}#dt-page .rail .toc{position:static;}#dt-page .rail-links{border-left:1px solid var(--border);padding:4px 0 4px 20px;}#dt-page .rail-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}#dt-page .rail-links a{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--teal);font-weight:500;text-decoration:none;}#dt-page .rail-links a::before{content:\"\\2192\";color:var(--ink-faint);font-size:12px;margin-top:1px;}#dt-page .rail-links a:hover{text-decoration:underline;}#dt-page .toc a.active{color:var(--mint);font-weight:600;}#dt-page .src-list{margin:18px 0 0;padding:0;list-style:none;counter-reset:src;columns:2;column-gap:40px;}#dt-page .src-list li{counter-increment:src;break-inside:avoid;position:relative;padding-left:30px;font-size:13px;color:var(--ink-faint);line-height:1.55;margin-bottom:10px;}#dt-page .src-list li::before{content:counter(src);position:absolute;left:0;top:1px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;color:var(--mint);background:var(--mint-tint);border:1px solid #CFE9DF;border-radius:4px;min-width:20px;text-align:center;padding:0 3px;}#dt-page .src-list a{color:var(--teal);text-decoration:none;font-weight:500;word-break:break-word;}#dt-page .src-list a:hover{text-decoration:underline;}#dt-page .cat-pill{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:5px;white-space:nowrap;border:1px solid;}#dt-page .cat-pill::before{content:\"\";width:6px;height:6px;border-radius:50%;background:currentColor;}#dt-page .cat-pill.ad{color:var(--ink);background:#F1F3F2;border-color:#DDE3E0;}#dt-page .cat-pill.an{color:var(--teal);background:var(--teal-tint);border-color:#CFE0E6;}#dt-page .cat-pill.sr{color:#3E6A7C;background:var(--surface);border-color:#BCD3DC;border-style:dashed;}#dt-page .cat-pill.ct{color:var(--mint);background:var(--mint-tint);border-color:#CFE9DF;}#dt-page .consent{display:inline-flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.4;color:var(--ink);font-weight:600;}#dt-page .consent .c-dot{flex-shrink:0;margin-top:4px;width:9px;height:9px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 3px var(--warn-tint);}#dt-page .consent.early .c-dot{background:var(--teal);box-shadow:0 0 0 3px var(--teal-tint);}#dt-page .risk{display:inline-flex;align-items:center;gap:10px;}#dt-page .risk-meter{display:inline-grid;grid-template-columns:repeat(3,14px);gap:3px;}#dt-page .risk-meter i{height:8px;border-radius:2px;background:#E3EAE6;}#dt-page .risk-label{font-family:'Lato',sans-serif;font-weight:900;font-size:15px;letter-spacing:.01em;}#dt-page .risk.low .risk-meter i:nth-child(1){background:var(--mint-fill);}#dt-page .risk.low .risk-label{color:var(--mint);}#dt-page .risk.medium .risk-meter i:nth-child(-n+2){background:var(--teal);}#dt-page .risk.medium .risk-label{color:var(--teal);}#dt-page .risk.high .risk-meter i{background:var(--warn);}#dt-page .risk.high .risk-label{color:var(--warn);}#dt-page .risk.lg .risk-meter{grid-template-columns:repeat(3,26px);gap:4px;}#dt-page .risk.lg .risk-meter i{height:10px;}#dt-page .risk.lg .risk-label{font-size:20px;}#dt-page .risk-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid;border-radius:999px;padding:5px 12px 5px 10px;background:var(--surface);}#dt-page .risk-chip.high{border-color:#EFC9C4;background:var(--warn-tint);}#dt-page .risk-chip.medium{border-color:#CFE0E6;background:var(--teal-tint);}#dt-page .risk-chip.low{border-color:#CFE9DF;background:var(--mint-tint);}#dt-page .risk-chip .rk{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .risk-chip .risk-label{font-size:13px;}#dt-page .risk-chip .risk-meter{grid-template-columns:repeat(3,9px);gap:2px;}#dt-page .risk-chip .risk-meter i{height:6px;}#dt-page .ref-band{padding:44px 0 12px;}#dt-page .ref-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}#dt-page .ref-head .section-head{max-width:70ch;}#dt-page .ref-note{margin-top:10px;font-size:14px;color:var(--ink-soft);line-height:1.6;max-width:80ch;}#dt-page .ref-note b{color:var(--ink);font-weight:600;}#dt-page .ref-tools{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#F7FAF8;position:sticky;top:0;z-index:5;}#dt-page .ref-search{position:relative;flex:1 1 220px;max-width:300px;}#dt-page .ref-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink-faint);}#dt-page .ref-search input{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:9px 12px 9px 34px;}#dt-page .ref-search input:focus{outline:none;border-color:var(--mint-fill);box-shadow:0 0 0 3px rgba(16,185,129,.15);}#dt-page .ref-filters{display:flex;flex-wrap:wrap;gap:6px;}#dt-page .fchip{font:inherit;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;}#dt-page .fchip .n{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;color:var(--ink-faint);font-weight:500;}#dt-page .fchip:hover{border-color:var(--mint-fill);}#dt-page .fchip[aria-pressed=\"true\"]{background:var(--ink);border-color:var(--ink);color:#fff;}#dt-page .fchip[aria-pressed=\"true\"] .n{color:#9DB3A8;}#dt-page .fchip.toggle{border-style:dashed;}#dt-page .fchip.toggle[aria-pressed=\"true\"]{background:var(--mint-tint);color:var(--mint);border-color:var(--mint-fill);border-style:solid;}#dt-page .ref-view{margin-left:auto;display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:3px;}#dt-page .ref-view button{font:inherit;font-size:13px;font-weight:600;color:var(--ink-soft);background:none;border:none;border-radius:6px;padding:6px 12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;}#dt-page .ref-view button svg{width:14px;height:14px;}#dt-page .ref-view button[aria-pressed=\"true\"]{background:var(--mint-tint);color:var(--mint);}#dt-page .ref-count{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.04em;margin-top:12px;}#dt-page table.tagref{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;}#dt-page .tagref-wrap{margin-top:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;}#dt-page .tagref thead th{position:relative;text-align:left;vertical-align:bottom;padding:12px 14px;background:#F7FAF8;border-bottom:1px solid var(--border);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);line-height:1.35;}#dt-page .tagref thead th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}#dt-page .tagref thead th button:focus-visible{outline:2px solid var(--mint-fill);outline-offset:3px;border-radius:3px;}#dt-page .tagref thead th .sort-ic{display:inline-flex;flex-direction:column;gap:2px;opacity:.45;}#dt-page .tagref thead th .sort-ic::before,#dt-page .tagref thead th .sort-ic::after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;}#dt-page .tagref thead th .sort-ic::before{border-bottom:4px solid currentColor;}#dt-page .tagref thead th .sort-ic::after{border-top:4px solid currentColor;}#dt-page .tagref thead th[aria-sort=\"ascending\"] .sort-ic,#dt-page .tagref thead th[aria-sort=\"descending\"] .sort-ic{opacity:1;color:var(--mint);}#dt-page .tagref thead th[aria-sort=\"ascending\"] .sort-ic::after{opacity:.25;}#dt-page .tagref thead th[aria-sort=\"descending\"] .sort-ic::before{opacity:.25;}#dt-page .tagref tbody td,#dt-page .tagref tbody th{padding:15px 14px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left;line-height:1.55;color:var(--ink-soft);}#dt-page .tagref tbody tr:last-child>*{border-bottom:none;}#dt-page .tagref tbody tr:hover>*{background:#FBFDFC;}#dt-page .tagref tbody th{font-weight:400;min-width:150px;}#dt-page .tagref .t-name{display:block;font-family:'Lato',sans-serif;font-weight:900;font-size:15px;color:var(--ink);text-decoration:none;line-height:1.3;}#dt-page a.t-name:hover{color:var(--mint);}#dt-page .tagref .t-name + .cat-pill{margin-top:7px;}#dt-page .tagref .t-prof{display:inline-flex;margin-top:8px;font-size:12px;font-weight:600;color:var(--teal);text-decoration:none;gap:4px;}#dt-page .tagref .t-prof:hover{text-decoration:underline;}#dt-page .tagref td.collects{min-width:260px;max-width:360px;}#dt-page .tagref td.goes{min-width:120px;color:var(--ink);}#dt-page .tagref td.detect{min-width:130px;}#dt-page .tagref td.detect code{white-space:normal;font-size:11.5px;line-height:1.9;}#dt-page .tagref col.c-collect{width:36%;}#dt-page mark.hl{background:#DDF3EA;color:inherit;border-radius:3px;padding:0 1px;}#dt-page .hashed{display:inline;background:linear-gradient(transparent 62%,#FDE3DF 62%);color:var(--ink);}#dt-page .ref-empty{display:none;padding:28px;text-align:center;color:var(--ink-faint);font-size:14px;}#dt-page .ref-empty.show{display:block;}#dt-page .ref-legend{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12.5px;color:var(--ink-faint);}#dt-page .ref-legend span{display:inline-flex;align-items:center;gap:8px;}#dt-page .gated-note{margin-top:18px;max-width:900px;background:var(--mint-tint);border:1px solid #CFE9DF;border-left:4px solid var(--mint-fill);border-radius:12px;padding:16px 22px;font-size:14.5px;line-height:1.65;color:var(--ink-soft);}#dt-page .gated-note strong{color:var(--ink);}#dt-page .gated-note a{color:var(--teal);font-weight:600;}#dt-page .consent-band{padding:52px 0;background:var(--mint-tint);border-top:1px solid #E4F1EB;border-bottom:1px solid #E4F1EB;margin-top:40px;}#dt-page .consent-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start;margin-top:4px;}#dt-page .consent-grid .lead-p{font-family:'Lato',sans-serif;font-weight:700;font-size:20px;line-height:1.5;color:var(--ink);}#dt-page .consent-grid .lead-p + p{margin-top:14px;font-size:15.5px;line-height:1.7;color:var(--ink-soft);}#dt-page .consent-grid p a{color:var(--teal);font-weight:600;}#dt-page .setting-stack{display:flex;flex-direction:column;gap:12px;}#dt-page .setting{background:var(--surface);border:1px solid #CFE9DF;border-radius:14px;padding:20px 22px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;}#dt-page .setting .s-n{width:36px;height:36px;border-radius:50%;background:var(--mint-fill);color:#fff;font-family:'Lato',sans-serif;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;}#dt-page .setting .s-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mint);margin-bottom:5px;}#dt-page .setting p{font-size:15px;line-height:1.66;color:var(--ink-soft);}#dt-page .setting-intro{font-size:15.5px;line-height:1.7;color:var(--ink-soft);}#dt-page .deck-band{padding:56px 0 20px;overflow:hidden;}#dt-page .deck-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}#dt-page .deck-nav{display:flex;align-items:center;gap:10px;}#dt-page .deck-pos{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;color:var(--ink-soft);letter-spacing:.04em;min-width:62px;text-align:center;}#dt-page .deck-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;}#dt-page .deck-btn:hover:not(:disabled){border-color:var(--mint-fill);background:var(--mint-tint);color:var(--mint);}#dt-page .deck-btn:disabled{opacity:.35;cursor:default;}#dt-page .deck-btn svg{width:16px;height:16px;}#dt-page .deck{margin-top:22px;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(32px,calc((100vw - 1120px)\/2 + 32px));padding:6px max(32px,calc((100vw - 1120px)\/2 + 32px)) 26px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}#dt-page .deck::-webkit-scrollbar{display:none;}#dt-page .deck:focus-visible{outline:2px solid var(--mint-fill);outline-offset:-2px;}#dt-page .tag-card{flex:0 0 360px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 0 rgba(36,41,35,.03);transition:border-color .2s,box-shadow .2s,transform .2s;scroll-margin-top:80px;}#dt-page .tag-card.is-hidden{display:none;}#dt-page .tag-card:target,#dt-page .tag-card.flash{border-color:var(--mint-fill);box-shadow:var(--shadow);}#dt-page .tc-head{padding:20px 22px 16px;border-bottom:1px solid var(--border);position:relative;}#dt-page .tc-num{position:absolute;right:20px;top:18px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.04em;}#dt-page .tc-head h3{font-size:21px;font-weight:900;line-height:1.2;margin-top:10px;padding-right:40px;}#dt-page .tc-goes{margin-top:6px;font-size:13.5px;color:var(--ink-soft);}#dt-page .tc-goes b{color:var(--ink);font-weight:600;}#dt-page .tc-body{padding:16px 22px 4px;display:flex;flex-direction:column;gap:14px;flex:1;}#dt-page .tc-row .tc-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;}#dt-page .tc-row p{font-size:14px;line-height:1.6;color:var(--ink-soft);}#dt-page .tc-row code{white-space:normal;font-size:11.5px;}#dt-page .tc-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;border-top:1px dashed var(--border);}#dt-page .tc-more{border-top:1px solid var(--border);margin-top:auto;}#dt-page .tc-more summary{list-style:none;cursor:pointer;padding:13px 22px;font-size:13.5px;font-weight:600;color:var(--teal);display:flex;align-items:center;justify-content:space-between;}#dt-page .tc-more summary::-webkit-details-marker{display:none;}#dt-page .tc-more summary::after{content:\"+\";font-size:18px;font-weight:400;color:var(--mint);}#dt-page .tc-more[open] summary::after{content:\"\\2013\";}#dt-page .tc-more .tc-full{padding:0 22px 16px;font-size:14px;line-height:1.65;color:var(--ink-soft);}#dt-page .tc-src{margin-top:10px;font-size:12px;line-height:1.5;color:var(--ink-faint);font-style:italic;}#dt-page .tc-foot{padding:14px 22px 18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#FBFDFC;border-radius:0 0 16px 16px;}#dt-page .tc-foot a{font-size:13.5px;font-weight:600;color:var(--teal);text-decoration:none;display:inline-flex;gap:6px;align-items:center;}#dt-page .tc-foot a:hover{text-decoration:underline;}#dt-page .tc-foot .tc-noprof{font-size:12.5px;color:var(--ink-faint);}#dt-page .deck-dots{display:flex;justify-content:center;gap:6px;margin-top:4px;flex-wrap:wrap;}#dt-page .deck-dots button{width:8px;height:8px;padding:0;border-radius:99px;border:none;background:#D5DFDA;cursor:pointer;transition:width .2s,background .2s;}#dt-page .deck-dots button[aria-current=\"true\"]{width:22px;background:var(--mint-fill);}#dt-page .deck-hint{display:none;}#dt-page .deck.as-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none;padding-left:0;padding-right:0;}#dt-page .deck-band.grid-mode .deck{max-width:1120px;margin-left:auto;margin-right:auto;padding:6px 32px 26px;}#dt-page .deck-band.grid-mode .deck-nav,#dt-page .deck-band.grid-mode .deck-dots{display:none;}#dt-page .prof-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding:40px 0 8px;align-items:start;}#dt-page .prof-glance{position:sticky;top:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;}#dt-page .pg-head{padding:18px 20px 16px;background:var(--ink);color:#fff;}#dt-page .pg-head .pg-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8FE3C3;}#dt-page .pg-head .pg-name{margin-top:6px;font-family:'Lato',sans-serif;font-weight:900;font-size:20px;line-height:1.2;}#dt-page .pg-risk{padding:18px 20px;border-bottom:1px solid var(--border);}#dt-page .pg-risk.high{background:var(--warn-tint);}#dt-page .pg-risk.medium{background:var(--teal-tint);}#dt-page .pg-risk.low{background:var(--mint-tint);}#dt-page .pg-risk .pg-rk{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;display:flex;justify-content:space-between;}#dt-page .pg-risk .pg-rk a{color:var(--teal);text-decoration:none;letter-spacing:.04em;}#dt-page .pg-risk .pg-rk a:hover{text-decoration:underline;}#dt-page .prof-glance dl{margin:0;}#dt-page .prof-glance .pg-row{padding:12px 20px;border-bottom:1px solid var(--border);}#dt-page .prof-glance .pg-row:last-child{border-bottom:none;}#dt-page .prof-glance dt{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px;}#dt-page .prof-glance dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink);font-weight:500;}#dt-page .prof-glance dd code{white-space:normal;font-size:12px;}#dt-page .yn-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;margin-right:6px;vertical-align:-3px;}#dt-page .yn-mark.y{background:var(--warn-tint);color:var(--warn);border:1px solid #EFC9C4;}#dt-page .yn-mark.n{background:var(--mint-tint);color:var(--mint);border:1px solid #CFE9DF;}#dt-page .yn-mark.live{background:var(--mint-tint);color:var(--mint);border:1px solid #CFE9DF;}#dt-page .risk-h2{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}#dt-page .risk-note{margin-top:14px;font-size:13px;color:var(--ink-faint);line-height:1.55;border-top:1px dashed var(--border);padding-top:12px;}#dt-page .rubric{margin-top:18px;border:1px solid var(--border);border-radius:12px;overflow:hidden;}#dt-page .rubric-k{padding:10px 16px;background:#F7FAF8;border-bottom:1px solid var(--border);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);}#dt-page .detect-card{margin-top:18px;border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}#dt-page .detect-card .dc-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-right:4px;}#dt-page .tagtype{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;font-weight:500;color:var(--ink);background:var(--mint-tint);border:1px solid #CFE9DF;border-radius:6px;padding:4px 9px;}#dt-page .hub-lede{margin-top:22px;max-width:76ch;font-size:16px;color:var(--ink-soft);line-height:1.7;}#dt-page .profile-strip{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}#dt-page .pchip{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:12px;padding:14px 14px 12px;text-decoration:none;color:var(--ink);background:var(--surface);transition:border-color .15s;}#dt-page .pchip:hover{border-color:var(--mint-fill);}#dt-page .pchip .pc-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .pchip .pc-n{font-family:'Lato',sans-serif;font-weight:900;font-size:15px;line-height:1.25;}#dt-page .strip-label{margin-top:22px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:10px;}#dt-page .strip-label .bar{flex:1;height:1px;background:var(--border);}#dt-page .soon{margin-top:18px;display:flex;align-items:center;gap:12px;border:1px dashed #C4D3CC;border-radius:12px;padding:14px 18px;font-size:14px;color:var(--ink-faint);max-width:82ch;}#dt-page .soon .soon-k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:#F1F3F2;border-radius:5px;padding:3px 8px;white-space:nowrap;}#dt-page .rel-list{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}#dt-page .rel-item{border:1px solid var(--border);border-radius:12px;padding:18px 20px;background:var(--surface);}#dt-page .rel-item .ri-k{font-family:'Lato',sans-serif;font-weight:900;font-size:15.5px;color:var(--ink);}#dt-page .rel-item p{margin-top:6px;font-size:14px;line-height:1.6;color:var(--ink-soft);}#dt-page .rel-item a{color:var(--teal);font-weight:600;}#dt-page .rel-item .plain{color:var(--ink);font-weight:600;}@media (max-width:980px){#dt-page .prof-grid{grid-template-columns:minmax(0,1fr);gap:28px;}#dt-page .prof-glance{position:static;order:-1;}#dt-page .rail{display:none;}#dt-page .consent-grid{grid-template-columns:minmax(0,1fr);gap:24px;}#dt-page .deck.as-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#dt-page .profile-strip{grid-template-columns:repeat(3,minmax(0,1fr));}#dt-page .rel-list{grid-template-columns:minmax(0,1fr);}}@media (max-width:820px){#dt-page .tagref-wrap{border:none;background:none;overflow:visible;}#dt-page table.tagref,#dt-page .tagref tbody,#dt-page .tagref tr,#dt-page .tagref td,#dt-page .tagref tbody th{display:block;width:auto;}#dt-page .tagref thead{display:none;}#dt-page .tagref tbody tr{border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:10px;padding:16px 18px 6px;}#dt-page .tagref tbody tr.is-hidden{display:none;}#dt-page .tagref tbody td,#dt-page .tagref tbody th{border:none;padding:0 0 12px;min-width:0;max-width:none;}#dt-page .tagref tbody tr:hover>*{background:none;}#dt-page .tagref tbody td::before{content:attr(data-label);display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px;}#dt-page .ref-tools{position:static;}#dt-page .ref-view{margin-left:0;}#dt-page .src-list{columns:1;}#dt-page .inline-cta{grid-template-columns:minmax(0,1fr);}}@media (max-width:680px){#dt-page .tag-card{flex-basis:86vw;}#dt-page .deck{gap:12px;scroll-padding-left:20px;padding-left:20px;padding-right:20px;}#dt-page .deck-hint{display:flex;align-items:center;gap:8px;margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);}#dt-page .deck-top .deck-nav .deck-btn{width:38px;height:38px;}#dt-page .deck.as-grid{grid-template-columns:minmax(0,1fr);}#dt-page .deck-band.grid-mode .deck{padding:6px 20px 26px;}#dt-page .ref-search{max-width:none;flex-basis:100%;}#dt-page .ref-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px;padding:0 12px 2px;scrollbar-width:none;}#dt-page .ref-filters::-webkit-scrollbar{display:none;}#dt-page .fchip{white-space:nowrap;}#dt-page .profile-strip{grid-template-columns:repeat(2,minmax(0,1fr));}#dt-page .tc-duo{grid-template-columns:minmax(0,1fr);}#dt-page .consent-grid .lead-p{font-size:18px;}}@media (prefers-reduced-motion:reduce){#dt-page .deck{scroll-behavior:auto;}#dt-page .tag-card{transition:none;}}#dt-page .tagref .t-prof{display:flex;width:max-content;align-items:center;}#dt-page .tagref .t-prof svg,#dt-page .tc-foot a svg{width:13px;height:13px;flex-shrink:0;}#dt-page .tc-foot a{white-space:nowrap;}#dt-page .tagref th[scope=\"row\"]{width:190px;}#dt-page .tagref td.consent-cell{min-width:150px;}#dt-page .tagref td.detect code,#dt-page .tc-row code{display:inline-block;white-space:nowrap;margin:0 4px 5px 0;line-height:1.5;}#dt-page .consent .c-dot{background:var(--teal);box-shadow:0 0 0 3px var(--teal-tint);}#dt-page .consent.early .c-dot{background:var(--ink);box-shadow:0 0 0 3px #E6EBE8;}#dt-page .deck-hint svg{width:12px;height:12px;}@media (max-width:820px){#dt-page .tagref td.collects,#dt-page .tagref td.detect{display:none;}#dt-page .tagref tbody tr{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;padding:14px 16px 4px;}#dt-page .tagref tbody th{grid-column:1 \/ -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;}#dt-page .tagref .t-name{width:100%;}#dt-page .tagref .t-name::after{content:\" \\2192\";color:var(--mint);font-weight:700;}#dt-page .tagref .t-name + .cat-pill{margin-top:0;}#dt-page .tagref .t-prof{margin-top:0;}#dt-page .tagref tbody td{font-size:13px;}#dt-page .tagref-mobile-note{display:block !important;}}#dt-page .tagref-mobile-note{display:none;margin-top:8px;font-size:13px;color:var(--ink-faint);}#dt-page .risk-h2 .risk.lg .risk-label{font-size:26px;}#dt-page .risk-h2 .risk.lg .risk-meter{margin-top:3px;}#dt-page .code-block pre code{white-space:pre-wrap;overflow-wrap:anywhere;}#dt-page .data-table tbody th{min-width:150px;}#dt-page .pchip .pc-risk{padding-top:8px;border-top:1px dashed var(--border);}#dt-page .pchip .risk-label{font-size:13px;}#dt-page .rel-item a{text-decoration:underline;text-decoration-color:#B8CFD8;text-underline-offset:3px;}#dt-page .closing .closing-body{margin:12px auto 0;max-width:60ch;font-size:15.5px;line-height:1.65;color:#C9D3CD;}#dt-page .closing .trial-fine a{color:#8FE3C3;text-decoration:underline;text-underline-offset:3px;}#dt-page .tile.is-soon{border-style:dashed;border-color:#C4D3CC;background:#FBFCFB;cursor:default;}#dt-page .tile.is-soon::after{content:none;}#dt-page .tile.is-soon:hover{border-color:#C4D3CC;}#dt-page .tile.is-soon h3{color:var(--ink-soft);}#dt-page .tile.is-soon p{color:var(--ink-faint);}#dt-page .soon-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);background:#F1F3F2;border:1px solid #DDE3E0;border-radius:999px;padding:4px 10px;}#dt-page .soon-pill::before{content:\"\";width:6px;height:6px;border-radius:50%;border:1.5px solid var(--ink-faint);}#dt-page .tile .t-label.hub{color:var(--mint);}#dt-page .cat.cat-row{padding:36px 0 32px;}#dt-page .cr-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:start;}#dt-page .cr-head .eyebrow{margin-bottom:12px;}#dt-page .cr-head .section-head h2{font-size:24px;}#dt-page .cr-tiles{display:flex;flex-direction:column;gap:12px;padding-top:4px;}#dt-page .cr-tiles .tile h3{font-size:18px;}@media (max-width:900px){#dt-page .cr-grid{grid-template-columns:minmax(0,1fr);gap:18px;}}#dt-page .tile:not([href])::after{content:none;}#dt-page div.tile:hover{border-color:var(--border);}#dt-page .tile.is-gated::after{content:none;}#dt-page .tile.is-gated:hover{border-color:var(--border);}#dt-page .r1-fig{margin:22px 0 6px;}#dt-page .r1-fig img{display:block;max-width:100%;height:auto;}#dt-page .r1-diagram img{width:100%;max-width:960px;border:1px solid var(--border,#E3EAE6);border-radius:12px;background:#fff;}#dt-page .r1-hero img,#dt-page .r1-card img{width:100%;max-width:640px;aspect-ratio:640\/440;border-radius:14px;}#dt-page .r1-crop>img{display:block;width:100%;height:auto;}#dt-page .r1-crop{border:1px solid var(--border,#E3EAE6);border-radius:12px;overflow:hidden;background:#fff;}#dt-page .r1-shots .r1-crop + .r1-crop{margin-top:14px;}#dt-page .r1-fig figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-soft,#51605A);line-height:1.55;max-width:80ch;}#dt-page .r1-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}#dt-page .r1-cards img{width:100%;aspect-ratio:640\/440;border-radius:12px;}#dt-page .head-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px;align-items:start;}#dt-page .head-grid .r1-fig{margin-top:6px;}#dt-page .r1-hero-wide{margin-top:28px;}#dt-page .ty-hero-grid.r1-onecol{grid-template-columns:1fr;}@media (max-width:900px){#dt-page .head-grid{grid-template-columns:1fr;}#dt-page .r1-cards{grid-template-columns:1fr;}}#dt-page .head-grid.hv2{grid-template-columns:minmax(0,1fr) minmax(0,440px);grid-template-areas:\"title media\" \"rest media\";grid-template-rows:auto 1fr;column-gap:48px;row-gap:0;align-items:start;}#dt-page .head-grid.hv2>.head-title{grid-area:title;}#dt-page .head-grid.hv2>.head-media{grid-area:media;}#dt-page .head-grid.hv2>.head-rest{grid-area:rest;}#dt-page .head-media{display:flex;flex-direction:column;gap:18px;}#dt-page .head-media .r1-fig{margin:6px 0 0;}#dt-page .head-media .definition{margin-top:0;max-width:none;}#dt-page .head-media .def-text{font-size:16px;line-height:1.55;}#dt-page .head-lead{margin-top:24px;}#dt-page .head-rest>.head-lead{margin-top:0;}#dt-page .head-rest{padding-top:24px;}#dt-page .head-rest>.hero-copy>p:first-child{margin-top:0;}#dt-page .head-rest>.hero-copy{margin-top:0;}#dt-page .head-lead h2{font-size:22px;line-height:1.3;margin:0 0 10px;}#dt-page .head-lead p{margin:0 0 14px;}#dt-page .head-lead .section-head{margin:0;max-width:none;}#dt-page .ew-head{padding-bottom:56px;}#dt-page .def-kicker::before{content:none;}#dt-page .definition::after{content:none;}#dt-page .definition .def-text{font-weight:400;letter-spacing:0;}#dt-page .definition .def-text strong{font-weight:700;}#dt-page .hero-link{margin-top:24px;}#dt-page .prof-grid.no-aside{grid-template-columns:minmax(0,780px);}#dt-page .case-hero .head-media .prof-glance{position:static;width:100%;}#dt-page .art-grid>article.prose>h2:first-child,#dt-page .pillar-body>.prose:first-child>h2:first-child{margin-top:0;}#dt-page .head-lead p.lede,#dt-page .head-rest p.lede{font-size:inherit;}#dt-page .case-layout.no-aside{grid-template-columns:minmax(0,780px);grid-template-areas:\"main\";}#dt-page .case-hero .head-lead .definition{margin-top:22px;}#dt-page .case-hero .head-lead .def-text{font-size:16px;line-height:1.55;}#dt-page .case-hero .head-media .case-aside{position:static;}#dt-page .case-hero .head-media .factbox{margin:0;width:100%;max-width:none;}#dt-page .case-hero .head-media .case-aside{width:100%;}@media (max-width:900px){#dt-page .head-grid.hv2{display:flex;flex-direction:column;gap:0;}#dt-page .head-grid.hv2 .head-media{display:contents;}#dt-page .head-grid.hv2>.head-title{order:1;}#dt-page .head-grid.hv2 .head-media .definition{order:2;margin-top:22px;}#dt-page .head-grid.hv2 .head-media .r1-fig{order:3;margin-top:22px;}#dt-page .head-grid.hv2>.head-rest{order:4;}#dt-page .head-grid.case-hero>.head-rest{order:2;}#dt-page .head-grid.case-hero .head-media>*{order:3;margin-top:22px;}}#dt-page .tcta-band{padding:48px 0;}#dt-page .tcta{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center;border-radius:16px;padding:40px 0 40px 40px;background:var(--ink);color:#fff;text-align:left;}#dt-page .tcta::after{content:\"\";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.28),rgba(16,185,129,0) 70%);pointer-events:none;}#dt-page .tcta .eyebrow.on-dark{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);color:#8FE3C3;border-radius:999px;padding:6px 12px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}#dt-page .tcta .eyebrow.on-dark .dot{width:6px;height:6px;border-radius:50%;background:#6FE3B6;}#dt-page .tcta h2{font-size:28px;font-weight:900;letter-spacing:-0.01em;line-height:1.2;color:#fff;margin:0;}#dt-page .tcta .tcta-sub{margin:12px 0 0;font-size:15px;line-height:1.6;color:#CFE0D8;}#dt-page .tcta-k{margin-top:22px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8FA69A;}#dt-page .tcta-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:14px;}#dt-page .tcta-list li{display:flex;gap:8px;align-items:flex-start;line-height:1.45;color:#fff;font-weight:600;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);}#dt-page .tcta-more{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:13.5px;color:#E4EEE9;}#dt-page .tcta-more li{display:flex;gap:7px;align-items:flex-start;line-height:1.45;}#dt-page .tcta svg{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:#6FE3B6;}#dt-page .tcta-act{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}#dt-page .tcta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--mint-fill);color:#fff;font-family:'Lato',sans-serif;font-weight:700;font-size:16px;border-radius:8px;padding:14px 22px;text-decoration:none;}#dt-page .tcta-btn:hover{background:#0C9A6E;}#dt-page .tcta-btn svg{width:16px;height:16px;margin:0;color:#fff;}#dt-page .tcta-g2{font-size:12.5px;color:#CFE0D8;}#dt-page .tcta-g2 strong{color:#fff;}#dt-page .tcta-g2 .stars{color:#E0A32E;letter-spacing:1px;font-size:11px;}#dt-page .tcta-fine{margin:12px 0 0;font-size:12.5px;line-height:1.55;max-width:52ch;color:#8FA69A;}#dt-page .tcta-shot{align-self:stretch;display:flex;align-items:center;}#dt-page .tcta-frame{width:calc(100% + 140px);border-radius:10px 0 0 10px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);border-right:none;background:#fff;}#dt-page .tcta-frame .bar{height:26px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#EEF2F0;border-bottom:1px solid var(--border);}#dt-page .tcta-frame .bar i{width:8px;height:8px;border-radius:50%;background:#C9D3CE;}#dt-page .tcta-frame img{display:block;width:100%;height:auto;}#dt-page .tcta-cap{margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#8FA69A;}@media (max-width:900px){#dt-page .tcta{grid-template-columns:1fr;padding:32px 24px 0;gap:28px;}#dt-page .tcta-shot{margin:0 -24px 0 0;}#dt-page .tcta-frame{width:100%;}}@media (max-width:600px){#dt-page .tcta h2{font-size:23px;}#dt-page .tcta-more{grid-template-columns:1fr;}#dt-page .tcta-btn{width:100%;justify-content:center;}}#dt-page .definition .def-text{font-size:16px;line-height:1.6;}<\/style><div id=\"dt-page\" class=\"dt-page\"><section class=\"pc-head\"><div class=\"wrap\"> <nav class=\"breadcrumb\" aria-label=\"Breadcrumb\"><ol><li><a href=\"\/en\/\">Home<\/a><\/li><li><a href=\"https:\/\/datatrue.com\/en\/resources\/\">Resources<\/a><\/li><li><a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/\">Analytics &amp; Data Quality<\/a><\/li><li aria-current=\"page\">Data layer testing<\/li><\/ol><\/nav><div class=\"head-grid hv2\"><div class=\"head-title\"> <span class=\"eyebrow\"><span class=\"dot\"><\/span>Analytics &amp; Data Quality <span class=\"sep\">\/<\/span> How-to guide<\/span> <h1>What Is Data Layer Testing?<\/h1> <p class=\"byline\"><span class=\"by-who\">DataTrue Team<\/span><span class=\"by-sep\"><\/span><span>September 2026<\/span><\/p> <\/div><div class=\"head-media\"><figure class=\"r1-fig r1-hero\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/H-DATALAYER.png\" alt=\"\" width=\"640\" height=\"440\"><\/figure><div class=\"definition\" id=\"definition\"><p class=\"def-kicker\">Summary<\/p><p class=\"def-text\"><strong>Data layer testing<\/strong> is the practice of checking that the data in your website&#8217;s data layer is complete, correct, and in the right format before your tags read it. Because tags depend on the data layer, a wrong or missing value there produces wrong analytics even when every tag fires perfectly. Automated testing makes this repeatable.<\/p><\/div><\/div><div class=\"head-rest\"><div class=\"head-lead\"><p>The sections below explain why the data layer is worth testing on its own, what can go wrong in it, and how to test it. The last section shows how DataTrue tests the data layer.<\/p><\/div><\/div><\/div><\/div><\/section> <div class=\"wrap\"><div class=\"art-grid\"><article class=\"prose\"> <h2 id=\"why-the-data-layer-is-worth-testing-on-its-own\">Why the data layer is worth testing on its own<\/h2> <p>The data layer is the structured object on a page that holds the values your tags read, things like product price, order total, currency, and page type. It is a source your tags read from. That makes it powerful, and it also makes it a single point of failure. If the data layer hands a tag the wrong value, the tag fires exactly as designed and still reports the wrong number, so the error never shows up as a broken tag. It shows up later as a figure that does not add up.<\/p> <p>Testing the tags alone does not catch this. A tag can pass every firing check and still be fed a bad value. Testing the data layer is how you check the input, not just the mechanism.<\/p> <h2 id=\"what-can-go-wrong-in-the-data-layer\">What can go wrong in the data layer?<\/h2> <p>The failures are quiet, which is what makes them worth testing for:<\/p> <ul class=\"check-list\"><li><strong>Missing values.<\/strong> A key the tag expects is absent, so the event arrives with a blank field, like a purchase with no revenue.<\/li><li><strong>Wrong values.<\/strong> The data layer holds the wrong number, currency, or ID, often after a template or catalogue change.<\/li><li><strong>Wrong format.<\/strong> A price sent as text instead of a number, a date in the wrong format, or an array where an object is expected.<\/li><li><strong>Values that change on a release.<\/strong> A new deploy renames a key or moves a value, and every tag that read it starts collecting nothing, silently.<\/li><li><strong>Consent keys not set.<\/strong> The data layer does not carry the consent state it should, so downstream tags cannot gate correctly.<\/li><li><strong>Edge cases.<\/strong> Out-of-stock products, discounted items, multi-currency carts, and guest checkouts often populate the data layer differently from the happy path, and those are the paths least likely to be checked by hand.<\/li><\/ul> <h2 id=\"how-do-you-test-the-data-layer\">How do you test the data layer?<\/h2> <p>You test it by comparing what the data layer actually contains against what it should contain, across your key pages and journeys, on a schedule rather than by hand. The practice:<\/p> <ol class=\"steps\"><li><strong>Define the expected data layer.<\/strong> Write down the keys each page and journey step should populate, and the type and format of each value. This is your reference.<\/li><li><strong>Read the real data layer.<\/strong> Capture what the data layer holds at each step of a real journey, from the page itself.<\/li><li><strong>Validate values and formats.<\/strong> Check each value against the reference, including type and format, not just presence. A price should be a number, a currency should be a valid code.<\/li><li><strong>Validate objects property by property.<\/strong> When a value is a structured object, check its individual properties, not just that the object exists.<\/li><li><strong>Test the edge cases and each consent state.<\/strong> Run the out-of-stock, discounted, and multi-currency variants, and confirm the data layer carries the right consent state before and after a visitor consents.<\/li><li><strong>Monitor on a schedule.<\/strong> Data layers change with every release, so re-run these checks continuously and alert when a value drifts, so a break is caught in hours rather than at the next report.<\/li><\/ol> <h2 id=\"how-datatrue-tests-the-data-layer\">How DataTrue tests the data layer<\/h2> <p>DataTrue reads and validates the data layer as part of testing your live site and apps. In a journey test it captures the data layer at each step and checks the values against what you defined, including property-level validation for structured objects, and it can pull the same checks from other sources on the page such as the DOM, cookies, and the URL when the value does not live in the data layer. Because DataTrue runs as an independent cloud platform, there&#8217;s nothing of ours to install on your pages. Test visits do reach your analytics and ad tools like any real visit, so we give you our IP addresses to filter them out of Google Analytics and other reports. It works well for regression testing after a release and for continuous data-quality monitoring.<\/p><figure class=\"r1-fig r1-shot\"><div class=\"r1-crop\" style=\"max-width:912px\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/data-layer-validation-crop.png\" alt=\"DataTrue validating a cart-addition data layer event: the event method, action, page and phase each match their expected values.\" width=\"912\" height=\"715\" loading=\"lazy\"><\/div><\/figure> <p>For the full feature walkthrough, see DataTrue&#8217;s <a href=\"https:\/\/datatrue.com\/en\/data-layer-validation\/\">data layer validation<\/a> feature. To see it alongside the rest of tag testing, see <a href=\"\/en\/platform\/web-analytics-testing\/\">web analytics testing<\/a>.<\/p> <section class=\"faq-block\" aria-labelledby=\"questions\"><h2 id=\"questions\">Questions<\/h2><div class=\"faq-list\"><details class=\"faq-item\" open><summary>What is data layer testing?<\/summary><p>It is checking that the data in your website&#8217;s data layer is complete, correct, and in the right format before your tags read it, so a wrong or missing value there does not turn into wrong analytics.<\/p><\/details><details class=\"faq-item\"><summary>How is data layer testing different from tag testing?<\/summary><p>Tag testing checks that a tag fires and sends data. Data layer testing checks the values the tag is fed. A tag can fire perfectly and still report the wrong number if the data layer behind it is wrong.<\/p><\/details><details class=\"faq-item\"><summary>What is data layer validation?<\/summary><p>It is the automated version of data layer testing: software reads the data layer and checks each value against a defined expectation, including type, format, and the properties of structured objects.<\/p><\/details><details class=\"faq-item\"><summary>Can you test the data layer automatically?<\/summary><p>Yes. Automated testing captures the data layer across your pages and journeys and validates it on a schedule, which is the only practical way to keep it correct as your site changes.<\/p><\/details><details class=\"faq-item\"><summary>How often should you test the data layer?<\/summary><p>Continuously, or at least on every release, because a deploy is the most common moment for a data layer value to move or disappear.<\/p><\/details><\/div><\/section> <\/article> <aside class=\"rail\" aria-label=\"On this page\"><div class=\"toc\"><p class=\"toc-label\">On this page<\/p><ol><li><a href=\"#why-the-data-layer-is-worth-testing-on-its-own\">Why the data layer is worth testing on its own<\/a><\/li><li><a href=\"#what-can-go-wrong-in-the-data-layer\">What can go wrong in the data layer?<\/a><\/li><li><a href=\"#how-do-you-test-the-data-layer\">How do you test the data layer?<\/a><\/li><li><a href=\"#how-datatrue-tests-the-data-layer\">How DataTrue tests the data layer<\/a><\/li><li><a href=\"#questions\">Questions<\/a><\/li><li><a href=\"#related\">Related guides<\/a><\/li><\/ol><\/div><\/aside> <\/div><\/div> <section class=\"band alt\" aria-labelledby=\"related\"><div class=\"wrap\"><div class=\"section-head\"><h2 id=\"related\">Related guides<\/h2><\/div><div class=\"tile-grid\"><a class=\"tile\" href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layers\/\"><span class=\"t-label\">Guide<\/span><h3>What is a data layer?<\/h3><p>The concept behind this page<\/p><\/a><a class=\"tile\" href=\"\/en\/resources\/analytics\/data-layer-unit-testing\/\"><span class=\"t-label\">Guide<\/span><h3>Data layer unit testing<\/h3><p>Verifying the right tags fire when a data layer event happens<\/p><\/a><a class=\"tile\" href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-accuracy\/\"><span class=\"t-label\">Guide<\/span><h3>Data accuracy and data integrity<\/h3><p>What testing the data layer protects<\/p><\/a><a class=\"tile\" href=\"https:\/\/datatrue.com\/en\/resources\/tags\/what-is-a-tag-audit\/\"><span class=\"t-label\">Guide<\/span><h3>The tag audit guide<\/h3><p>Finding what fires across your whole site<\/p><\/a><\/div><\/div><\/section> <section class=\"tcta-band\"><div class=\"wrap\"><div class=\"tcta\"> <div class=\"tcta-copy\"><span class=\"eyebrow on-dark\"><span class=\"dot\"><\/span>30-day free trial<\/span><h2>Know what your tags send, page by page<\/h2><p class=\"tcta-sub\">DataTrue runs real journeys on your site and checks each tag&#8217;s data against what you expect, field by field. A missing event or a wrong value shows up in a test before it reaches a report.<\/p> <div class=\"tcta-k\">What DataTrue checks<\/div><ul class=\"tcta-list\"><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>Every page, with coverage scans<\/li><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>Scheduled runs, with alerts when a result changes<\/li><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>Full journeys, like checkout and signup, in each consent state<\/li><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>What each tag sent, field by field<\/li><\/ul> <div class=\"tcta-k\">Also in the full platform<\/div><ul class=\"tcta-more\"><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>PII detection with test personas<\/li><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>iOS and Android app testing<\/li><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>Pre-publish testing for GTM and Adobe Tags<\/li><li><svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3.5 8.5l3 3 6-7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>REST API, plus Slack and Jira alerts<\/li><\/ul> <div class=\"tcta-act\"><a class=\"tcta-btn\" href=\"https:\/\/datatrue.com\/en\/start-free-trial\/\">Start a free 30-day trial <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><span class=\"tcta-g2\"><span class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/span> <strong>4.6\/5<\/strong> on G2<\/span><\/div> <p class=\"tcta-fine\">The full platform, every feature, free for 30 days.<\/p><\/div> <div class=\"tcta-shot\"><div style=\"width:100%\"><div class=\"tcta-frame\"><div class=\"bar\"><i><\/i><i><\/i><i><\/i><\/div><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/journey-simulation-payload.png\" alt=\"A DataTrue journey step reading what a GA4 page view sent, with each property checked\" width=\"1402\" height=\"876\" loading=\"lazy\"><\/div><div class=\"tcta-cap\">A journey step checking what a GA4 tag sent<\/div><\/div><\/div> <\/div><\/div><\/section> <script> (function(){var links=[].slice.call(document.querySelectorAll('.toc a'));if(!links.length||!('IntersectionObserver' in window))return; var map={};links.forEach(function(a){map[a.getAttribute('href').slice(1)]=a;}); var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){links.forEach(function(l){l.classList.remove('active')});var a=map[e.target.id];if(a)a.classList.add('active');}})},{rootMargin:'-10% 0px -75% 0px'}); Object.keys(map).forEach(function(id){var el=document.getElementById(id);if(el)io.observe(el);});})(); <\/script><script> document.querySelectorAll('.code-copy').forEach(function(b){b.addEventListener('click',function(){var t=b.closest('.code-block').querySelector('code').innerText;try{navigator.clipboard.writeText(t);b.textContent='Copied';setTimeout(function(){b.textContent='Copy'},1400);}catch(e){}});}); <\/script><\/div><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"HowTo\",\"name\":\"How do you test the data layer?\",\"description\":\"How to check that the values in your data layer are complete, correct, and correctly formatted before your tags read them.\",\"step\":[{\"@type\":\"HowToStep\",\"name\":\"Define the expected data layer\",\"text\":\"Write down the keys each page and journey step should populate, and the type and format of each value. This is your reference.\"},{\"@type\":\"HowToStep\",\"name\":\"Read the real data layer\",\"text\":\"Capture what the data layer holds at each step of a real journey, from the page itself.\"},{\"@type\":\"HowToStep\",\"name\":\"Validate values and formats\",\"text\":\"Check each value against the reference, including type and format, not just presence. A price should be a number, a currency should be a valid code.\"},{\"@type\":\"HowToStep\",\"name\":\"Validate objects property by property\",\"text\":\"When a value is a structured object, check its individual properties, not just that the object exists.\"},{\"@type\":\"HowToStep\",\"name\":\"Test the edge cases and each consent state\",\"text\":\"Run the out-of-stock, discounted, and multi-currency variants, and confirm the data layer carries the right consent state before and after a visitor consents.\"},{\"@type\":\"HowToStep\",\"name\":\"Monitor on a schedule\",\"text\":\"Data layers change with every release, so re-run these checks continuously and alert when a value drifts.\"}]}<\/script><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is data layer testing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is checking that the data in your website's data layer is complete, correct, and in the right format before your tags read it, so a wrong or missing value there does not turn into wrong analytics.\"}},{\"@type\":\"Question\",\"name\":\"How is data layer testing different from tag testing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Tag testing checks that a tag fires and sends data. Data layer testing checks the values the tag is fed. A tag can fire perfectly and still report the wrong number if the data layer behind it is wrong.\"}},{\"@type\":\"Question\",\"name\":\"What is data layer validation?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is the automated version of data layer testing: software reads the data layer and checks each value against a defined expectation, including type, format, and the properties of structured objects.\"}},{\"@type\":\"Question\",\"name\":\"Can you test the data layer automatically?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Automated testing captures the data layer across your pages and journeys and validates it on a schedule, which is the only practical way to keep it correct as your site changes.\"}},{\"@type\":\"Question\",\"name\":\"How often should you test the data layer?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Continuously, or at least on every release, because a deploy is the most common moment for a data layer value to move or disappear.\"}}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Home Resources Analytics &amp; Data Quality Data layer testing Analytics &amp; Data Quality \/ How-to guide What Is Data Layer Testing? DataTrue TeamSeptember 2026 Summary Data layer testing is the practice of checking that the data in your website&#8217;s data layer is complete, correct, and in the right format before your tags read it. Because [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"parent":227747,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-227773","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Is Data Layer Testing? Automated Validation Guide<\/title>\n<meta name=\"description\" content=\"Data layer testing checks that the values feeding your tags are complete and correct. Learn what it is, why it matters, and how to automate it across your site.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is Data Layer Testing? Automated Validation Guide\" \/>\n<meta property=\"og:description\" content=\"Data layer testing checks that the values feeding your tags are complete and correct. Learn what it is, why it matters, and how to automate it across your site.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"DataTrue\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/datatruedigital\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-06T16:19:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/datatrue.com\/wp-content\/uploads\/2022\/04\/New-DT-Logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1328\" \/>\n\t<meta property=\"og:image:height\" content=\"208\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@data_true\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/data-layer-testing\\\/\",\"url\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/data-layer-testing\\\/\",\"name\":\"What Is Data Layer Testing? Automated Validation Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#website\"},\"datePublished\":\"2026-10-06T16:12:24+00:00\",\"dateModified\":\"2026-10-06T16:19:23+00:00\",\"description\":\"Data layer testing checks that the values feeding your tags are complete and correct. Learn what it is, why it matters, and how to automate it across your site.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/data-layer-testing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/data-layer-testing\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/data-layer-testing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/datatrue.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resources\",\"item\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Analytics &amp; Data Quality\",\"item\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Data Layer Testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/datatrue.com\\\/en\\\/\",\"name\":\"DataTrue\",\"description\":\"Web Analytics Quality Assurance\",\"publisher\":{\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/datatrue.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#organization\",\"name\":\"DataTrue\",\"url\":\"https:\\\/\\\/datatrue.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/datatrue.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/New-DT-Logo.png\",\"contentUrl\":\"https:\\\/\\\/datatrue.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/New-DT-Logo.png\",\"width\":1328,\"height\":208,\"caption\":\"DataTrue\"},\"image\":{\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/datatruedigital\\\/\",\"https:\\\/\\\/x.com\\\/data_true\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/Datatrue\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Is Data Layer Testing? Automated Validation Guide","description":"Data layer testing checks that the values feeding your tags are complete and correct. Learn what it is, why it matters, and how to automate it across your site.","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:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/","og_locale":"en_US","og_type":"article","og_title":"What Is Data Layer Testing? Automated Validation Guide","og_description":"Data layer testing checks that the values feeding your tags are complete and correct. Learn what it is, why it matters, and how to automate it across your site.","og_url":"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/","og_site_name":"DataTrue","article_publisher":"https:\/\/www.facebook.com\/datatruedigital\/","article_modified_time":"2026-10-06T16:19:23+00:00","og_image":[{"width":1328,"height":208,"url":"https:\/\/datatrue.com\/wp-content\/uploads\/2022\/04\/New-DT-Logo.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@data_true","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/","url":"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/","name":"What Is Data Layer Testing? Automated Validation Guide","isPartOf":{"@id":"https:\/\/datatrue.com\/en\/#website"},"datePublished":"2026-10-06T16:12:24+00:00","dateModified":"2026-10-06T16:19:23+00:00","description":"Data layer testing checks that the values feeding your tags are complete and correct. Learn what it is, why it matters, and how to automate it across your site.","breadcrumb":{"@id":"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/datatrue.com\/en\/"},{"@type":"ListItem","position":2,"name":"Resources","item":"https:\/\/datatrue.com\/en\/resources\/"},{"@type":"ListItem","position":3,"name":"Analytics &amp; Data Quality","item":"https:\/\/datatrue.com\/en\/resources\/analytics\/"},{"@type":"ListItem","position":4,"name":"Data Layer Testing"}]},{"@type":"WebSite","@id":"https:\/\/datatrue.com\/en\/#website","url":"https:\/\/datatrue.com\/en\/","name":"DataTrue","description":"Web Analytics Quality Assurance","publisher":{"@id":"https:\/\/datatrue.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/datatrue.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/datatrue.com\/en\/#organization","name":"DataTrue","url":"https:\/\/datatrue.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/datatrue.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/datatrue.com\/wp-content\/uploads\/2022\/04\/New-DT-Logo.png","contentUrl":"https:\/\/datatrue.com\/wp-content\/uploads\/2022\/04\/New-DT-Logo.png","width":1328,"height":208,"caption":"DataTrue"},"image":{"@id":"https:\/\/datatrue.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/datatruedigital\/","https:\/\/x.com\/data_true","https:\/\/www.youtube.com\/c\/Datatrue"]}]}},"_links":{"self":[{"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages\/227773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/comments?post=227773"}],"version-history":[{"count":4,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages\/227773\/revisions"}],"predecessor-version":[{"id":227890,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages\/227773\/revisions\/227890"}],"up":[{"embeddable":true,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages\/227747"}],"wp:attachment":[{"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/media?parent=227773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}