Insights from the
analytics world.
Tips, guides, and updates to help you get more out of Google Analytics and Tag Manager. Written by people who run audits for a living.

GTM Data Layer Variable Returns “undefined”? The Complete Fix
GTM Data Layer Variable returning undefined? The real causes — timing, Version 1 vs 2, key mismatches, merge behavior — and the fix for each.

GTM Tag Firing Twice? Why It Happens and How to Stop Duplicate Events
GTM tag firing twice? Overlapping triggers, duplicate GA4 config tags, and SPA history triggers — the real causes, and the fix for each.

GA4 "Unassigned" Traffic: What Causes It and How to Fix It
GA4 marking traffic Unassigned? It means no channel rule matched — usually a missing session_start or a UTM medium GA4 doesn't recognize. Here's the fix.

GA4 Purchase Event Firing Twice on Shopify? Root Causes and the Real Fix
Duplicate purchase events in GA4 on Shopify usually mean two tracking methods fired for the same order — here's how to confirm it and fix it.

GA4 add_to_cart / begin_checkout Not Firing on Shopify? Here's Why
GA4 add_to_cart not firing on Shopify? The sandboxed Web Pixels API is why, plus the exact custom pixel fix for add_to_cart and begin_checkout.

GA4 Custom Dimension Showing (not set)? Every Cause and Fix
GA4 custom dimension showing (not set)? The real causes — registration timing, name mismatches, wrong scope — and the fix for each.

GA4 Revenue Doesn't Match Shopify? Every Cause, Ranked by Likelihood
Why GA4 revenue doesn't match Shopify, ranked from most to least likely: tag placement, consent, ad blockers, refunds, test orders, and duplicates.

GTM Tag Not Firing? The Complete Diagnostic Checklist (All Causes)
GTM tag not firing? The complete diagnostic checklist — trigger mismatches, paused tags, consent blocking, exceptions — ranked by frequency.

session_start Missing in GA4: Why It Happens and What It Breaks
session_start missing in GA4 usually isn't one bug. Consent timing, Measurement Protocol hits, tag sequencing, and timezone bucketing can each cause it.

AI Traffic in GA4: How ChatGPT, Perplexity, Gemini & Google AI Mode Referrals Actually Show Up
Does GA4 show Google AI Mode as a referrer? How ChatGPT traffic actually shows up, and how to track AI traffic in GA4 without guessing.

Google Ads vs GA4 Conversions Don't Match: Every Reason, In Order
Why Google Ads and GA4 conversions don't match: conversion timing, attribution models, double-counting, and consent modeling, ranked by impact.

GA4 Traffic Dropped Suddenly? Diagnose It in 15 Minutes (Decision Tree)
GA4 traffic dropped suddenly? A 15-minute decision tree for zero vs. partial drops, with the exact report path to confirm each cause.

How Much Does a GA4 Audit Cost? Real Price Ranges for 2026
A GA4 audit costs $0 (DIY) to $8,000+ (agency). Real ranges for freelance consultants, agencies, DIY hours, and automated tools — and what drives the price.

The Best GA4 Audit Tools in 2026: An Honest Comparison
An honest comparison of GA4 audit tools: ga4auditor.com, GAfix, ObservePoint, Verified Data, Littledata, Analytify, consultants, DIY — and where we lose.

Analyze GA4 with AI: MCP Setup for Claude & Cursor (and Where ChatGPT Fits)
MCP lets Claude, ChatGPT, and Cursor query your analytics data — but not the same way. Here's Google's own server, ours, and the honest limits of each.

GA4 Google Signals: What It Does, Why It Causes Thresholding, and When to Disable It
Google Signals enables cross-device reporting and demographic data — but it also triggers data thresholding that silently hides rows in your reports. Here's how to tell if Signals is causing your '(other)' problem, and when the right call is to turn it off.

