How do I connect GA4 to Looker Studio?
Connect GA4 to Looker Studio via the native Google Analytics connector (fastest, zero SQL, covers 90% of use cases), the Google Analytics Data API connector (more flexible, same underlying API, same limits), or BigQuery (unlimited flexibility, requires GA4 BigQuery export, SQL knowledge, and additional cost).
The native connector is the right choice for standard reporting; BigQuery is the right choice when you hit cardinality walls, need custom sessionisation, or want data fresher than the GA4 UI. One critical limit: the native connector is capped at 1 million rows per chart — large properties with high-cardinality dimensions will silently truncate data if you aren't aware of this ceiling.
The three connection methods
Method 1 — Native Google Analytics connector
The default and simplest path. In Looker Studio: Add data source → Google Analytics → authorise → select your GA4 property and data stream.
What you get:
- All standard GA4 dimensions and metrics available as fields
- Custom dimensions and metrics you've registered in GA4 admin
- Data freshness matching GA4 standard reports (24–48 hours to settle)
- Automatic handling of sampling (Looker Studio applies its own sampling on large date ranges)
- No SQL required
Hard limits:
- 1 million row cap per chart — the single most important limit to know
- Cannot access raw event-level data — only aggregated dimensions/metrics
- Sampling kicks in on large date ranges — typically 500k+ sessions over 90+ day ranges on mid-market properties
- Custom channel groups are available from GA4 but may not update in real-time after changes
- Cardinality limits from GA4 flow through — high-cardinality dimensions like
page_titleorpage_pathcollapse to(other)past GA4's own limits
Best for: standard marketing dashboards, C-suite reporting, weekly/monthly performance reviews.
Method 2 — Google Analytics Data API connector
A separate connector option in Looker Studio that calls the GA4 Data API directly. Under the hood, it uses the same data as the native connector but exposes more configuration options:
- Explicit quota management visibility
- Better handling for scheduled reports (lower chance of timeout on large requests)
runReportandrunRealtimeReportendpoint access
In practice, most analysts use the native connector. The Data API connector is useful if you're building automated dashboards that run on schedules and hitting quota errors on the native connector.
Same limits apply: 1 million rows, no raw event data, sampling on large ranges.
Method 3 — BigQuery connector
Connect Looker Studio directly to your GA4 BigQuery export tables. This bypasses all GA4 API limits.
Setup requires:
- GA4 BigQuery export enabled (standard 24-hour export is free; streaming export is paid)
- A BigQuery project with the GA4 exported tables
- A Looker Studio data source using the BigQuery connector
- Either a direct table connection or a custom SQL query
What you unlock:
- No row limit — pull millions of rows if your query is efficient
- Raw event-level data — every event, every parameter, every user
- Custom sessionisation — define sessions your way
- Cross-source joins — blend GA4 events with CRM data, ad spend, or custom tables
- No GA4 API sampling — your query runs directly on BigQuery; sampling is in your control
The trade-off: cost. Every Looker Studio refresh triggers a BigQuery query. On-demand pricing is $6.25/TB scanned (2026). An unoptimised SELECT * on a year of data for a mid-market property can cost $30–$150 per dashboard load. Use materialised views, partition pruning, and caching to avoid this.
Critical: always set data freshness (caching) in the BigQuery connector to at least 12 hours for dashboard data. Looker Studio defaults to 12 hours unless you override it. Dashboards with 15-minute or 1-hour refresh intervals on raw GA4 BigQuery tables will generate substantial BigQuery bills.
The five most common configuration mistakes
Mistake 1 — Wrong date dimension
GA4 has three date-related dimensions: Date, Date Hour, and Event Date. Using the wrong one causes mismatches:
Date= the session date. Use for standard day-level reporting.Event Date= the specific date of an event. Use for event-level analysis.Date Hour= hourly granularity. Use for intra-day dashboards.
Mixing Date and Event Date in blended data sources is a common cause of row count mismatches.
Want to see which hidden implementation gaps are affecting your GA4 data quality?
Mistake 2 — Metric type mismatch (SUM vs AUTO)
When the native connector imports metrics, they arrive as type Auto. If you later create a calculated field that combines them, Looker Studio may apply the wrong aggregation. Always explicitly set aggregation type on custom metrics:
- Sessions → SUM
- Engagement rate → AVG
- Revenue → SUM
- Session duration → AVG
Leaving metrics as Auto works until you blend data sources — then Looker Studio may SUM engagement rates across data sources, producing numbers above 100%.
Mistake 3 — Connecting to the wrong reporting identity
GA4 has three reporting identities: Blended (default, uses User-ID + device ID + modelling), Observed (only consented, identified users), and Device-based (session-based, closest to Universal Analytics). The Looker Studio connector inherits whichever identity is active in the GA4 property's Admin settings.
If your property uses Blended identity and your stakeholders expect deterministic numbers, sessions in Looker Studio will be higher than what appears in some comparison sources. Set reporting identity explicitly in GA4 Admin before connecting.
Mistake 4 — Not setting data freshness correctly
Looker Studio data sources have a Data freshness setting (Edit data source → Data freshness). Options range from 1 hour to 12 hours for the native GA4 connector.
The default is 12 hours, which means dashboards show data up to 12 hours old. For daily reporting this is fine. For near-real-time dashboards, set to 1 hour — but understand GA4 standard reports are already 24–48 hours behind anyway, so setting freshness to 1 hour doesn't give you today's data.
For genuine near-real-time data, use the streaming BigQuery export + BigQuery connector with a short cache window. Not the native GA4 connector.
Mistake 5 — Property-level vs stream-level data
The native GA4 connector connects at the property level, combining all data streams (web + app). If you need stream-level reporting (web only, or a specific app), you must filter by Stream ID or Platform within your reports.
Failing to do this when you have both a web stream and an iOS app stream means your session counts, bounce rates, and engagement metrics blend app and web behaviour — which is rarely what you want for web-only marketing dashboards.
The production dashboard setup
For a standard GA4 marketing dashboard, this is the recommended setup:
Data source: Native GA4 connector
Property: Your GA4 property (not individual streams)
Date range control: Rolling 30 days as default, 12-month comparison
Filters applied at data source level:
- Platform = WEB (if web-only reporting)
- Exclude internal traffic (if not filtered at GA4 property level)
Key pages to build:
- Overview page — sessions, users, engagement rate, conversions, revenue. Time series + scorecard layout.
- Channel breakdown — sessions and conversions by session default channel group. Bar chart + table.
- Content — top pages by sessions, engagement rate, average engagement time. Table with sparklines.
- Conversions — key event counts by channel, device, geography. Three separate table charts.
- E-commerce (if applicable) — revenue by channel, product, transaction count.
Controls to include on every page:
- Date range picker (page-level)
- Segment selector (optional but useful for stakeholders)
BigQuery-connected dashboard setup
For properties with BigQuery export enabled and high reporting demands:
Connect this view in Looker Studio with 12-hour data freshness. The materialised view is refreshed automatically by BigQuery when the underlying tables update.
FAQ: Looker Studio + GA4: The Complete Connection Guide
What should a team validate first when looker studio + ga4: the complete connection guide appears?
How do I know whether the fix actually worked?
When should this become a full GA4 audit instead of a quick fix?
Related guides for Looker Studio + GA4: The Complete Connection Guide
Server-Side GTM Hosting Cost Benchmarks: Cloud Run vs Stape vs Self-Hosted (2026)
Server-side GTM hosting falls into three pricing models in 2026: Google Cloud Run (variable, starts at ~€120/month for 3 minimal servers, scales to €240–€300 for higher traffic, plus optional logging fees), managed providers like Stape (fixed monthly: €20/month for 500k requests…
Server-Side GTM vs Client-Side GTM: A Decision Matrix (2026)
Move to server-side GTM if you (1) need Conversions API integrations with Meta, Google Ads, TikTok, or LinkedIn for offline-conversion match quality (the strongest single justification — typical 9–24% conversion lift)…
Run a GA4 audit before looker studio + ga4: the complete connection guide spreads into reporting decisions
Use GA4 Audits to surface implementation gaps, broken signals, and the next fixes to prioritize before the issue becomes harder to trust or explain.