Connect Retool to Google Data Studio (now Looker Studio) by embedding reports via Custom Components (iframe) and sharing underlying data sources like BigQuery or Google Sheets with both platforms. There is no direct Looker Studio API — the integration focuses on embedding pre-built reports inside Retool apps and connecting the same data sources to both tools for complementary reporting and operational workflows.
| Fact | Value |
|---|---|
| Tool | Google Data Studio (Looker Studio) |
| Category | Other |
| Method | REST API Resource |
| Difficulty | Intermediate |
| Time required | 20 minutes |
| Last updated | April 2026 |
Why integrate Retool with Google Looker Studio?
Retool and Looker Studio serve different but complementary purposes. Looker Studio excels at creating polished, shareable visual reports with Google's branded styling — ideal for external stakeholder reporting, marketing dashboards, and executive-facing summaries. Retool excels at operational internal tools where users take actions on data: updating records, triggering workflows, managing entities. The integration combines both strengths in a single interface.
The most practical integration pattern is embedding: a Retool app serves as the operational control center, while Looker Studio reports embedded via iframe handle the visual reporting layer. An operations manager can view a Looker Studio sales performance report embedded in Retool alongside a live database table of active deals they can edit — without switching between browser tabs. This approach is especially effective when your team has already invested in Looker Studio report design and wants to add operational capabilities without rebuilding the visualizations in Retool.
A second, often more powerful approach is shared data sources. Both Retool and Looker Studio can connect to BigQuery, PostgreSQL (via BigQuery Data Transfer or direct connectors), and Google Sheets. By querying the same tables from Retool, you can build interactive filtering, data editing, and action buttons that Looker Studio's read-only reports cannot provide. This gives your team the best of both: Looker Studio's automatic chart formatting and Retool's interactivity and write-back capability.
Integration method
Google Looker Studio does not expose a public REST API for report management. The primary integration pattern with Retool is iframe embedding: Looker Studio reports can be shared as embeddable links and rendered inside Retool Custom Components. For data-level integration, both Retool and Looker Studio can connect to the same underlying sources — BigQuery, PostgreSQL, or Google Sheets — allowing each tool to serve its specific purpose: Looker Studio for polished shareable reports, Retool for operational workflows and data management. A complementary approach uses Retool to query BigQuery directly via a native connector, rendering data alongside embedded Looker Studio panels.
Prerequisites
- A Looker Studio report with sharing settings configured to allow embedding (Share → Manage access → Anyone with the link can view)
- The embed link or report URL from Looker Studio (Share → Embed report)
- For data-level integration: a BigQuery or Google Sheets data source connected to both Looker Studio and Retool
- A Retool account with access to Custom Components (available on Team plan and above)
- Basic familiarity with Retool's Custom Component feature for iframe embedding
Step-by-step guide
Configure Looker Studio report for embedding
Open your Looker Studio report and click the Share button in the top-right corner. In the sharing dialog, click Manage access and set the report access to Anyone with the link can view. This is required for the embedded iframe to load without prompting users to sign in to Google. Next, click the Share button again and select Embed report from the dropdown options. Looker Studio shows an Embed code panel with an HTML iframe snippet and configuration options. Enable the Allow embedding toggle if it is not already on. You will see options to set the report width and height — these are less important since you will control sizing via Retool's Custom Component styling. Copy the iframe URL from the src attribute in the generated embed code — it looks like https://lookerstudio.google.com/embed/reporting/REPORT_ID/page/PAGE_ID. Save this URL. Note that if your Looker Studio report uses data sources that require Google sign-in (like private BigQuery tables), the embed will show a sign-in prompt for users who are not authenticated with Google in their browser. For internal tools, using public Looker Studio data sources or pre-authenticated sessions avoids this friction. If your organization uses Google Workspace, users may need to be added as viewers of the report individually for authenticated data source access to work in embedded context.
Pro tip: Looker Studio reports with date range controls support URL parameters for dynamic filtering. Append ¶ms={"df27":"include%25EE%2580%25800%25EE%2580%2580IN%25EE%2580%2580REGION"} style parameters to pre-filter the report from Retool component values.
Expected result: The Looker Studio report is configured for public embedding and you have the iframe embed URL ready to use in Retool's Custom Component.
Create a Custom Component to embed the report
In your Retool app, open the Component panel on the left and search for Custom Component. Drag it onto the canvas and resize it to match the report's natural dimensions — Looker Studio reports typically look best at 1200px wide or in full-width containers. Click the Custom Component to open its configuration panel on the right. In the IFrame code editor, replace the default HTML with an iframe tag that loads your Looker Studio embed URL. Set the width and height to 100% to fill the Custom Component container. Add allowfullscreen and the appropriate sandbox attributes to permit the embedded report to load properly. To make the report URL dynamic — for example, to switch between different pages or apply date filters based on Retool component values — reference model properties in the HTML using the {{model.reportUrl}} pattern. Set the Custom Component's model to a JSON object containing the reportUrl and any dynamic parameters. Configure event handlers on Retool date pickers or filter dropdowns to update the model when values change, which causes the iframe src to update and reload the filtered report.
1<!-- Retool Custom Component HTML for Looker Studio embed -->2<style>3 body { margin: 0; padding: 0; overflow: hidden; }4 iframe {5 width: 100%;6 height: 100vh;7 border: none;8 display: block;9 }10</style>1112<iframe13 id="looker-frame"14 src="{{ model.reportUrl }}"15 allowfullscreen16 sandbox="allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox"17></iframe>1819<script>20 // Listen for model changes from Retool to update the src21 Retool.subscribe(function(model) {22 const frame = document.getElementById('looker-frame');23 if (model.reportUrl && frame.src !== model.reportUrl) {24 frame.src = model.reportUrl;25 }26 });27</script>Pro tip: Looker Studio does not support true URL-parameter-based filtering for all connector types. The most reliable dynamic filtering approach is to query the underlying data source directly in Retool and display it in native Retool Charts alongside the static embedded report.
Expected result: The Custom Component renders the Looker Studio report embedded inside the Retool app. Users can interact with the Looker Studio controls (date filters, dropdowns) within the embedded panel.
Connect Retool to the same data source (BigQuery)
For a data-level integration, navigate to the Resources tab in Retool and click Add Resource. If your Looker Studio report is powered by BigQuery, look for BigQuery in the resource type list — Retool has a native BigQuery connector. Click BigQuery to open the configuration panel. Name the resource BigQuery - Production. Authenticate by clicking Connect Google Account and selecting a Google account that has BigQuery Data Viewer or higher access to the relevant datasets. After authenticating, set the Default Project ID to your Google Cloud project. Click Save. Now create a query in your Retool app that targets this BigQuery resource. Write a SQL query that pulls the same data your Looker Studio report visualizes — this gives you raw data access in Retool that you can display in Tables, bind to form inputs, and use for write-back operations that Looker Studio cannot perform. Drag a Table component and bind it to {{ bigQueryQuery.data }}. Add form components for inserting or updating records in the staging or operational tables that feed the BigQuery dataset. Use Retool's event handlers to trigger the BigQuery query after form submissions so the table refreshes with the latest data. The embedded Looker Studio report in the Custom Component will reflect the changes on its next automatic refresh cycle or when the user manually refreshes it.
1-- Example BigQuery query for operational data alongside Looker Studio report2-- Adjust dataset and table names to match your BigQuery schema3SELECT4 campaign_id,5 campaign_name,6 channel,7 spend,8 impressions,9 clicks,10 conversions,11 DATE(date) as report_date12FROM13 `your_project.marketing_dataset.campaign_performance`14WHERE15 date BETWEEN @startDate AND @endDate16 AND channel IN UNNEST(@channels)17ORDER BY18 spend DESC19LIMIT 500;Pro tip: BigQuery queries in Retool use @paramName syntax for dynamic parameters. Reference Retool component values as {{ dateRangePicker.startDate }} in the query parameter configuration — Retool handles parameterization automatically to prevent injection.
Expected result: Retool connects to the same BigQuery dataset as your Looker Studio report, enabling a Table that shows the raw data with edit capabilities while the embedded Looker Studio panel shows the formatted visualization.
Build filter controls that drive both Retool and Looker Studio
To create a unified filtering experience, add Retool components that control both the Retool data queries and the Looker Studio embed URL simultaneously. Add a DateRangePicker component at the top of the app. In the BigQuery query configuration, reference the picker's values in the @startDate and @endDate parameters using {{ dateRangePicker.startDate }} and {{ dateRangePicker.endDate }}. For the Looker Studio embed, Looker Studio supports date range URL parameters in the format: append &df22=include%25EE%2580%25800%25EE%2580%2580IN%25EE%2580%2580DATE_RANGE to the embed URL where DATE_RANGE encodes your selected dates. Use a JavaScript query to construct the dynamic embed URL by combining the base report URL with encoded date parameters derived from the date picker. Update the Custom Component's model.reportUrl property by triggering this JavaScript query on the date picker's onChange event. Note that Looker Studio's URL parameter syntax is complex and varies by connector — test parameter passing in the Looker Studio UI first by using the report's own date controls and observing how the URL changes. For a simpler approach when URL parameters are unreliable, use a separate Retool Chart powered by the BigQuery query for filtering-sensitive visualizations and reserve the embedded Looker Studio for static reference reports that do not need to respond to filter changes.
1// JavaScript query: construct dynamic Looker Studio URL with date filter2// Run this when dateRangePicker changes3const baseUrl = 'https://lookerstudio.google.com/embed/reporting/YOUR_REPORT_ID/page/PAGE_ID';4const startDate = dateRangePicker.startDate; // e.g. '2024-01-01'5const endDate = dateRangePicker.endDate; // e.g. '2024-01-31'67// Looker Studio date filter parameter (adjust df27 to match your report's filter ID)8// The filter ID can be found by inspecting the URL when manually applying filters9const dateParam = encodeURIComponent(10 JSON.stringify({11 df27: `include%EE%80%800%EE%80%80IN%EE%80%80${startDate}%2F${endDate}`12 })13);1415const fullUrl = `${baseUrl}?params=${dateParam}`;1617// Update the Custom Component model18return { reportUrl: fullUrl };Pro tip: If Looker Studio URL parameter filtering is too complex for your use case, use the embedded report purely as a static visual reference and build all interactive filtering against the BigQuery resource directly in Retool's native components.
Expected result: A date range picker at the top of the Retool app simultaneously filters the BigQuery Table query and attempts to update the Looker Studio embed URL with the selected date range, creating a unified view.
Common use cases
Embedded marketing dashboard with operational controls
Build a Retool app that embeds a Looker Studio marketing performance report in the top half of the screen, while the bottom half provides a database table of active campaigns from your data warehouse. Marketing managers view the polished Looker Studio charts for stakeholder presentations and use Retool's table to update campaign statuses, budgets, and assignments — all without leaving Retool. Filters on the Retool side can update a URL parameter passed to the embedded Looker Studio report to keep both views in sync.
Build a Retool app with a Custom Component at the top that embeds a Looker Studio marketing report via iframe. Below it, add a Table connected to a PostgreSQL resource showing campaigns with editable status, budget, and owner fields. Include a date range picker that updates both the iframe URL parameter and the database query filter.
Copy this prompt to try it in Retool
BigQuery data management hub
Connect Retool directly to the same BigQuery datasets that power your Looker Studio reports. Build a Retool BigQuery admin panel that allows data team members to run ad-hoc queries, insert or update records in staging tables, trigger data pipeline jobs, and view query history — operations that Looker Studio cannot perform. Embed the corresponding Looker Studio output report in a tab of the Retool app so users can see the downstream impact of their data changes without switching tools.
Build a Retool app with two tabs: a Data Management tab with a BigQuery resource query editor, a Table showing recent records, and insert/update forms; and a Reports tab containing a Custom Component iframe embedding the corresponding Looker Studio dashboard that reads from the same BigQuery table.
Copy this prompt to try it in Retool
Google Sheets ops panel with report view
Many small teams use Google Sheets as their data source for both Retool and Looker Studio. Build a Retool panel that connects to Google Sheets via the Sheets API REST Resource, allowing team members to view and edit sheet data with proper form validation and audit logging. An embedded Looker Studio report in a side panel shows the automated charts and summaries that update as the underlying sheet data changes — giving editors immediate visual feedback on their changes.
Build a Retool app with a sidebar Custom Component embedding a Looker Studio report connected to a Google Sheet, and a main area with a Table and Form connected to the same Sheet via a Google Sheets REST API Resource. When a user updates a row in the Retool table, the Looker Studio report refreshes to reflect the change.
Copy this prompt to try it in Retool
Troubleshooting
The embedded Looker Studio report shows a 'Sign in to Google' prompt instead of the report
Cause: The Looker Studio report requires viewer authentication (it is not set to public access), or the user's browser is blocking third-party cookies required for the Google sign-in iframe to work within the Retool domain.
Solution: In Looker Studio, go to Share → Manage access and set the report to Anyone with the link can view. If the report uses private data sources (like private BigQuery tables), you must either make the data source public or add each Retool user as a named viewer in Looker Studio. If the report is already set to public but still shows sign-in, ask users to enable third-party cookies for lookerstudio.google.com in their browser settings.
Custom Component shows a blank white area — the iframe does not load
Cause: Looker Studio blocks iframe embedding unless the correct sandbox attributes are set or the report is accessed from an allowed domain.
Solution: Ensure the iframe sandbox attribute includes allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-storage-access-by-user-activation. Remove overly restrictive sandbox values like allow-same-origin-only. If your Retool instance is self-hosted on a custom domain, add that domain to Looker Studio's allowed embedding domains via the report's Manage access → Embedding settings.
BigQuery queries in Retool return permission denied errors even though the same data works in Looker Studio
Cause: The Google account authenticated with Retool's BigQuery resource may have different IAM permissions than the account used for Looker Studio, or the BigQuery dataset has different sharing settings than the Looker Studio data source connector.
Solution: In Google Cloud IAM, verify the account authenticated with Retool's BigQuery resource has the BigQuery Data Viewer role on the specific dataset. Looker Studio data source connectors may use service accounts or different OAuth scopes — Retool uses standard BigQuery API OAuth. Check the specific dataset's IAM settings rather than only the project-level permissions.
Best practices
- Use Looker Studio for polished stakeholder-facing reports and Retool for operational workflows — treat them as complementary tools rather than trying to replicate Looker Studio visualizations in Retool Charts.
- Set Looker Studio reports to Anyone with the link can view before embedding in Retool to avoid authentication prompts inside the iframe, especially for cross-team internal tool usage.
- Connect both Retool and Looker Studio to the same BigQuery dataset to create a single source of truth — this avoids data inconsistencies between the embedded report and Retool's operational table.
- Size Custom Components generously — Looker Studio reports are designed for wide-screen viewing and look best at 1200px or wider; avoid embedding in narrow sidebar panels.
- For dynamic filtering requirements, prefer native Retool Chart components connected to BigQuery over attempting complex Looker Studio URL parameter manipulation — the native approach is more reliable and faster.
- Cache BigQuery queries in Retool (60-300 seconds) when the underlying data updates infrequently — this improves dashboard load time since BigQuery can have cold query latency.
- When your team needs both polished reports and data editing capabilities, structure the Retool app with tabs: a Reports tab with embedded Looker Studio and a Data Management tab with editable Retool Tables.
Alternatives
Looker (enterprise BI) connects via REST API Resource in Retool with actual query and embed API access, whereas Looker Studio lacks a public API and relies on iframe embedding — making Looker the better choice for teams needing programmatic report integration.
Google Analytics connects via Retool's native GA Resource with full query access to raw data, whereas Looker Studio is the visualization layer on top of GA — if you need to query GA data directly in Retool rather than embed a pre-built report, use the GA native connector.
Power BI offers a REST API for report management and supports embed tokens for controlled iframe embedding, making it more API-accessible than Looker Studio — use Power BI if your organization is Microsoft-centric and needs programmatic report management from Retool.
Frequently asked questions
Does Looker Studio have a REST API that Retool can query?
No. As of 2024, Google Looker Studio does not expose a public REST API for report management, data querying, or embed token generation. The only integration pattern is iframe embedding via the embed URL and connecting to shared underlying data sources like BigQuery, Google Sheets, or PostgreSQL. If you need programmatic BI integration, consider Looker (the enterprise product) which has a full REST and embed API.
Can I pass filters from Retool to the embedded Looker Studio report?
Partially. Looker Studio supports URL parameters that can pre-set report filters when the embed URL is loaded. However, the parameter format is complex and undocumented, varying by connector type and filter configuration. The most reliable approach is to query the underlying data source (BigQuery, Sheets) directly in Retool with native filter controls and use the embedded Looker Studio report as a complementary static visualization that users can interact with using Looker Studio's own built-in controls.
What Retool plan is required to use Custom Components for embedding?
Custom Components in Retool require the Team plan or higher. They are not available on the Free plan. If you are on the Free plan and need to embed external content, you can sometimes use a Text component with an HTML mode that renders an iframe, though this is less reliable and may be restricted depending on your Retool version and settings.
Is there a performance difference between embedded Looker Studio and native Retool Charts?
Yes, significantly. Embedded Looker Studio loads as a separate iframe context — it has its own loading time, Google CDN requests, and rendering pipeline, typically adding 2-5 seconds to initial load. Native Retool Chart components render immediately from query data with no external dependencies. For performance-sensitive dashboards, prefer native Retool Charts. Use embedded Looker Studio when the specific visualization style or sharing capabilities of Looker Studio are important enough to justify the loading overhead.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation