Loading tutorials…
Loading tutorials…
Connecting Looker Studio to a Sheet is the most flexible reporting workflow in the platform — and the easiest to break. This tutorial covers the structure rules that keep the connection stable for years.
Who this is forAnyone reporting on data that lives in Google Sheets — manual KPIs, CRM exports, finance summaries, custom metrics no native connector covers. Especially useful for hybrid dashboards that combine Sheets data with GA4 or Google Ads.
What you'll need
Step 1
Looker Studio expects a header row in row 1, data in rows 2+, and consistent column types. Restructure before connecting if needed.
Open the Sheet. Look at Row 1: every column must have a non-empty header (Looker Studio uses these as field names). No merged cells in the header.
Look at Row 2 onward: every row should be a complete record. No summary rows, no blank rows breaking up the data, no "Total" rows at the bottom.
Each column must have one consistent data type. A column mixing "100", "$100", and "100 USD" will be interpreted as text and break aggregations.
Dates: format consistently. Use yyyy-mm-dd (Format → Number → Date) for max compatibility. Stringly dates ("Jan 5") confuse Looker Studio.
Currency: store as raw numbers (100, not $100). Apply currency formatting in Looker Studio at the field level, not in the Sheet.
Step 2
Create → Data source → search "Google Sheets" → authorize → pick the spreadsheet → pick the sheet tab → confirm range.
In Looker Studio: Create → Data source. Search "Google Sheets."
Click the Google-authored Google Sheets connector. Authorize access.
On the picker screen, you'll see All items (recent), Shared with me, Open from URL. For Sheets owned by your account, find under All items. For Sheets shared with you, use Shared with me. For Sheets where you have view-only access via URL, use Open from URL.
Pick the spreadsheet. You'll see all tabs in the sheet listed. Pick the specific tab you want to report on. Most Sheets have a "Data" or "Raw" tab plus several derived tabs — connect to the raw data tab.
Range options: Use first row as headers (ON) and Include hidden cells (decide based on whether you want hidden rows in reports). Click Connect (top-right).
Step 3
In the field schema view, set each field to the correct data type (Date, Number, Currency, Text). Rename ambiguous columns.
After Connect, you'll see the field list. Each field has Name, Type, and Aggregation columns.
Click the type icon next to any field to change its data type. Date fields default to Date if formatted consistently in the Sheet; if not, you'll need to fix the Sheet formatting first.
Currency fields: change Type to Currency → pick the currency (USD, EUR, etc.). Looker Studio handles formatting in charts automatically.
Rename any column with an unclear name. "Col B" should never appear in field names — give it a meaningful name like "Monthly Revenue."
Hide columns you'll never report on (eye icon). Keeps the field picker clean when building charts.
Step 4
Set Owner's credentials for most marketing dashboards. Sheets refresh every 15 minutes — usually leave this default.
Save the data source. Click Edit Connection (or Resource → Manage added data sources → click the source) to access settings.
Credentials: Owner's for shared dashboards (most marketing dashboards), Viewer's for row-level-security scenarios.
Data freshness: Sheets defaults to 15 minutes — much faster than GA4 or Google Ads connectors. Usually correct.
If you have a Sheet that updates only once a day (e.g., overnight ETL load), set freshness to 12 hours to reduce unnecessary refresh API calls.
Important: changes to the Sheet structure (adding columns, renaming columns) require a manual refresh. Go to data source → Refresh fields → Apply.
Step 5
Create a throwaway report, drop in a table from the Sheet data, and validate row counts and totals match the source Sheet exactly.
Click Create Report from the data source. Looker Studio creates a new report with the Sheet source attached.
Add a Table chart. Set Dimension and Metrics to mirror the Sheet structure exactly. Add a Date range control if you have a date column.
Compare to the Sheet: open the Sheet in a separate tab. Row count in Looker Studio table should equal data rows in Sheet (minus header).
Add a Scorecard with the most important metric (e.g., Total revenue). Compare to SUM() of the same column in the Sheet. Should match exactly — no sampling on Sheet sources.
Any mismatch means a configuration issue: usually the range setting (you accidentally excluded rows) or a data type mismatch (numbers stored as text don't aggregate).
Step 6
Protect the header row and key columns from editing. Use named ranges. Document the Sheet's role as a Looker Studio data source.
In the Sheet: Data → Protect sheets and ranges → New range → Header row (1:1) → Set permissions → Only you can edit. Prevents teammates from accidentally renaming columns.
Create a named range for the data area (Data → Named ranges → "looker_data" pointing to A1:Z1000). If you later need to expand the range in the connector, update the named range instead of the connector config.
Add a row 1 comment or a top-of-sheet text block: "This sheet feeds the Acme Looker Studio dashboard. Do not rename columns, delete row 1, or insert rows above row 2."
Set up automatic backup: File → Make a copy → save to a folder named 'Looker Studio backups'. Schedule this manually weekly or via Apps Script. Recovers from accidental deletions.
Step 7
When you add a new column to the Sheet, refresh fields in the connector. When you delete a column, expect chart errors and fix proactively.
Add a new column to the Sheet (e.g., a new KPI). In Looker Studio: Resource → Manage added data sources → click the source → Refresh fields. The new column appears in the schema.
Apply the changes. Existing charts continue working; new charts can use the new field.
If you DELETE a column the dashboard uses, every chart referencing it shows "Configuration incomplete." Either re-add the column or update each affected chart to use a different field.
Best practice: NEVER delete a column. Hide it (right-click column → Hide column) in the Sheet, or move it to an archive tab. Then update the connector range to exclude it.
Document column changes in a "Schema log" tab in the Sheet — date, what changed, why. Pays off the first time something breaks and you need to trace the history.
Common mistakes
Connecting to a Sheet with no header row
What goes wrong: Looker Studio assigns generic names (Field 1, Field 2, etc.) to every column. You spend hours building charts with ambiguous fields, then have to rename everything when you add a header row later — and rebuild every chart that referenced the old field names.
How to avoid: Add a header row with clear column names BEFORE connecting. Five minutes upfront saves hours of rebuild work.
Storing currency as "$100" instead of 100
What goes wrong: Looker Studio reads the column as Text. Aggregations (SUM, AVG) fail. You can't build scorecards or trend lines. The dashboard is unusable until you clean the data — usually a 30-90 minute manual fix.
How to avoid: Store all numeric data as raw numbers. Apply formatting in Looker Studio at the field level (Type → Currency).
Mixed date formats in one column
What goes wrong: Half your dates are '2026-01-15' and half are 'Jan 15, 2026'. Looker Studio reads the column as Text. Time-series charts won't work. Date range filters don't filter anything.
How to avoid: Standardize the column: select column → Format → Number → Date → pick yyyy-mm-dd. Apply to every row. Re-refresh fields in Looker Studio.
Inserting "Total" rows at the bottom of the data
What goes wrong: Looker Studio sums everything including the Total row, double-counting. Your dashboard reports 2x actual revenue. Budget conversations get derailed for weeks before someone catches it.
How to avoid: Never put summary rows in the data range. Compute totals in Looker Studio scorecards instead. If you must have a Sheet-level total, put it in a separate "Summary" tab.
Not protecting the header row from edits
What goes wrong: A teammate renames 'Revenue' to 'Sales' in the Sheet. Every chart using 'Revenue' breaks immediately. You spend 30 minutes diagnosing before realizing the column rename was the cause — and another 30 minutes either updating every chart or reverting the Sheet.
How to avoid: Protect the header row: Data → Protect sheets and ranges → row 1 → only-you-can-edit. Five-second prevention.
No backup of the source Sheet
What goes wrong: Someone deletes the wrong rows or applies a bulk-edit that wrecks the data. There's no version history beyond 30 days for Sheets, and no way to restore. The dashboard is wrong until you manually re-enter the data — a 2-8 hour task.
How to avoid: Schedule weekly Sheet backups: manually via File → Make a copy, or automate with Apps Script. Restoration is then a 30-second copy-paste.
Recap
Done — what's next
How to set up Looker Studio and build your first report
Read the next tutorial
Hand it off
Sheet-based reporting is powerful but fragile. The connections break when someone touches the Sheet wrong. A specialist who maintains the structure, the backups, and the connector — and rebuilds when CRM/manual data changes — typically runs $200-400/mo at $14-16/hr.
See specialist rates
Default is 15 minutes — the fastest of any connector. If you have a Sheet that only updates once daily, set freshness to 12 hours to reduce unnecessary API calls and improve dashboard load time.
Read-only. Looker Studio reads from Sheets and never writes. If you need bidirectional sync (e.g., comments from dashboard back to source), you'll need a custom Apps Script setup or a third-party tool.
Sheets supports up to 10 million cells. Looker Studio performance starts degrading around 50K rows. For datasets larger than that, move to BigQuery (free for small workloads) and connect Looker Studio to BigQuery instead.
Three common causes: (1) chart-level filters are excluding rows, (2) row limit on the table (default 100 — change in Style tab), (3) date range control is filtering rows by a date column you didn't expect. Remove filters one at a time to isolate.
Looker Studio
Looker Studio is free and surprisingly powerful — but the first report is where most owners stall. This is the walk-through that gets you from blank canvas to a shareable dashboard without making the rookie structure mistakes you'll regret later.
Looker Studio
Data blending is the killer Looker Studio feature — combining GA4 + Google Ads in one chart, joining a Sheet to GA4, building cross-source ROAS calculations. It's also where most DIY users hit a wall. Here's the working model.
Looker Studio
Calculated fields are how Looker Studio goes from 'shows data' to 'answers questions.' The syntax is its own dialect — not SQL, not spreadsheet. This tutorial covers the formula patterns that pay for themselves in week one.
Looker Studio
Your dashboard worked yesterday. Today three charts show 'Configuration incomplete' and one shows numbers that look wrong. Here's the diagnostic sequence specialists run before changing anything.