{"id":227769,"date":"2026-10-06T16:11:29","date_gmt":"2026-10-06T16:11:29","guid":{"rendered":"https:\/\/datatrue.com\/?page_id=227769"},"modified":"2026-10-06T16:24:29","modified_gmt":"2026-10-06T16:24:29","slug":"ga4-event-tracking","status":"publish","type":"page","link":"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/","title":{"rendered":"GA4 Event Tracking"},"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\">GA4 event tracking<\/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>How to Set Up GA4 Event Tracking<\/h1> <p class=\"byline\"><span class=\"by-who\">DataTrue Team<\/span><span class=\"by-sep\"><\/span><span>Updated 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-GA4.png\" alt=\"\" width=\"640\" height=\"440\"><\/figure><div class=\"definition\" id=\"definition\"><p class=\"def-kicker\">Summary<\/p><p class=\"def-text\"><strong>GA4 event tracking<\/strong> is how you record specific user interactions, such as clicks, form submits, and purchases, in Google Analytics 4. You set it up by defining events and their parameters with the Google tag (gtag.js) or Google Tag Manager, firing them from your data layer, then previewing to confirm each event sends the right data.<\/p><\/div><\/div><div class=\"head-rest\"><div class=\"head-lead\"><p>Event tracking is one of the most important parts of any analytics setup. By understanding how customers interact with your website, you can support better user journeys and improve conversion rates. Google Analytics 4 uses a different event model from Universal Analytics, so this guide walks through everything you need to set it up, with and without a data layer.<\/p><p>The guide covers setup with a data layer and without one, how to see your events in GA4, and how event tracking relates to data privacy. The last section shows how to confirm your events fire correctly.<\/p><\/div><\/div><\/div><\/div><\/section> <div class=\"wrap\"><div class=\"art-grid\"><article class=\"prose\"> <h2 id=\"how-does-event-tracking-work-in-ga4\">How does event tracking work in GA4?<\/h2> <p>Event tracking in GA4 works by adding tags to your website that record user interactions on each page. How much data you capture, and in what detail, depends on how your data layer and individual tags are set up.<\/p> <p>You can send GA4 events with the Google tag (gtag.js) or with Google Tag Manager. Tag Manager makes changes easier without editing site code, and the steps below use it. Before you set up event tracking in GTM, complete the initial integration between GA4 and your container.<\/p> <p>Your data layer is another important element. A data layer gives you a single source of data used across your tech stack, which increases accuracy and flexibility between your applications. For more, see our <a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layers\/\">complete guide to configuring your data layer<\/a>.<\/p> <h2 id=\"what-are-the-types-of-events-in-ga4\">What are the types of events in GA4?<\/h2> <p>There are four categories of events in GA4. Two are collected without extra code (enhanced measurement events when enhanced measurement is enabled), and two must be implemented.<\/p><figure class=\"r1-fig r1-diagram\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/D17.png\" alt=\"GA4&#x27;s four event types: automatically collected and enhanced measurement come by default. Recommended and custom need setup.\" width=\"960\" height=\"400\" loading=\"lazy\"><\/figure> <p><strong>Automatically collected events<\/strong> are tracked once the initial GA4 setup is done, with no extra steps. There are many of them, so a lot of users meet their needs without custom events. Examples on websites: <code>session_start<\/code>, <code>first_visit<\/code>, <code>user_engagement<\/code>. (<code>ad_click<\/code> and <code>ad_impression<\/code> are app events.)<\/p> <p><strong>Enhanced measurement events<\/strong> are collected when enhanced measurement is enabled on your web data stream. On websites they are <code>page_view<\/code>, <code>scroll<\/code>, outbound <code>click<\/code>, <code>form_submit<\/code>, <code>file_download<\/code> and <code>view_search_results<\/code>. To turn them on or off: in the sidebar press Admin, under &#8220;Data collection and modification&#8221; click Data streams, click the desired data stream, then under enhanced measurement slide the switch to On to enable all options, or click the Settings symbol to select individual ones.<\/p> <p><strong>Recommended events<\/strong> must be implemented specifically, but because they are commonplace they have predefined names and parameters in GA4, so they are easier to add with the right context. Google publishes the full list. Examples: <code>generate_lead<\/code>, <code>login<\/code>, <code>purchase<\/code>, <code>add_payment_info<\/code>, <code>add_shipping_info<\/code>.<\/p> <p><strong>Custom events<\/strong> you create and implement yourself. Only create a custom event where no other type suits your purpose, because they take more effort and leave more room for error, and they do not appear in most standard GA4 reports, so you have to build custom reports to analyse them.<\/p> <h2 id=\"how-to-set-up-ga4-event-tracking-with-a-data-layer\">How to set up GA4 event tracking with a data layer<\/h2> <p>Setting up events with a data layer in use lets you create events and triggers that rely on data layer variables. This simplifies the process and keeps all your tags drawing on a single source of data. These steps use Google Tag Manager.<\/p> <ol class=\"steps\"><li><strong>Create a GA4 event tag.<\/strong> In Google Tag Manager, click Tags, then New, and name your event.<\/li><li><strong>Configure the tag.<\/strong> Select Google Analytics: GA4 event. Enter your GA4 Measurement ID and the event name (a recommended event name for predefined parameters, or a descriptive name for a custom event). In Event Parameters, add each parameter with a name on the left (such as <code>product_id<\/code> or <code>form_name<\/code>) and the matching data layer variable on the right.<\/li><li><strong>Create your trigger.<\/strong> In the event tag, click Triggering, click the plus symbol to add a trigger, name it, and in the event name field enter the data layer event that should fire the tag. Save.<\/li><li><strong>Preview and debug.<\/strong> Click Preview, go to a page where you can trigger the event, and confirm in the GTM preview pane that the correct event data is captured and sent to GA4 at the right time.<\/li><li><strong>Publish.<\/strong> Exit preview, click Submit, add a version name and description, and click Publish.<\/li><\/ol> <h2 id=\"how-to-set-up-ga4-event-tracking-without-a-data-layer\">How to set up GA4 event tracking without a data layer<\/h2> <p>Without a data layer, you enter the parameters you want to track manually and go through a longer trigger setup. It is still perfectly possible.<\/p> <ol class=\"steps\"><li><strong>Create a GA4 event tag.<\/strong> In Google Tag Manager, click Tags, then New, and name your event.<\/li><li><strong>Configure the tag.<\/strong> Select Google Analytics: GA4 event, enter your Measurement ID and event name, then in Event Parameters enter the parameters manually. Use Google&#8217;s predefined parameters (such as currency, value and discount) or create custom ones by typing a name and a static or dynamic value. Without a data layer, you can pass dynamic values with JavaScript variables or built-in GTM variables such as Page URL and Click Text.<\/li><li><strong>Create your trigger.<\/strong> In the event tag, click Triggering, add a trigger, name it, click Trigger Configuration, and set the trigger type to the interaction you want. For Page View triggers, choose All Page Views, or choose Some Page Views and set conditions on Page URL, Page Path, or Page Title using rules like &#8220;contains&#8221; and &#8220;equals.&#8221;<\/li><li><strong>Preview and debug.<\/strong> Click Preview, trigger the events on your site, and confirm the correct data is captured and sent to GA4.<\/li><li><strong>Publish.<\/strong> Exit preview, click Submit, add a version name and description, and click Publish.<\/li><\/ol> <h2 id=\"how-do-you-see-your-events-in-ga4\">How do you see your events in GA4?<\/h2> <p>Your events and their parameters appear in the Realtime and DebugView reports, which show data as events fire. The Events tab shows data about all tracked events on your site, and you can add event data to custom reports to understand how customers use your site. To confirm the right event data is captured before you rely on it, see <a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-accuracy\/\">data accuracy<\/a> and run a <a href=\"https:\/\/datatrue.com\/en\/resources\/tags\/what-is-a-tag-audit\/\">tag audit<\/a>.<\/p> <h2 id=\"ga4-event-tracking-and-data-privacy\">GA4 event tracking and data privacy<\/h2> <p>Google&#8217;s own policies prohibit sending personally identifiable information (PII), such as email addresses or phone numbers, to Google Analytics, so event tracking has to be set up to keep it out. A misconfigured tag or parameter can still send it. Whether a given setup is compliant with the GDPR, the CCPA, or other laws depends on the data involved, your configuration, and the jurisdiction, which is a compliance question rather than a setup one. For that, see the <a href=\"https:\/\/datatrue.com\/en\/resources\/privacy-compliance\/\">Privacy &amp; Compliance resources<\/a>.<\/p> <h2 id=\"use-datatrue-to-manage-your-tags-and-data-layer\">Use DataTrue to manage your tags and data layer<\/h2> <p>Setting up GA4 and GTM to track events can seem straightforward, but plenty can go wrong. DataTrue helps keep the data you collect accurate. It includes automated data layer testing for ongoing quality control, so the variables your tags rely on stay accurate, and a tag audit toolset for the overall health of your tags, with simulation tests, coverage tests, and validation maps. This guide pairs well with our <a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-ecommerce-setup\/\">GA4 ecommerce setup<\/a> guide, and DataTrue&#8217;s <a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layer-testing\/\">data layer testing<\/a> covers the ongoing checks.<\/p><figure class=\"r1-fig r1-shot\"><div class=\"r1-crop\" style=\"max-width:912px\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/journey-simulation-payload-crop.png\" alt=\"A DataTrue journey test reading what a GA4 page view sent: the event name, page name and measurement ID each pass their checks.\" width=\"912\" height=\"595\" loading=\"lazy\"><\/div><\/figure> <h2 id=\"confirm-your-events-fire-correctly\">Confirm your events fire correctly<\/h2><p>DataTrue tests the events on your live site and apps, checking each one fires with the right values, in each consent state. See how it works on the <a href=\"\/en\/platform\/web-analytics-testing\/\">web analytics testing<\/a> page.<\/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 GA4 event tracking?<\/summary><p>GA4 event tracking records specific user interactions, such as clicks, form submits, and purchases, in Google Analytics 4. You define events and their parameters with the Google tag (gtag.js) or Google Tag Manager, fire them from your data layer or manual variables, and confirm each event sends the right data.<\/p><\/details><details class=\"faq-item\"><summary>What are the four types of GA4 events?<\/summary><p>Automatically collected events, enhanced measurement events, recommended events, and custom events. The first two are collected without extra code (enhanced measurement events when it is enabled), recommended events use predefined names and parameters, and custom events you build yourself.<\/p><\/details><details class=\"faq-item\"><summary>Do you need Google Tag Manager for GA4 events?<\/summary><p>No. You can send GA4 events with the Google tag (gtag.js) or with Google Tag Manager. Tag Manager lets you configure event tags, parameters, and triggers without editing site code each time.<\/p><\/details><details class=\"faq-item\"><summary>Do you need a data layer for GA4 event tracking?<\/summary><p>No, but it helps. A data layer lets your events and triggers rely on a single, consistent source of data, which improves accuracy and is easier to maintain. Without one, you enter parameters manually and set up triggers with a longer process.<\/p><\/details><details class=\"faq-item\"><summary>How do you check a GA4 event is firing correctly?<\/summary><p>Preview in GTM and watch the Realtime and DebugView reports as you trigger the event, then confirm the values match what you expect. For ongoing assurance, automated testing checks each event fires with the right data on every key page.<\/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=\"#how-does-event-tracking-work-in-ga4\">How does event tracking work in GA4?<\/a><\/li><li><a href=\"#what-are-the-types-of-events-in-ga4\">What are the types of events in GA4?<\/a><\/li><li><a href=\"#how-to-set-up-ga4-event-tracking-with-a-data-layer\">How to set up GA4 event tracking with a data layer<\/a><\/li><li><a href=\"#how-to-set-up-ga4-event-tracking-without-a-data-layer\">How to set up GA4 event tracking without a data layer<\/a><\/li><li><a href=\"#how-do-you-see-your-events-in-ga4\">How do you see your events in GA4?<\/a><\/li><li><a href=\"#ga4-event-tracking-and-data-privacy\">GA4 event tracking and data privacy<\/a><\/li><li><a href=\"#use-datatrue-to-manage-your-tags-and-data-layer\">Use DataTrue to manage your tags and data layer<\/a><\/li><li><a href=\"#confirm-your-events-fire-correctly\">Confirm your events fire correctly<\/a><\/li><li><a href=\"#questions\">Questions<\/a><\/li><li><a href=\"#related\">Related guides<\/a><\/li><\/ol><\/div><div class=\"rail-links\"><p class=\"toc-label\">Related<\/p><ul><li><a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-layers\/\">What is a data layer?<\/a><\/li><li><a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-ecommerce-setup\/\">GA4 ecommerce setup<\/a><\/li><li><a href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-accuracy\/\">Data accuracy<\/a><\/li><li><a href=\"https:\/\/datatrue.com\/en\/resources\/tags\/what-is-a-tag-audit\/\">What is a tag audit?<\/a><\/li><\/ul><\/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\">Explainer<\/span><h3>What is a data layer?<\/h3><\/a><a class=\"tile\" href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-ecommerce-setup\/\"><span class=\"t-label\">Guide<\/span><h3>GA4 ecommerce setup<\/h3><\/a><a class=\"tile\" href=\"https:\/\/datatrue.com\/en\/resources\/analytics\/data-accuracy\/\"><span class=\"t-label\">Explainer<\/span><h3>Data accuracy<\/h3><\/a><a class=\"tile\" href=\"https:\/\/datatrue.com\/en\/resources\/tags\/what-is-a-tag-audit\/\"><span class=\"t-label\">Guide<\/span><h3>What is a tag audit?<\/h3><\/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 to set up GA4 event tracking with a data layer\",\"description\":\"How to set up GA4 event tracking in Google Tag Manager using a data layer.\",\"step\":[{\"@type\":\"HowToStep\",\"name\":\"Create a GA4 event tag\",\"text\":\"In Google Tag Manager, click Tags, then New, and name your event.\"},{\"@type\":\"HowToStep\",\"name\":\"Configure the tag\",\"text\":\"Select Google Analytics: GA4 event. Enter your GA4 Measurement ID and the event name, then in Event Parameters add each parameter name with its matching data layer variable.\"},{\"@type\":\"HowToStep\",\"name\":\"Create your trigger\",\"text\":\"In the event tag, click Triggering, add a trigger, name it, and enter the data layer event that should fire the tag. Save.\"},{\"@type\":\"HowToStep\",\"name\":\"Preview and debug\",\"text\":\"Click Preview, trigger the event on your site, and confirm in the GTM preview pane that the correct event data is sent to GA4 at the right time.\"},{\"@type\":\"HowToStep\",\"name\":\"Publish\",\"text\":\"Exit preview, click Submit, add a version name and description, and click Publish.\"}]}<\/script><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is GA4 event tracking?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"GA4 event tracking records specific user interactions, such as clicks, form submits, and purchases, in Google Analytics 4. You define events and their parameters with the Google tag (gtag.js) or Google Tag Manager, fire them from your data layer or manual variables, and confirm each event sends the right data.\"}},{\"@type\":\"Question\",\"name\":\"What are the four types of GA4 events?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Automatically collected events, enhanced measurement events, recommended events, and custom events. The first two are collected without extra code (enhanced measurement events when it is enabled), recommended events use predefined names and parameters, and custom events you build yourself.\"}},{\"@type\":\"Question\",\"name\":\"Do you need Google Tag Manager for GA4 events?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. You can send GA4 events with the Google tag (gtag.js) or with Google Tag Manager. Tag Manager lets you configure event tags, parameters, and triggers without editing site code each time.\"}},{\"@type\":\"Question\",\"name\":\"Do you need a data layer for GA4 event tracking?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No, but it helps. A data layer lets your events and triggers rely on a single, consistent source of data, which improves accuracy and is easier to maintain. Without one, you enter parameters manually and set up triggers with a longer process.\"}},{\"@type\":\"Question\",\"name\":\"How do you check a GA4 event is firing correctly?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Preview in GTM and watch the Realtime and DebugView reports as you trigger the event, then confirm the values match what you expect. For ongoing assurance, automated testing checks each event fires with the right data on every key page.\"}}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Home Resources Analytics &amp; Data Quality GA4 event tracking Analytics &amp; Data Quality \/ How-to guide How to Set Up GA4 Event Tracking DataTrue TeamUpdated September 2026 Summary GA4 event tracking is how you record specific user interactions, such as clicks, form submits, and purchases, in Google Analytics 4. You set it up by defining [&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-227769","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GA4 Event Tracking Setup: Custom Events &amp; GTM Guide | DataTrue<\/title>\n<meta name=\"description\" content=\"How to set up GA4 event tracking in Google Tag Manager, with and without a data layer, plus the four GA4 event types and how to confirm events fire correctly.\" \/>\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\/ga4-event-tracking\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GA4 Event Tracking Setup: Custom Events &amp; GTM Guide | DataTrue\" \/>\n<meta property=\"og:description\" content=\"How to set up GA4 event tracking in Google Tag Manager, with and without a data layer, plus the four GA4 event types and how to confirm events fire correctly.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/\" \/>\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:24:29+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=\"9 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\\\/ga4-event-tracking\\\/\",\"url\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/ga4-event-tracking\\\/\",\"name\":\"GA4 Event Tracking Setup: Custom Events & GTM Guide | DataTrue\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/#website\"},\"datePublished\":\"2026-10-06T16:11:29+00:00\",\"dateModified\":\"2026-10-06T16:24:29+00:00\",\"description\":\"How to set up GA4 event tracking in Google Tag Manager, with and without a data layer, plus the four GA4 event types and how to confirm events fire correctly.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/ga4-event-tracking\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/ga4-event-tracking\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/datatrue.com\\\/en\\\/resources\\\/analytics\\\/ga4-event-tracking\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/datatrue.com\\\/en\\\/datatrue-home-2026\\\/\"},{\"@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\":\"GA4 Event Tracking\"}]},{\"@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":"GA4 Event Tracking Setup: Custom Events & GTM Guide | DataTrue","description":"How to set up GA4 event tracking in Google Tag Manager, with and without a data layer, plus the four GA4 event types and how to confirm events fire correctly.","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\/ga4-event-tracking\/","og_locale":"en_US","og_type":"article","og_title":"GA4 Event Tracking Setup: Custom Events & GTM Guide | DataTrue","og_description":"How to set up GA4 event tracking in Google Tag Manager, with and without a data layer, plus the four GA4 event types and how to confirm events fire correctly.","og_url":"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/","og_site_name":"DataTrue","article_publisher":"https:\/\/www.facebook.com\/datatruedigital\/","article_modified_time":"2026-10-06T16:24:29+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":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/","url":"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/","name":"GA4 Event Tracking Setup: Custom Events & GTM Guide | DataTrue","isPartOf":{"@id":"https:\/\/datatrue.com\/en\/#website"},"datePublished":"2026-10-06T16:11:29+00:00","dateModified":"2026-10-06T16:24:29+00:00","description":"How to set up GA4 event tracking in Google Tag Manager, with and without a data layer, plus the four GA4 event types and how to confirm events fire correctly.","breadcrumb":{"@id":"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/datatrue.com\/en\/resources\/analytics\/ga4-event-tracking\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/datatrue.com\/en\/datatrue-home-2026\/"},{"@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":"GA4 Event Tracking"}]},{"@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\/227769","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=227769"}],"version-history":[{"count":4,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages\/227769\/revisions"}],"predecessor-version":[{"id":227898,"href":"https:\/\/datatrue.com\/en\/wp-json\/wp\/v2\/pages\/227769\/revisions\/227898"}],"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=227769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}