Google Analytics 4 Connector
Sync standard Google Analytics 4 reports across acquisition, traffic, events, ecommerce, demographics, and technology into your data warehouse.
Evaluating against Fivetran? See how Supaflow handles Google Analytics 4 pricing, connector quality, and Snowflake deployment side-by-side.
Supaflow vs FivetranWhy Supaflow
All connectors included
Every connector is available on every plan. Pricing does not increase with connector count.
Pay for compute, not rows
Credit-based pricing. Usage scales with your pipelines, not with row counts.
One platform
Ingestion, dbt Core transformation, reverse ETL, and orchestration in a single workspace.
Capabilities
OAuth or Service Account Authentication
Connect with Google sign-in (OAuth) or upload a Google Cloud service account JSON key. OAuth is the recommended path: some Google Workspace tenants reject the service-account email when you try to add it as a Viewer on the GA4 property, and OAuth avoids that workflow entirely. The connector requests a single read-only scope (analytics.readonly) and never writes back to GA4.
Daily Incremental Sync, 50 Standard Reports
All 50 standard GA4 reports sync incrementally on a date cursor. After the initial backfill, each scheduled run fetches the new date range plus the prior cursor day (because GA4 Data API date ranges are inclusive), with the upper bound capped at yesterday so Supaflow does not land unstable intraday data.
Configurable Lookback for Late-Arriving Data
GA4 reprocesses sessions and key-event attribution after a day closes. Set Lookback Period (in seconds) to re-fetch a trailing window on each sync so late-arriving hits and attribution remodelling are picked up. Common values are 1 day, 7 days, or 90 days; the default is 0 for deterministic incremental runs.
Rolling 2-Year Backfill by Default
Leave Start Date blank and the initial sync defaults to a rolling 2-year window from today, which avoids burning API quota on years of empty days for properties created after GA4 launched. Set Start Date explicitly when you want a different starting point.
Custom Reports for Property-Specific Dimensions
Declare additional reports beyond the 50 standard ones via the Custom Reports JSON field. Each custom report becomes its own destination table and is validated against your property at save time so missing dimensions or metrics fail loud, not silent. Up to 20 custom reports per source.
One Property per Source
Each Supaflow source connects to a single GA4 property. Run multiple GA4 properties by creating one source per property, which keeps quota and access scoping clean.
Supported Objects
Standard reports (incremental)
User acquisition (8 reports)
First-user breakdowns by default channel group, medium, source, source/medium, source platform, campaign, Google Ads ad-network type, and Google Ads ad-group name.
Traffic acquisition (6 reports)
Session breakdowns by source/medium, medium, source, campaign, default channel group, and source platform.
Events and conversions (2 reports)
Event counts and key-event counts by event name.
Pages and screens (4 reports)
Page views and engagement broken down by page title + screen class, page path + screen class, page title + screen name, and content group.
Ecommerce purchases (9 reports)
Purchase metrics broken down by item name, item ID, item category levels 1 through 5, item brand, and in-app purchases.
Publisher ads (4 reports)
Ad-revenue metrics broken down by ad unit, page path, ad format, and ad source.
Demographics (7 reports)
User counts and engagement by country, region, city, language, age bracket, gender, and brand affinity interest.
Technology (10 reports)
User counts and engagement by browser, device category, device model, screen resolution, app version, platform, OS version, platform + device category, operating system, and operating system with version.
Custom reports
Up to 20 custom reports per source
Declare additional GA4 Data API reports via the Custom Reports JSON field. Each custom report becomes its own destination table on top of the 50 standard ones.
Not yet supported
Realtime Reporting API, BigQuery Export, audience export, funnel reports, cohort reports, pivot reports, raw event-level / user-level data, Admin API resources, multi-property syncs in one source
Not exposed by the connector today. Email support@supa-flow.io with the surface you need -- expansion is prioritized by customer demand.
How It Works
Find your GA4 property ID
In Google Analytics, open Admin and select the property you want to sync. The numeric property ID is the value after properties/ in the URL (for example 123456789). It is not the Measurement ID that starts with G- and not the stream ID.
Choose an authentication method
OAuth is the recommended path. Click Authorize in the Supaflow source wizard, sign in with a Google account that has at least Viewer access on the GA4 property, and Supaflow stores the resulting refresh token. Service account auth is also supported but some Google Workspace tenants block adding service accounts to GA4 properties at the workspace policy level; in that case use OAuth.
Grant Viewer access on the property
Open GA4 Admin > Property Access Management and add the principal (the Google account that will complete OAuth, or the service account client_email from the JSON key file) with Viewer access. The connector is read-only; Viewer is the minimum required role.
Configure optional sync settings
Set Start Date (YYYY-MM-DD) to override the default rolling 2-year backfill, or leave it blank. Optionally set Lookback Period (seconds) to re-fetch a trailing window of already-synced days each run. Optionally provide Custom Reports JSON to add reports beyond the 50 standard ones.
Test and save
Click Test & Save. Supaflow verifies access by reading the GA4 property metadata and validates any custom reports against the property. If access is denied or a custom report references a dimension or metric the property does not expose, the save fails with a specific error.
Use Cases
Marketing performance reporting in the warehouse
Land acquisition and traffic reports alongside ad-spend data from your ad platforms to compute blended CAC, channel ROI, and source-medium attribution in dbt, with all data co-located in your warehouse.
Ecommerce and publisher revenue reconciliation
Pull the ecommerce purchases and publisher ads report families into your warehouse to reconcile GA4-reported revenue against Stripe, Shopify, or your ad-network payout reports, and to model item-level margins by category and brand.
Modeled product analytics in your warehouse
Snapshot the GA4 standard report set into your warehouse so analytics teams can join GA4 outputs with CRM, billing, and product data, model engagement and acquisition trends in dbt, and own the underlying tables alongside the rest of the stack instead of querying through the GA4 UI.
Frequently Asked Questions
What does Supaflow sync from GA4?
Does the connector support raw event-level GA4 data or BigQuery Export?
Why does the connector use a date-level cursor?
Can one source sync more than one GA4 property?
What permissions does the authenticating account or service account need?
Why does my service account get rejected when adding it as a Viewer?
How does Supaflow handle GA4 API quotas?
Can I run the GA4 pipeline natively inside Snowflake?
Need a connector we don't support yet?
Build one with AI-powered Connector Dev Skills.
Learn More About the Connector SDK