GTM Consent Mode v2 Setup: The Correct Implementation from Default to Update
Most Consent Mode implementations have at least one silent gap — the wrong trigger for the default, missing v2 consent types, or no cookie restore for returning visitors. Here's the GTM-specific setup that gets every step right.

GA4 Funnel Exploration: How to Build a Conversion Funnel Analysis (Step by Step)
GA4's Funnel Exploration shows where users drop off in a multi-step process — but only if you configure the steps correctly. Here's how to build an open vs. closed funnel, choose the right step events, use trended view, and read segment overlap to understand why users abandon.

GA4 Custom Events: When to Use Them, How to Structure Them, and What Google Actually Recommends
GA4 has 300+ recommended events. Here's how to know when you genuinely need a custom event, how to name and structure it correctly, and the mistakes that create a messy event schema.

GTM Preview Mode: How to Read the Tag Assistant Panel and Debug Implementations Before They Go Live
GTM's Preview mode shows you exactly which tags fired, which didn't and why, and what your variables returned — before any of it reaches live traffic. Here's how to read every panel and the 5 things most users never check.

GTM Tag Firing Options: Once per Event, Once per Page, Unlimited — and Why It Matters for Conversions
GTM's default firing option is Unlimited — which means a purchase confirmation page that reloads will double-count conversions. Here's how the three firing options work, when to use each, and the practical recommendations for every tag type on a typical ecommerce stack.

GA4 Audiences: What They Are, How to Build Them, and 5 Mistakes That Break Membership
GA4 Audiences are dynamic membership lists that power Google Ads remarketing, predictive segments, and Explorations analysis. Most teams use two. Here's how all five builder types work, the three primary use cases, and the five silent mistakes that shrink your lists.

GTM Workspaces: What They Are, How They Work, and 4 Practices That Keep Containers Clean
A GTM workspace is your draft environment before publishing — but most teams either ignore them or accumulate stale ones that block new work. Here's how workspaces interact with versions, the 3-workspace limit, and 4 practices for clean container management.

GA4 Default Channel Grouping: How the 18 Channels Work and Why 'Unassigned' Happens
GA4's channel grouping sorts every session into Organic Search, Paid Social, Email, and 15 more buckets — but only if your UTM parameters match the exact rule strings. A single miscased medium silently routes traffic to Unassigned. Here's how the rules work and how to fix it.

GA4 UTM Parameters: All 7 Parameters, How They Work, and Common Mistakes
UTM parameters connect your marketing spend to GA4 conversions — but only if formatted correctly. GA4 added 3 new parameters (utm_id, utm_source_platform, utm_creative_format), and a single casing mistake silently breaks Channel Grouping. Here's the full guide.

GTM Container Versions: How Versioning Works and the Right Publishing Workflow
Every GTM publish creates a version — your audit trail and rollback system. But most teams publish directly to Live with no version name, no description, and no preview. Here's the correct workflow and how to use version history to diagnose when tracking broke.

GA4 BigQuery Export: Setup, Schema, and 5 Essential SQL Queries
GA4's BigQuery export gives you every event, unsampled, in SQL. No row limits, no session caps, joinable with any other dataset. Here's how to enable it, how the event_params schema works, and 5 queries every analyst should run on day one.

GTM Variables: A Guide to the 6 Most Useful Custom Types
Variables are the 'what' in GTM — they capture the values your tags send to GA4. Without the right variables, tags fire but send nothing useful. Here are the 6 most important custom variable types with real ecommerce and tracking examples.
GA4 Ecommerce Tracking: Setup, Events, and Common Mistakes
GA4 ecommerce requires a specific dataLayer schema — any deviation silently breaks your funnel reports and undercount revenue. Here's the 6 required events, the correct purchase event structure, the GTM implementation, and the 5 mistakes that cause most problems.

GTM Triggers: A Complete Guide to All 8 Types (with Examples)
Triggers are the 'when' in Google Tag Manager. Get them wrong and conversions never fire — or fire on every page. This guide covers every trigger type, when to use each, and the 5 mistakes that cause most tracking problems.

