Reference library
Pillars covering the entire tracking stack. Everything is versioned and dated — implementations rot, so we say when each page was last verified.
Concepts
How web tracking actually works
A first-principles tour of the data flow behind every analytics hit — from a user action to a row in a warehouse — and the seams where implementations break.
updated 2026-07-18AI referral traffic: classifying clicks from ChatGPT, Perplexity, and friends
Humans arriving from AI assistants are real, growing, and mis-bucketed into Referral, Organic, or Direct by default. The referrer signatures to match, a ready-to-paste GA4 custom channel group, the Adobe/CJA equivalent, and the dark-traffic caveat.
updated 2026-07-11Attribution fundamentals: models, biases, and what attribution cannot tell you
Position-based versus algorithmic attribution, the systematic biases each model carries, and why incrementality testing — not a better model — answers the causal question.
updated 2026-07-11Channel grouping: how traffic gets classified
How source, medium, campaign, and referrer collapse into marketing channels — the first-match waterfall behind GA4 and Adobe, and the structural reasons the two never agree.
updated 2026-07-11Events and schemas: the data model under every analytics tool
Events, properties, and schemas — what an analytics event actually is, how property scoping works, and why a tracking plan is the only durable defense against taxonomy drift.
updated 2026-07-11GEO measurement: tracking AI citations without fooling yourself
Generative Engine Optimization is drowning in unverifiable advice. What you can actually measure — citation tracking with a defensible methodology, the crawl-to-citation funnel — and the claims no honest measurement supports.
updated 2026-07-11Measuring AI crawler traffic in your server logs
GPTBot, ClaudeBot, PerplexityBot and the rest never show up in client-side analytics. How to measure AI crawlers from server and CDN logs, verify them against spoofing with IP lists, rDNS, and TLS fingerprints, and what robots.txt can and cannot do about them.
updated 2026-07-11Server-side tracking: architecture, benefits, and the tradeoff
Client versus server collection, how sGTM and Conversions API architectures actually work, what moving server-side fixes — and the blocker-circumvention tradeoff stated plainly.
updated 2026-07-11Sessionization: how analytics tools construct sessions
Sessions are computed, not collected. How GA4, Adobe Analytics, and warehouse pipelines each decide where a session begins and ends — and why their counts never reconcile exactly.
updated 2026-07-11Platforms
Adobe Analytics and CJA: variables, processing rules, and the XDM migration
A working reference for Adobe Analytics implementations — eVars, props, and events; processing rules; AppMeasurement vs Web SDK — and what actually changes when you move to Customer Journey Analytics on XDM.
updated 2026-07-11GA4 implementation deep-dive: events, exports, and the gotchas in between
How GA4 actually works under the hood — the event model, gtag vs GTM deployment, the BigQuery export, thresholding and sampling behavior, and Consent Mode — with the failure modes that bite real implementations.
updated 2026-07-11Google Tag Manager: container architecture, dataLayer discipline, and the classic footguns
How to run a GTM web container that stays auditable — container and workspace architecture, dataLayer rules that prevent race conditions, consent initialization order, and the failure modes every implementer eventually meets.
updated 2026-07-11Segment as a CDP: the spec, the routing model, and when the warehouse wins
How Segment actually works — the track/identify spec, sources and destinations, Protocols governance, identity resolution — and a clear-eyed look at when a warehouse-first architecture beats the classic CDP pattern.
updated 2026-07-11Snowplow: the schema-first event pipeline you run yourself
How Snowplow works end to end — trackers, collector, enrichment, and warehouse loaders — why Iglu schemas come before instrumentation, and what warehouse-native modeling means for the team that owns it.
updated 2026-07-11Pipelines
BigQuery for web analytics: working with the GA4 export
The GA4 BigQuery export gives you every raw event — in a nested schema with sharded tables and per-scan billing. How the events_* tables work, how to unnest parameters, and how to keep queries cheap.
updated 2026-07-11dbt for web events: from raw hits to sessionized marts
How to model raw web event streams with dbt — the staging/marts layering, incremental strategies that survive late-arriving GA4 data, a sessionized fact table, and the tests that catch tracking breakage before stakeholders do.
updated 2026-07-11CDP & Activation
Seeding in progress — entries land here as the reference fills out.
Tool guides
Compare attribution models on your own paths: last click to Markov and Shapley
Compare attribution models on your own conversion paths — last click, position-based, time-decay, Markov removal effect, and Shapley — free and in-browser.
updated 2026-07-18Decode analytics beacons: read GA4, Adobe, and Meta Pixel hits in plain English
Paste a GA4, Universal Analytics, Adobe Analytics, or Meta Pixel request into a free client-side decoder and see every parameter explained in plain English.
updated 2026-07-18Decode a TCF or GPP consent string: what the Consent / CMP Checker actually reads
Decode IAB TCF v2.2 consent strings and GPP headers into plain-English purposes and vendor consents, and read a page's live consent signals. 100% client-side.
updated 2026-07-18What is this cookie? Classify any cookie by vendor and purpose with the Cookie Scanner
Paste any cookie set and get vendor and purpose for each name — analytics, advertising, session replay, consent — classified locally against 85 built-in rules.
updated 2026-07-18How Much Do Tracking Tags Slow Your Site? Estimate the Core Web Vitals Cost
Estimate the Core Web Vitals cost of tracking tags — transfer weight, main-thread time, and LCP/INP risk bands — from a tag list or a real page's resources.
updated 2026-07-18Validate a GTM dataLayer against a JSON Schema — free, in-browser
Paste a GTM/GA4 dataLayer and validate every event against a JSON Schema. Catches missing required keys, bad enums, and type mismatches — fully client-side.
updated 2026-07-18Is Your Browser Sending GPC? Test Your Global Privacy Control Signal
Test whether your browser sends the Global Privacy Control (GPC) signal, see legacy Do-Not-Track flags, and learn how to enable GPC — free, fully client-side.
updated 2026-07-18Audit a GTM container export: find paused tags, Custom HTML, and missing consent settings
Paste an exported Google Tag Manager container JSON into a free client-side explorer to audit paused tags, Custom HTML, missing consent, and unused config.
updated 2026-07-18See inside an Adobe Launch container: every rule, data element, and extension from _satellite
Free client-side explorer for Adobe Launch (Adobe Tags): pull the _satellite container from any page and browse every rule, data element, and extension locally.
updated 2026-07-18How to hash emails and phone numbers for Enhanced Conversions, Customer Match, and Meta CAPI
Free client-side tool that normalizes and SHA-256 hashes emails and phone numbers to Google Enhanced Conversions, Customer Match, Meta CAPI, and GA4 rules.
updated 2026-07-18Find every tracking pixel on a page: scan tags from a HAR file or bookmarklet
Scan any page's network requests for analytics, ad, and social tags. Free client-side tool detects 52 vendor signatures and extracts pixel and property IDs.
updated 2026-07-18Is Your Ad Blocker Actually Working? Test It Against 12 Real Trackers
Test whether your ad blocker actually blocks trackers: a free client-side tool that probes 12 real analytics, ad, social, and session-replay endpoints.
updated 2026-07-18UTM builder with governance built in: validate campaign URLs, not just generate them
Build, bulk-generate, and validate UTM campaign URLs against an open standard — controlled medium vocabulary, campaign-name pattern, PII checks, CSV export.
updated 2026-07-18