Google Analytics 4 to BigQuery

Google gives every GA4 property a free BigQuery export of raw events, and for many teams that is the right place to start. Weld syncs something different: daily GA4 report tables, such as traffic by channel, campaign and page, next to your ad, CRM and revenue data, with lookbacks that keep recent days in line with GA4.

4.8 on G2
Google Analytics 4Source
WeldWeld
Google BigQueryWarehouse

Checked against Weld and vendor docs on

Weld · New sync
Google Analytics 4SourceGoogle Analytics 4Connected
Tables to sync
  • channel_traffic15 cols
  • campaign_performance15 cols
  • page_path13 cols
  • events_overview10 cols
  • audience_overview11 cols
  • social_media_acquisitions15 cols
  • Extract
  • Load
  • Keep in sync
Google BigQueryDestinationGoogle BigQueryReady
google_analytics_4 dataset
  • google_analytics_4.channel_trafficSynced
  • google_analytics_4.campaign_performanceSyncing
  • google_analytics_4.page_pathSynced
  • google_analytics_4.events_overviewSynced
  • google_analytics_4.audience_overviewSynced
  • google_analytics_4.social_media_acquisitionsSynced
Google Analytics 4 tables
7
fields, typed
93
agent context included
MCP

Trusted by data and AI teams

  • Flatpay
  • Holafly
  • eComplete
  • Dishoom
  • Danish Endurance
  • Female Invest
  • Son of a Tailor
  • Onomondo
  • Medik8
  • Pas Normal Studios
Options

Three ways to get GA4 data into BigQuery

Google has two native paths, and both are worth checking first. The GA4 export gives you event-level data; the BigQuery Data Transfer Service and Weld both load aggregated reports. Which one fits depends on whether you need raw events or report numbers that match the GA4 interface.

G

GA4 BigQuery export (native link)

Best for
Raw, unsampled event and user-level data
Effort
Low: link the property to a Google Cloud project
Freshness
Daily, or streaming within minutes
Good to know
No fee for the link itself; BigQuery storage and query costs apply. Standard properties are capped at 1 million events a day for the daily export, and Google pauses the export if a property keeps exceeding it. Streaming has no event limit and costs $0.05 per GB.
B

BigQuery Data Transfer Service for GA4

Best for
Report-level GA4 tables inside Google Cloud
Effort
Low: configure a transfer in the console
Freshness
Daily, refresh window of 4 days by default
Good to know
Google lists GA4 among the connectors with no transfer charge. One custom report per transfer, at most 9 dimensions and 10 metrics, and custom dimensions and metrics are not supported.

Weld

Best for
GA4 reports alongside ads, CRM and revenue data
Effort
Low: authorise, pick reports, choose a schedule
Freshness
Incremental syncs on your schedule, with lookbacks
Good to know
7 pre-built report tables plus up to 20 custom reports. Each sync re-fetches recent days so figures GA4 revises later are overwritten.
How it works

How to sync Google Analytics 4 to Google BigQuery with Weld.
In the app, with the API or an agent.

Weld · Data warehouse
Google BigQueryData warehouseGoogle BigQueryConnected
Data locationChosen when you connect
CredentialsService account or key, stored encrypted
Schema

What lands in Google BigQuery
Every Google Analytics 4 table, keys intact.

Weld's GA4 schema has 7 daily report tables. Each row is one property, one day and one value of the report's dimension, so they work as building blocks for marketing reporting rather than as raw events.

