Google Looker Studio for Data Analysts
Free, browser-based BI — connecting data sources, calculated fields, data blending, community visualisations, and sharing live reports.
Power BI and Tableau both require desktop software, licences, and organisation-level infrastructure to share reports with stakeholders. Looker Studio requires none of that. It runs entirely in a browser, connects natively to every major Google product, and shares reports the same way you share a Google Doc — with a link.
For freelancers, small business analysts, digital marketers, and anyone working with Google Ads, Google Analytics, or Google Sheets data, Looker Studio is often the fastest path from raw data to a stakeholder-ready live dashboard. It is also completely free — no Pro licence, no per-seat cost, no data gateway to configure.
This chapter covers Looker Studio from the first report to advanced techniques — data blending, calculated fields, community visualisations, dynamic date controls, and best practices for dashboards that stay maintainable.
Why Looker Studio Belongs in Every Analyst's Toolkit
Looker Studio Interface: Key Concepts
Looker Studio organises everything into three layers: Data Sources (where data comes from), Reports (the visual canvases you build), and Explorers (quick ad-hoc analysis on a single data source). For most analyst work, you will spend your time in Reports.
LOOKER STUDIO BUILDING BLOCKS
Data Source
└── Connects to: Google Sheets, BigQuery, GA4, Ads, CSV upload,
MySQL/PostgreSQL (via Partner Connectors), 800+ third-party sources
└── Defines field types (Dimension vs Metric) and calculated fields
└── Can be shared across multiple reports (Reusable) or report-only
Report
└── One or more Pages (like slides or tabs)
└── Each page contains Components:
├── Charts (bar, line, pie, scatter, geo map, table, gauge…)
├── Scorecards (single KPI values)
├── Controls (date range picker, filter dropdowns, search box)
├── Text / Image / Shapes (static design elements)
└── Embed (YouTube, Google Sheets, external URL)
Viewer Mode → read-only, can interact with filters/date controls
Edit Mode → full canvas editing, add/remove componentsConnecting Data Sources
Google Sheets (most common for analysts)
1. In a new report, click "Add data" → Google Sheets 2. Select your spreadsheet and sheet tab 3. Looker Studio auto-detects: - Text columns → Dimension (blue) - Number columns → Metric (green) - Date columns → Date dimension IMPORTANT: Your Sheet should have headers in Row 1 with no merged cells. If Looker Studio misidentifies a column type, click the field in the Data Source editor and change the type manually. Date format Looker Studio reads correctly: YYYY-MM-DD → Date YYYYMMDD → Date (set type to "Date" manually) DD/MM/YYYY → may need type override — verify
BigQuery (for larger datasets)
1. Add data → BigQuery → select project → dataset → table 2. Looker Studio queries BigQuery live — no extract needed 3. For large tables, add a date range filter at report level to limit the data scanned (BigQuery bills per TB scanned) 4. Custom Query option: write your own SQL to pre-aggregate before display -- Example custom BigQuery query for Looker Studio: SELECT DATE_TRUNC(order_date, MONTH) AS month, region, SUM(revenue) AS total_revenue, COUNT(DISTINCT customer_id) AS unique_customers FROM `project.dataset.orders` WHERE order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 12 MONTH) GROUP BY 1, 2
CSV Upload (no Google account needed for the data)
Add data → File Upload → upload CSV → Creates a static snapshot (does NOT auto-refresh) → Good for one-off reports or data that doesn't change → For live data, use Google Sheets instead and import the CSV there
Calculated Fields
Calculated fields in Looker Studio work at the data source level (available to all charts) or at the chart level (available only to that chart). Chart-level fields are faster to create; data source-level fields are reusable.
Arithmetic and Conditional
// Profit margin Revenue - Cost // Margin % (Revenue - Cost) / Revenue // Classify sessions by bounce rate CASE WHEN Bounce_Rate > 0.7 THEN "High Bounce" WHEN Bounce_Rate > 0.4 THEN "Medium" ELSE "Low Bounce" END // Flag orders above threshold IF Revenue > 50000 THEN "Large Order" ELSE "Standard" END // Safe division (avoid divide-by-zero) IF Sessions = 0 THEN 0 ELSE Conversions / Sessions END
Date and Text Functions
// Extract year from a date field
YEAR(Order_Date)
// Month name
FORMAT_DATETIME("%B", Order_Date) -- "January", "February"...
// Quarter label
CONCAT("Q", QUARTER(Order_Date)) -- "Q1", "Q2"...
// Week number
WEEK(Order_Date)
// Days since order
DATE_DIFF(TODAY(), Order_Date)
// Clean and combine text
UPPER(TRIM(Region))
CONCAT(First_Name, " ", Last_Name)
// Extract domain from email
REGEXP_EXTRACT(Email, r'@(.+)')Running Totals and Period Calculations
// Running total — use a Table chart with these settings: // Add Revenue as a metric → right-click → "Show cumulative values" // Period-over-period % change — use date comparison: // Report → Edit → Date range → Comparison date range → Previous period // Looker Studio adds % change automatically to Scorecards and Tables // Cohort-style: days since first event DATE_DIFF(Event_Date, First_Visit_Date)
Data Blending: Combining Multiple Sources
Data blending lets you join two data sources on a shared key within a single chart — without writing SQL or leaving Looker Studio. It works like a LEFT JOIN: all rows from the primary source appear, and matching rows from the secondary source are joined in.
EXAMPLE: Blend Google Ads spend with revenue from Google Sheets Primary source: Google Ads (Campaign, Impressions, Clicks, Cost) Secondary source: Google Sheets (Campaign, Revenue, Conversions) Join key: Campaign (must be the same values in both sources) Result in one table: Campaign | Impressions | Clicks | Cost | Revenue | ROAS HOW TO SET UP: 1. Add both data sources to your report 2. Click a chart → in the Data panel, find "Blend Data" 3. Choose primary source, add secondary, set the join key 4. Select metrics from each source — Looker Studio joins them automatically LIMITATIONS: - Only LEFT JOIN (no inner, right, or full outer) - Join key must match exactly (case-sensitive — use LOWER() on both sides) - Aggregation happens before the join — you cannot join row-level data - Max 5 sources per blend
Controls: Making Reports Interactive
Controls are the interactive elements that let report viewers filter data without editing the report. Every dashboard built for a stakeholder should have at least a date range control and one or two filter controls.
Community Visualisations
Community visualisations are third-party chart types built by developers and added to Looker Studio via the Community Visualizations gallery. They extend beyond the built-in chart library when you need something specific.
HOW TO ADD A COMMUNITY VISUALISATION: Insert → Community visualizations and components → Browse gallery or paste component URL → Select data source and configure fields NOTE: Community visualisations load from external servers. For sensitive internal data, prefer built-in charts or self-hosted components.
Sharing and Embedding Reports
Sharing options
Share → Manage access:
View access (recommended for stakeholders):
→ Anyone with the link can view — they see live data, can use controls,
but cannot edit the report or see the data source configuration
Edit access (for your team only):
→ Allows adding/editing charts, changing data connections
Download / schedule email delivery:
→ Share → Schedule email delivery → pick recipients, frequency, format
→ Recipients get a PDF snapshot on a schedule (daily, weekly, monthly)
→ Good for automated weekly exec reports
Embed in a website:
→ File → Embed report → copy the <iframe> code
→ Paste into any website, Notion page, Confluence, or internal portal
→ Viewers do not need a Google account to view embedded reports
(if "Anyone with the link" access is enabled)Report Templates: Build Once, Reuse for Every Client
AGENCY / FREELANCER PATTERN:
1. Build a template report connected to a "demo" Google Sheet
2. When a new client onboards:
a. Make a copy of the report (File → Make a copy)
b. Change the data source connection to the client's Sheet
Resource → Manage added data sources → Edit → change Sheet
c. Share the copy with the client
This approach lets you build polished templates once and deploy them in
minutes for each client. The Data Control widget takes this further:
add it to the report and clients can self-serve their own Sheet.Looker Studio vs Power BI vs Tableau: When to Use Which
| Looker Studio | Power BI | Tableau | |
|---|---|---|---|
| Cost | 🟢 Free | 🟡 Free desktop, paid sharing | 🔴 Paid (~₹5,500/user/mo) |
| Best data source | Google ecosystem (Sheets, GA4, Ads) | Microsoft ecosystem (Excel, Azure, SQL) | Any source — best with flat files and databases |
| Sharing | 🟢 Link sharing — no app needed | 🟡 Needs Power BI Service or app | 🟡 Needs Tableau Server or Public (public only) |
| Calculation power | 🟡 Moderate — good for most needs | 🟢 DAX — very powerful | 🟢 LOD expressions — very powerful |
| Indian job market demand | ⭐⭐⭐ Growing | ⭐⭐⭐⭐⭐ Very High | ⭐⭐⭐ Moderate |
| Best for | Freelancers, Google Ads/Analytics, client reporting | Corporate BI, finance teams, enterprise | MNCs, visual analytics, US-facing teams |
6 Looker Studio Best Practices
Quick-Reference: Calculated Field Functions
| Function | Syntax | Use case |
|---|---|---|
| CASE / WHEN | CASE WHEN x > 10 THEN "A" ELSE "B" END | Classify or segment values |
| IF | IF condition THEN value1 ELSE value2 END | Binary branch |
| CONCAT | CONCAT(field1, " - ", field2) | Combine text fields |
| REGEXP_EXTRACT | REGEXP_EXTRACT(url, r'/([^/]+)$') | Extract URL path segment |
| DATE_DIFF | DATE_DIFF(end_date, start_date) | Days between two dates |
| FORMAT_DATETIME | FORMAT_DATETIME("%Y-%m", date) | Custom date format string |
| NULLIF | NULLIF(field, 0) | Replace specific value with NULL |
| COALESCE | COALESCE(field1, field2, 0) | First non-null value |
| CAST | CAST(string_field AS NUMBER) | Convert field type |