GA4 Filters vs Segments: What Each Does and When to Use Which
GA4 has two ways to narrow data: Filters (permanent property-level exclusions) and Segments (temporary Exploration filters). Using the wrong one permanently deletes data or means running reports by hand. Here's the full difference.

GA4 Data Sampling: What It Is, When It Triggers, and How to Work Around It
GA4 samples in Explorations but NOT in standard reports. Here's what triggers sampling, the 10-million event threshold, and the three practical workarounds — including when BigQuery export is worth the setup.

GA4 Account, Property, and Data Stream: Understanding the 3-Level Hierarchy
GA4 removed Views and replaced them with Data Streams — but they're not the same thing. Here's what Account, Property, and Data Stream each control, how to structure multiple sites correctly, and what happened to the View layer.

GTM Server-Side Container: What It Is, When to Use It, and How to Set It Up
Standard GTM loads third-party JavaScript in the browser. Server-side GTM moves that work to a server you control — so you decide what data each vendor sees. Here's the architecture, the real benefits, and the setup walkthrough.

GA4 Engagement Rate vs Bounce Rate: What Changed and How to Use Both
GA4 replaced UA's bounce rate with engagement rate — but bounce rate still exists, and it's exactly 100% minus engagement rate. Here's what each measures, why direct UA comparisons are misleading, and how to find low-engagement pages worth fixing.

GA4 and Looker Studio: Connection Setup and 5 Dashboards Worth Building
GA4's built-in reports can't combine data sources or share interactive views. Looker Studio (free, made by Google) solves both. Here's the connection setup, the data model, and 5 dashboards that actually tell you something.

How to Set Up GA4 from Scratch: The Complete Step-by-Step Guide
GA4's 'works out of the box' Enhanced Measurement gives a false sense of completeness. Here's the full setup: property creation, tracking code, data retention (change this immediately), internal traffic filters, key events, custom dimensions, and Google Ads linking.

How to Debug GA4 Events: DebugView and Tag Assistant
Events not showing up? DebugView shows what GA4 received in real time. Tag Assistant intercepts the raw request before it reaches Google. Together they give you a complete debug stack for any GA4 implementation.

GA4 Goals Are Gone: How Key Events Work in 2026
Universal Analytics Goals don't exist in GA4. They've been replaced by a two-step system: Events (every user action) and Key Events (the ones you mark as conversions). Here's the direct translation from UA Goals to GA4, including the migration path.

Google Tag Manager: A Complete Beginner's Guide
GTM lets you manage every tracking pixel and analytics tag from one web interface — without touching code for every change. Here's how tags, triggers, variables, and the data layer actually work, plus step-by-step setup.

GA4 Key Events vs Conversions: What Changed and Why It Matters
In March 2024, Google renamed 'conversions' to 'key events' in GA4 — but the change means more than cosmetics. Here's the real difference between GA4 key events and Google Ads conversions, and what you actually need to update.

GA4 Channel Groupings: How They Work and Why Traffic Gets Misclassified
GA4 sorts every session into channel buckets like Organic Search, Paid Social, and Email. When UTMs are missing or wrong, traffic ends up as (direct) or Unassigned. Here's exactly how GA4's classification rules work and how to fix misattributed traffic.

GA4 Custom Reports: What Replaced Them and How to Use Both
GA4 doesn't have Custom Reports the way UA did. What you're looking for is split across two tools: modified standard reports (via the Reports Library) and Explorations. This guide clarifies which one you need and how to use each.
GA4 Tracking for Shopify: The Complete Setup Guide (2026)
Shopify's native GA4 pixel auto-tracks some events but silently misses others — and conflicts with GTM-based setups can cause duplicate purchase reporting. Here's how to get Shopify and GA4 working correctly together.
GA4 Tracking for WooCommerce: Setup, Common Issues, and Fixes
WooCommerce gives you more control than Shopify's sandboxed checkout — but that control means more ways to get GA4 tracking wrong. Here's the correct setup, the 5 most common issues, and how to fix them.

