E-Commerce Source Attribution: Differences Between Live API and BigQuery Export in GA4 Auditor

The GA4 Auditor offers two reports for e-commerce source attribution:

  1. Live API Report (under “Live API Checks > E-Commerce > Source Attribution”)
  2. BigQuery Export Report (under “BigQuery Export > E-Commerce > Source Attribution”)

Both reports analyze the same question: Which marketing channels can be attributed to e-commerce transactions? Nevertheless, they show different values in practice. This article explains why these differences arise and how to interpret them correctly.


Overview: Comparing the two reports

PropertyLive API ReportBigQuery Export Report
Data SourceGA4 Data APIBigQuery raw data
Field for attributionsessionDefaultChannelGroupsession_traffic_source_last_click
Data freshnessNear real-timeDaily + Intraday combined
Attribution statusCan change 24-72h after eventFinalized at the time of export
Classification“Direct” summarizes several categoriesGranular differentiation possible
Use caseQuick overviewDetailed error analysis

The data sources in detail

Live API Report: GA4 Data API

The Live API Report in GA4 Auditor retrieves data via the official GA4 Data API. This API:

  • Provides pre-aggregated report data, as it also appears in the GA4 interface
  • Uses the dimension sessionDefaultChannelGroup for channel assignment
  • Automatically applies Google’s standard channel grouping rules
  • Takes into account subsequent attribution corrections by Google (e.g., conversion modeling)

The report shows the proportion of transactions that could be assigned to a source (“Assigned”) versus the proportion without a clear assignment (“Direct / Unassigned”).

BigQuery Export Report: Raw Data Analysis

The BigQuery Export Report analyzes the event-level raw data directly in BigQuery. The GA4 Auditor uses:

  • The field session_traffic_source_last_click.cross_channel_campaign.default_channel_group for the channel
  • Additional fields such as source, medium, campaign for deeper analyses
  • A combination of Daily Export (events_*) and Intraday Export (events_intraday_*)

The report differentiates between different problem categories, enabling targeted error analyses.


Why the values differ: Technical reasons

1. Different Attribution Fields

The most fundamental difference lies in the data fields used:

Live API Report:

sessionDefaultChannelGroup (Dimension of the Data API)

BigQuery Export Report:

session_traffic_source_last_click.cross_channel_campaign.default_channel_group

Although both fields should provide the same information, they differ in processing:

  • The Data API uses Google’s internally processed and enriched data
  • The BigQuery Export contains the values “frozen” at the time of export
  • The Data API may contain subsequent corrections through Google Ads conversion modeling

2. The 72-Hour Attribution Delay

Attribution in GA4 is not static. It can change up to 72 hours after the event:

Reasons for subsequent attribution changes:

  1. Google Ads Conversion Modeling: Google uses machine learning to attribute conversions even with cookie blocking or cross-device journeys
  2. Data Processing Pipeline: Google’s backend processes data in batches, with attribution calculations occurring with a time delay
  3. Consent Mode Modeling: For users without tracking consent, GA4 models the likely source

Practical impact in the GA4 Auditor:

  • The Live API Report shows the current attribution, which may still change
  • The BigQuery Export Report shows the attribution finalized at the time of export

For data from the last 24-72 hours, the Live API Report may therefore show more “Direct”, while the BigQuery Report (after finalization) shows a better assignment.

3. Classification of “Direct” and “Unassigned”

The reports classify problematic attribution differently:

Live API Report – Broad Definition:

The report summarizes the following under “Direct / Unassigned”:

  • Direct
  • (direct)
  • (not set)
  • Unassigned
  • (other)

This summary provides a quick overview of the proportion of unassigned transactions.

BigQuery Export Report – Granular Differentiation:

The report differentiates between:

  • Assigned (attributed_ok): Transaction has a clear channel
  • Direct without session_start: Technical problem – the session_start event is missing
  • Direct with Referrer: Suspicious – a referrer is present, but the channel is “Direct”
  • Direct with GCLID: Possible cross-domain problem – a Google Ads Click-ID is present
  • Unassigned / (not set): Channel could not be assigned

This differentiation enables targeted error analyses and shows where tracking problems can be resolved.

4. Intraday vs. Daily Export in the BigQuery Report

The GA4 Auditor combines both export types in the BigQuery Report:

Daily Export (events_YYYYMMDD):

  • Data is exported approximately 24-48 hours after the end of the day
  • Attribution is finalized at the time of export
  • This data no longer changes

Intraday Export (events_intraday_YYYYMMDD):

  • Data is available in near real-time
  • Attribution values are preliminary
  • Tables are deleted after completion of the Daily Export

Deduplication logic in the GA4 Auditor:

-- Simplified representation
WITH combined AS (
  SELECT *, 'daily' as source FROM events_*
  UNION ALL
  SELECT *, 'intraday' as source FROM events_intraday_*
)
SELECT * FROM combined
QUALIFY ROW_NUMBER() OVER (
  PARTITION BY event_name, event_timestamp, user_pseudo_id
  ORDER BY CASE source WHEN 'daily' THEN 1 ELSE 2 END
) = 1

Daily data is preferred. Intraday data is only used for time periods that have not yet been finalized.


Typical discrepancies and their interpretation

ObservationLikely causeRecommendation
Live API shows more Direct than BigQueryAttribution not yet finalized (72h delay)Analyze period without last 72h
BigQuery shows a lot of “Direct without session_start”session_start event is not triggeredCheck tracking implementation
BigQuery shows “Direct with Referrer”Referrer exclusion list incompleteCheck GA4 property settings
BigQuery shows “Direct with GCLID”Cross-domain tracking problemCheck linker configuration
Large differences in Google Ads AttributionConversion modeling only in Data APIPrefer Data API for Ads analysis

Recommendations for using both reports

When to use the Live API Report?

  • Quick overview: Current status of attribution at a glance
  • Daily monitoring: Recognize trends (with awareness of 72h delay)
  • Google Ads Analysis: Contains the modeled conversions

When to use the BigQuery Export Report?

  • Detailed error analysis: What kind of problems exist?
  • Tracking debugging: Why are transactions not assigned?
  • Historical analyses: Finalized data for consistent time series

Best Practices

  1. Keep time periods comparable: Compare both reports only for time periods that are at least 72 hours in the past
  2. Use both reports in a complementary manner:
    • Live API for a quick overview
    • BigQuery for deep debugging
  3. Use debug queries: The BigQuery Report offers copy-&-paste queries for detailed analyses in the BigQuery console
  4. Note the information boxes: Both reports show information about the data source and its limitations

Conclusion

The differences between the Live API Report and the BigQuery Export Report in the GA4 Auditor are not a mistake, but the result of different data sources and processing times. Both reports have their justification:

  • The Live API Report shows the current Google attribution and is ideal for quick overviews
  • The BigQuery Export Report enables granular error analyses and shows where tracking problems specifically lie

For a complete attribution analysis, it is recommended to combine both reports: The Live API Report identifies whether a problem exists. The BigQuery Export Report shows what kind of problem it is and how it can be resolved.

Similar Posts