Open the schema explorer
  • channel_traffic15 columns
    • property_idstring
    • session_default_channel_groupingstring
    • datedate
    • total_usersdouble
    • sessionsdouble

    Users, sessions, engaged sessions, conversions and revenue per day by default channel grouping. The usual starting point for channel reporting.

  • campaign_performance15 columns
    • property_idstring
    • session_campaign_namestring
    • datedate
    • total_usersdouble
    • sessionsdouble

    The same metrics split by session campaign name. Join to ad platform spend on campaign name and date to compare cost with GA4 outcomes.

  • page_path13 columns
    • property_idstring
    • page_pathstring
    • datedate
    • screen_page_viewsdouble
    • total_usersdouble

    Views, users, new users, conversions and revenue per page path per day. Useful for content and landing page reporting.

  • events_overview10 columns
    • property_idstring
    • event_namestring
    • datedate
    • event_countdouble
    • total_usersdouble

    Event counts, users and revenue per event name per day. A daily summary of events, not the event-level rows the native export gives you.

  • audience_overview11 columns
    • property_idstring
    • datedate
    • total_usersdouble
    • new_usersdouble
    • sessionsdouble

    Daily totals for users, new users, sessions, sessions per user and page views for the property.

All 7 tables
  • campaign_performance
  • channel_traffic
  • social_media_acquisitions
  • browser_and_operating_system_overview
  • page_path
  • audience_overview
  • events_overview
Example query

Monthly sessions, engagement rate and revenue by channel.
In Google BigQuery SQL.

Runs in BigQuery against the channel_traffic table Weld lands, here in a dataset named ga4. Engagement rate is recomputed from sums rather than averaged, and users are left out because daily user counts cannot be added up across days.

Google BigQuery · query
1select2  date_trunc(c.date, month) as month,3  c.session_default_channel_grouping as channel,4  sum(c.sessions) as sessions,5  round(safe_divide(sum(c.engaged_sessions), sum(c.sessions)), 3) as engagement_rate,6  sum(c.conversions) as conversions,7  round(sum(c.total_revenue), 2) as revenue8from ga4.channel_traffic as c9group by month, channel10order by month desc, sessions desc
Weld MCP server

Ask your agent.
It queries Google BigQuery for you.

Connect Claude, Cursor, ChatGPT or your own agent to Weld over MCP. It reads the Google Analytics 4 context, finds the tables it needs and runs the query in Google BigQuery.

Claude CodeOpus 5
>

How many campaign_performance rows do we have in Google BigQuery?

Reading the Google Analytics 4 context first, so the query uses the right tables and keys.

●weld·search_available_references
⎿raw.google_analytics_4.campaign_performance
+ 6 more Google Analytics 4 tables
●weld·get_reference_schema
⎿campaign_performance · 15 columns
columns and types
●weld·run_query
⎿select count(*) from {{raw.google_analytics_4.campaign_performance}}
submitted
●weld·get_query_status
⎿DONE
●weld·get_query_result
⎿rows returned
✓Answered from Google Analytics 4 data in Google BigQuery
>Ask about your Google Analytics 4 data
Under the hood

Things to know.
Before you sync Google Analytics 4.

Report tables and the native export answer different questions
Weld syncs GA4 through the Analytics Data API, which returns aggregated reports. If you need individual events, user journeys or event parameters, use Google's native BigQuery export; you can run both and keep them in separate datasets.
GA4 revises recent days
Google Analytics keeps processing data after the day ends. By default each Weld sync also overwrites the past 24 hours and the full days 7 and 30 days ago. Custom lookbacks replace those defaults with the day offsets you pick.
User counts do not add up across days
total_users is a distinct count for each row's day and dimension value, so summing it over a month counts returning users more than once. Sum sessions, events and revenue freely; treat user totals over longer periods with care.
Not every dimension and metric combination is valid
Custom reports must include date and can only use combinations the GA4 Data API accepts. Check a combination in Google's GA4 Dimensions and Metrics Explorer or Query Explorer before you build the report.
Rate limits are shared across your Google account
Google Analytics applies global rate limits across your account. If other tools use the same limits, syncs can slow down; Weld throttles its GA4 syncs once usage reaches 80% of the limit, and the initial sync can be slower than later ones.
FAQ

Common questions.
About Google Analytics 4 to Google BigQuery.

Start syncing Google Analytics 4 to Google BigQuery.

Set up your Google Analytics 4 data pipeline in minutes. No credit card required. Free for 14 days.

Google Analytics 4Source
WeldWeld
Google BigQueryWarehouse