Skip to content

GA4 bronze catalog and warehouse modeling

Skipprd's GA4 source lands daily fact grains in bronze via the Data API runReport. Each namespace is one stable dimension set; rollups, pivots, and channel summaries belong in the warehouse (dbt or SQL).

This is not the GA4 BigQuery export (event-level raw). Use a separate future source for event-level hoovering.

Bronze → warehouse examples

Bronze namespaceExample warehouse outputs
google_analytics.audience_dailySite-wide DAU, sessions, engagement KPIs
google_analytics.audience_retention_dailyWAU / 28-day active users (metrics already on date grain)
google_analytics.traffic_acquisition_dailyChannel summary, source/medium rollups
google_analytics.traffic_campaign_dailyPaid campaign performance
google_analytics.user_acquisition_dailyNew user acquisition by channel
google_analytics.events_dailyWeekly event trends (group by week in SQL)
google_analytics.content_pages_dailyTop pages, landing page analysis
google_analytics.geo_dailyCountry / region / city dashboards
google_analytics.demographics_*_dailyAge, gender, interest, language breakdowns
google_analytics.ecommerce_items_dailyProduct-level revenue (requires ecommerce enabled)
google_analytics.publisher_ads_dailyAd unit performance (requires linked Ads)

Accuracy knobs (do not conflate)

SettingRole
replace_partition on dateRewrite each calendar day’s partition when metrics change
lookback_daysRe-pull recent mature days Google may revise
processing_lag_daysSkip syncing the trailing edge while GA4 is still incomplete
window_in_daysDays per API dateRanges chunk; default 1 to limit sampling

Recommended operations: scheduled skipprd sync with defaults; raise lookback_days for long attribution windows — not window_in_days > 1.

See Google Analytics (GA4) input and Source landing semantics.

This site is source-available under PolyForm Shield 1.0.0