GA4 Channel Grouping Customization: Fix Misattributed Traffic Sources

GA4’s default channel grouping rules misclassify a frustrating amount of real-world traffic. Email campaigns get assigned to Direct. Affiliate traffic shows as Organic Search. Paid social appears as Referral. YouTube pre-roll shows as Unassigned. These misclassifications happen because GA4’s default rules are designed for a generic site and cannot know about your specific UTM conventions, […]
Meta Pixel Standard Events vs Custom Conversions: Which Drives Better ROAS

Meta gives advertisers two ways to define what counts as a conversion: standard events (ViewContent, AddToCart, Purchase) with their built-in semantic meaning, and custom conversions that filter standard events or website URL visits into more granular conversion definitions. Choosing the wrong approach for your business can cause Meta’s algorithm to optimize toward the wrong goal, […]
GA4 Funnel Analysis Without Explore Limits: BigQuery Approach

GA4’s Funnel Exploration report is powerful but caps at a maximum of 10 steps, applies sampling on high-traffic properties, and cannot be scheduled or automated. When you need to analyze a checkout funnel with 12 steps, run the same funnel weekly across different cohorts, or export results to a BI tool for further analysis, BigQuery […]
GTM Workspace Strategy: Managing Multiple Developers Without Breaking Production

GTM workspaces exist to let multiple people or teams make changes to the same container without overwriting each other’s work. But most organizations use workspaces wrong — they create a new workspace for every change, forget to publish old workspaces, accumulate unfinished changes in stale workspaces, or work exclusively in the Default workspace and create […]
Looker Studio Performance: Why Your Reports Load Slowly and How to Fix It

Looker Studio dashboards that took 3 seconds to load in development take 45 seconds in production. Reports that worked fine with one month of data time out with a full year. Executives complain about blank charts and spinning wheels. Looker Studio performance problems are common and fixable, but they require understanding how Looker Studio queries […]
GA4 Event Deduplication: When the Same Event Fires Twice

Event duplication is one of the hardest GA4 data quality problems to detect because duplicated events look identical to legitimate ones in standard reports. Revenue appears inflated by an amount that does not correspond to any obvious error. Conversion rates look suspiciously high. BigQuery queries reveal multiple identical events with the same user, timestamp, and […]
BigQuery GA4 LTV Calculation: Accurate Lifetime Value Without Sampling

GA4’s built-in Lifetime Value report is limited to 12 weeks of data and uses predicted LTV rather than actual purchase history. For accurate LTV calculations based on real transaction data across longer time horizons, BigQuery is the right tool. A well-built LTV model in BigQuery lets you segment users by acquisition cohort, calculate actual revenue […]
GA4 Conversion Paths Report: Multi-Touch Attribution Analysis

GA4’s Conversion Paths report (under Advertising → Attribution → Conversion paths) shows how different channels contribute to conversions across the full customer journey — not just the last click. Most advertisers look only at last-click attribution, which systematically undervalues top-of-funnel channels like Organic Search, Display, and Social that initiate journeys completed through Paid Search or […]
GTM Variable Types Explained: When to Use Lookup vs. Custom JavaScript

GTM has over 20 built-in variable types plus the ability to create custom JavaScript variables. Choosing the wrong variable type for a given situation creates fragile tracking implementations that break when page structure changes, require excessive maintenance, or fail silently on certain pages. This guide covers every major GTM variable type, the specific use cases […]
GA4 BigQuery Intraday Tables: Real-Time Data You Can Actually Query

GA4’s standard BigQuery export delivers the previous day’s data by around 9:00 AM UTC. For most analytics use cases, day-old data is fine. But for launch monitoring, live campaign management, or detecting tracking fires breaking in production, you need data faster. GA4’s intraday BigQuery export streams events into a separate intraday table throughout the day, […]