Skip to content
    Back to Tips & Tricks
    Data Integrity49

    Missing GA4 Event Parameters Silently Skew Revenue Metrics

    Written by Viktor KvantSenior Web AnalystMay 23, 20262 min read

    When value, currency or item_id is missing on some purchase events, revenue and conversion figures drift. Test parameter completeness in dbt.

    The raw GA4 BigQuery export is powerful, and that power requires strict governance of event parameters. When an analysis is debugged, the root cause is often a parameter missing on a subset of events. That is not an analytical problem but a data integrity problem, and ideally it is caught before the data reaches the warehouse.

    Consider common e-commerce calculations: average order value, item-level revenue or conversion rates for specific products. All depend on parameters such as value, currency and item_id being present on purchase and add_to_cart events. If value is missing 5% of the time, or item_id is not sent for one product category, models either drop those events and underreport, or produce skewed aggregates. The symptom is usually a gap between reported revenue and actual sales, followed by investigations in the wrong place.

    The damage spreads through the pipeline. Once raw events are incomplete, every transformation, dashboard, attribution model and causal analysis built on them is unreliable. A/B tests can come out non-significant because the metric is underreported, and machine learning models train on incomplete data and produce biased predictions.

    Prevention starts with treating the event schema with the same rigour as a production database schema: a naming convention, plus a defined set of required parameters for each key event, such as purchases, form submissions and content views.

    Detection belongs early in the dbt pipeline. Data contract tests built with packages such as dbt_expectations can assert the presence and type of each required parameter. Simple frequency checks in BigQuery also surface anomalies quickly, for example COUNTIF((SELECT COALESCE(value.double_value, value.float_value, value.int_value) FROM UNNEST(event_params) WHERE key = 'value') IS NULL) over purchase events, tracked per day. Collection designed around a strict, self-defined schema, in which required parameters are enforced before data is sent, prevents many of these gaps from occurring at all.

    Reliable raw data is a basic requirement for credible analytics, not an advanced feature. Time spent defining, validating and enforcing data contracts is repaid every time a decision rests on the numbers.

    Author

    Viktor Kvant

    Senior Web Analyst specialising in data ownership, advanced tracking implementations, and translating data into strategic business value.

    Connect on LinkedIn