GA4 Explorations: Complete Guide to All 5 Exploration Types
GA4 Explorations replace Custom Reports with a more powerful — and more intimidating — analysis tool. This guide covers all five exploration types (free-form, funnel, path, segment overlap, cohort) and when to use each.
GA4 for SaaS: The Event Model, User Properties, and Common Mistakes
Standard GA4 setup misses most of what matters for SaaS products. Here's the event naming schema, user properties, cross-domain config, and the 5 tracking mistakes that leave your product funnel invisible.

GA4 × GTM: The 3 Bugs That Live Between Them (And Why Your Revenue Reports Are Lying)
The most expensive tracking bugs don't live inside GA4 or inside GTM — they live in the gap between them. Three cross-product checks every team should run: measurement ID drift, key event coverage gaps, and duplicate tag firing — plus honest notices when a container is too large to analyse or its audit has gone stale.

Google Analytics Audit: How to Audit GA4 Step by Step (2026)
Step-by-step: how to do a Google Analytics audit, covering GA4's 3 most common configuration errors, a complete checklist, and when to run one.

Consent Mode v2: What It Is, Why It's Required, and How to Implement It
Google made Consent Mode v2 mandatory for EU advertising in March 2024. Yet most implementations are v1-only (missing ad_user_data and ad_personalization) or have defaults firing too late. Here's the complete setup guide — GTM steps, verification checks, and the 4 mistakes that break it.

Top 10 GA4 Misconfigurations That Are Silently Ruining Your Data
Automate your GA4 setup checklist to catch the top 10 GA4 setup mistakes and misconfigurations before they impact your data quality.

Why GA4 Thresholding Is Ruining Your Reports (And How to Fix It)
Fix GA4 thresholding applied (other) in reports and learn how to disable Google Signals thresholding to stop data from going missing in explorations.

The Ultimate Guide to GTM Server-Side Tagging
Bypass ITP with a complete GTM server-side tagging setup guide. Learn how first party cookies via GTM improve tracking accuracy.

Stop Using Custom HTML Tags for Facebook Pixel
Install the Meta Pixel via GTM community template and upgrade your tracking using the Facebook Conversions API (CAPI) through Google Tag Manager.

How to Set Up GA4 BigQuery Export (Step-by-Step)
How to set up your GA4 BigQuery daily export to access your GA4 raw un-sampled data. Includes a breakdown of GA4 BigQuery pricing.

GA4 Enhanced Measurement: What to Disable (and Why)
Learn exactly which GA4 enhanced measurement events to disable to fix the GA4 duplicate scroll events bug and stop tracking automatic outbound clicks.

GA4 Custom Dimensions: The Complete Guide
Master event-scoped vs user-scoped custom dimensions in GA4. Learn how to correctly register GA4 event parameters for custom item-scoped data.

Data Layer Best Practices: Stop Pushing Messy Objects into GTM
Google Tag Manager dataLayer push best practices. Learn how to properly structure custom event pushes and build an ecommerce schema dataLayer for GA4.
GA4 Cross-Domain Tracking: Setup, Testing, and Common Pitfalls
How to configure GA4 cross-domain tracking properly to fix GA4 sessions breaking across domains. Includes a robust methodology to test your cross-domain setup.

GTM Naming Conventions That Actually Scale
Adopt agency standard GTM naming conventions for scale. Organize messy GTM containers using strict tag, trigger, and variable naming rules.
The Complete GA4 Ecommerce Tracking Checklist
Easily validate your GA4 ecommerce tracking schema via GTM. Troubleshoot missing ecommerce parameters in GA4 and debug begin_checkout and purchase events.

Why Your GA4 Audiences Aren't Populating (And How to Fix Them)
Discover why GA4 audiences are not populating (showing zero users). Master GA4 audience builder troubleshooting and fix Google Ads audience sync delays.

