Unlock the power of Google Analytics with Big Query

GA4 vs Universal Analytics: Key Differences in BigQuery Export

One of the most powerful features in web analytics is exporting raw data into BigQuery for deep analysis. Both Universal Analytics (UA) and Google Analytics 4 (GA4) support BigQuery, but they do it in very different ways.

If you’re a data analyst, engineer, or marketer working with BigQuery, understanding how GA4 and UA differ can save you hours of confusion — and open up new opportunities for advanced analytics.


Availability: Free vs Paid
FeatureGA4Universal Analytics (UA)
BigQuery Export✅ Free for all GA4 properties❌ Only available with GA360 (paid version)

With GA4, BigQuery export is included for free, even for standard properties — a huge win for small teams and startups.

In contrast, Universal Analytics only offered BigQuery export with GA360, which cost ~$150,000/year, making it inaccessible for most users.


Data Structure & Schema

Universal Analytics BigQuery Schema is session-based:

GA4 BigQuery Schema is event-based:

Pros of GA4 Schema: Easier for streaming, more flexible for analysis
Cons: Requires more effort to recreate session-level reporting


Export Frequency & Latency
FeatureGA4UA (GA360)
Export FrequencyDaily (standard) or Streaming (paid)Daily
Export Latency~24 hours (daily), real-time (streaming)~24 hours

GA4 allows daily export by default, and streaming export if you’re using GA4 360.

UA GA360 offered only daily exports, and you needed to wait ~24 hours for your data to land.


Session & Traffic Source Attribution

In Universal Analytics, sessions and traffic sources were clearly available in the export as structured fields.

In GA4, it’s trickier:

📌 Tip: Use session_start + traffic_source.name/medium/source in user_properties or event_params to align attribution.


Custom Dimensions & Parameters

GA4 is much more flexible, allowing arbitrary key-value pairs — but:


Data Volume & Cost Considerations

GA4 exports more granular data (event-level), which means:

📉 In UA, fewer rows were exported (1 row per session), so costs were typically lower.

💡 Tip: Use partitioning (_TABLE_SUFFIX), clustering, and preview mode to reduce BigQuery costs when working with GA4 exports.


SQL Querying: What’s Different?

Here’s a basic comparison:

✅ GA4 queries are more powerful, but also require deeper SQL skills.

UA-style query:

SELECT
  fullVisitorId,
  visitId,
  hits.page.pagePath
FROM
  `project.dataset.ga_sessions_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20220101' AND '20220131'

GA4-style query:

SELECT
  user_pseudo_id,
  event_name,
  event_timestamp,
  ep.value.string_value AS page_path
FROM
  `project.dataset.events_*`,
  UNNEST(event_params) AS ep
WHERE
  ep.key = 'page_location'
  AND _TABLE_SUFFIX BETWEEN '20230101' AND '20230131'

Final Thoughts

GA4 and BigQuery are a match made for modern analytics. While it has a steeper learning curve than Universal Analytics, the benefits are well worth it. You get free access to granular event data. Additionally, it offers cross-platform tracking.

If you’re just starting out:

BigQuery in GA4 is not just a tool — it’s your gateway to data science, machine learning, and advanced segmentation.

Discover more from GA4 BigQuery

Subscribe now to keep reading and get access to the full archive.

Continue reading