PII Leaks in GTM: How to Find and Fix Them Before Google Does
How to find and block PII leaks in Google Tag Manager. Use a custom javascript PII stripper GTM variable to redact email query parameters from landing in GA4.

GA4 Data Retention: Why You're Losing Historical Data (Default = 2 Months)
Need to change GA4 data retention from 2 to 14 months? Find out why your GA4 exploration deletes data after 60 days and how to lock in maximum data expiration.
GTM Trigger Groups: Advanced Multi-Condition Tracking
Master advanced GTM tracking with trigger groups. Learn how to sequence triggers in GTM and fire tags only after multiple complex conditions are simultaneously met.

GA4 Marketing Attribution Models Explained: Which One Should You Use?
A complete guide to GA4's two attribution models — data-driven and last click — plus the four models Google retired in 2023, and when to switch from the default.

GA4 DebugView: How to Test & Verify Events in Real-Time (4 Methods)
Learn how to use GA4 DebugView to test real-time events. Discover why events are not showing in debug view and how the GA4 debugger extension works.

How to Set Up Internal Traffic Filters in GA4 (Don't Skip This)
Exclude internal IP address traffic in GA4 to keep your numbers clean. Create a developer traffic filter and test the internal traffic state effectively.
GA4 Not Tracking? The Complete Troubleshooting Checklist
Troubleshooting GA4 zero data: why is nothing tracking at all? Fix measurement ID missing errors and bypass gtag.js being blocked by adblockers.

GA4 Bounce Rate vs Engagement Rate: What Actually Changed (And Why It Matters)
Compare GA4 engagement rate vs legacy bounce rate. Learn what is a good engagement rate and how to improve engaged sessions across your key landing pages.

GA4 UTM Parameters Not Showing? Fix Your Campaign Tracking
Fix broken GA4 UTM parameters showing as Direct/None. Troubleshoot missing campaign tracking in GA4 due to aggressive query parameter dropping.
GA4 Event Tracking Without Writing Code: The GTM Visual Guide
Create and modify GA4 events without GTM or code. Use the GA4 interface event creation feature to trigger off a page_view event name seamlessly.

GTM Preview “No Tags Found / No Debuggable Google Tags”: How to Fix It
Getting “No tags found. No debuggable Google tags at that address” in GTM Preview? Every cause — including two Shopify-specific ones — and the fix.

GA4 Landing Page Report: How to Find and Fix Your Worst Performers
How to build a useful landing page report in GA4. Stop struggling with the standard missing report and learn to filter landing pages by session easily.

GA4 Regex: Filter Syntax, Builder Rules & RE2 Examples (Complete Guide)
The complete GA4 regex guide: RE2 syntax rules, copy-paste filter patterns for reports and audiences, and a free tester to validate your pattern first.

GA4 Session Timeout Settings: Default 30 Minutes and When to Change It
GA4's session timeout defaults to 30 minutes. Here's when to change it, how it affects attribution, and the engaged-session timer most teams never touch.

GTM Variables Explained: Built-In, User-Defined, and Data Layer
The complete guide to Google Tag Manager variables. Extract a DOM element text using a custom Javascript variable or grab a URL query variable in seconds.

GA4 Conversions Not Counting? Here's Why (And How to Fix It)
Fix GA4 key events (conversions) not tracking properly. Find out why your GA4 conversions dropped to zero and troubleshoot a broken purchase event.
To go with the reading.
The writing explains why. These tools help you do. No signup required.
Build campaign tracking URLs that work in GA4's channel grouping.
Every configuration check before calling your setup done.
Test RE2 regex patterns for GA4 and GTM in the browser.
Generate a production-grade Consent Mode v2 scaffold — free.
Full GA4 ecommerce spec with GTM triggers and platform code.
Paste a URL, get a complete GA4 tracking plan with dataLayer payloads.
No fluff, ever.