Connector guide
GoHighLevel to Data Studio: how to connect HighLevel, survive the v1 API cutoff and build pipeline reports that match
Getting GoHighLevel to Data Studio takes a partner connector, a Google Sheet, a BigQuery pipeline or a CSV export, because Google ships no native HighLevel connector. This guide is for agency owners and in-house marketers who want HighLevel contacts, opportunities and appointments beside Google Ads, Meta and GA4 in one report. I compare the four routes, explain what HighLevel's move from API v1 to v2 means for older feeds, and cover the pipeline and attribution problems that make dashboards disagree with HighLevel.

Quick answer
How do I connect GoHighLevel to Data Studio?
Data Studio has no native GoHighLevel connector, so you use a partner connector such as Windsor.ai, Coupler.io or Two Minute Reports, a Sheets feed built on HighLevel's v2 API, a scheduled load into BigQuery, or CSV exports. Partner connectors are fastest; BigQuery suits many sub-accounts and pipeline history. Any feed still using a v1 API key needs rebuilding.
- Google offers no native GoHighLevel connector, so every route runs through a third party or a pipeline.
- HighLevel has disabled new v1 API keys, and older v1 feeds into Sheets need moving to v2.
- HighLevel allows 100 API requests per 10 seconds and 200,000 per day, per app per sub-account.
- Most wrong numbers come from pipelines, stage history and lead source fields, not from the connector.
Can you connect GoHighLevel to Data Studio for free?
Yes, with limits. The free routes are a connector vendor's free tier, a Google Sheet filled by your own script or automation on HighLevel's API, or manual CSV exports from HighLevel's contacts and opportunities lists. What you give up is refresh frequency, the number of sub-accounts and the hours someone spends keeping the feed alive.
Data Studio's native connectors cover Google products and a set of databases: GA4, Google Ads, Search Console, Sheets, BigQuery, YouTube, Campaign Manager 360, Display and Video 360, Ad Manager, Cloud SQL, MySQL, PostgreSQL, SQL Server and Redshift. HighLevel is not on that list, and the April 2026 rename from Looker Studio back to Data Studio did not add it. Every GoHighLevel route therefore goes through a partner connector or lands the data somewhere Data Studio already reads.
Windsor.ai lists a forever free plan with 1 user, 1 data source and 1 account, and paid Basic plans at $23 a month billed monthly or $19 a month billed annually, according to its pricing page as read in October 2026. Coupler.io and Two Minute Reports both offer free starts on their GoHighLevel pages, without listing a price on those pages. Vendor prices change often, so confirm on the pricing page and price the plan for the number of sub-accounts you will report on in six months, not today.
What are the four ways to get GoHighLevel data into Data Studio?
Each route trades setup speed against freshness, cost and control. The right one depends on how many sub-accounts you run, whether you need history, and whether HighLevel must sit beside ad spend in the same chart.
A partner connector appears in the Data Studio connector gallery and queries HighLevel, or the vendor's copy of it, when a chart loads. Coupler.io's GoHighLevel page lists 11 data types, including opportunities, contacts, appointments, invoices, transactions, pipelines and conversations, with refreshes as often as every 15 minutes on higher plans. Windsor.ai's page lists 16 metrics and 232 dimensions. Two Minute Reports describes contact, opportunity, conversation, invoice and subscription reporting. A Sheets route writes HighLevel records into a Google Sheet on a schedule. A BigQuery route loads HighLevel objects into tables through an ETL tool or a small script, and Data Studio reads modelled views. A CSV route means exporting lists by hand.
| Route | Setup effort | Freshness | Best for | Main drawback |
|---|---|---|---|---|
| Partner connector | Under an hour | Per vendor plan, from daily to every 15 minutes | One to a few sub-accounts, standard pipeline and lead reports | Fee grows with accounts; the vendor decides how custom fields and pipelines are flattened |
| Google Sheet on the v2 API | A day, including testing | Whatever schedule you set | Small accounts, tight budgets, custom field needs | Sheets slows as rows grow; the script needs an owner and token rotation |
| BigQuery pipeline | Several days, with modelling | Scheduled, often hourly or daily | Many sub-accounts, stage history, joins to ad spend | Needs a Google Cloud project and someone to maintain the SQL views |
| Manual CSV export | Minutes each time | Only when someone exports | A one-off client review | Stale once saved, and versions drift |
Does the HighLevel v1 API shutdown break GoHighLevel to Data Studio reports?
It breaks any report fed by a v1 API key. Partner connectors that already use HighLevel's v2 API are not affected, but many agencies built their first GoHighLevel to Data Studio feed with a v1 key pasted into Zapier, Make or an Apps Script that writes to a Google Sheet. Those feeds need rebuilding on v2.
HighLevel's own post, V1 API End-of-Life: Migrating to V2 (June 26, 2026), confirms that the option to generate new v1 API keys has been disabled and that v1 gets no fixes or support. Its help article on moving to Private Integrations (updated August 21, 2026) dates v1 end of support to December 31, 2025. GHL Scale Up, a HighLevel consultancy, reports that HighLevel's in-app account notice gives December 1, 2026 as the date v1 endpoints become unavailable. HighLevel's public API docs do not state that date, so treat it as the working deadline if you received the notice.
The replacement for internal tools is a Private Integration Token, created under Settings at agency or sub-account level, with only the scopes the feed needs (read access to contacts, opportunities and calendars covers most reports). HighLevel shows the token once, recommends rotating it every 90 days and allows a 7-day grace period on rotation. Its guidance is to build the new feed alongside the old one, compare outputs and only then switch the report, rather than editing a live automation.
Do HighLevel API rate limits affect a Data Studio dashboard?
They can on busy live reports. HighLevel's developer documentation sets a burst limit of 100 API requests per 10 seconds and a daily limit of 200,000 requests, counted per Marketplace app per resource, where a resource is one sub-account (location) or the agency (company). Each sub-account install gets its own budget, so adding clients does not divide the allowance.
The burst limit is the one that bites. A live connector can turn every chart on every page into API calls, and a client report with 20 charts and a date range change from three viewers at once can hit 100 requests in 10 seconds. HighLevel returns headers with your current position against both limits, so a well-built script reads them and waits instead of failing. If charts time out or show partial data, lengthen the data freshness setting on the Data Studio data source where the connector allows it, remove duplicate charts that request the same fields, and move high-traffic client reports to a Sheet or BigQuery copy that refreshes on a schedule. If the same report shows GA4, it also draws on GA4's separate quota of 14,000 tokens per project per property per hour.
Why does my GoHighLevel pipeline report not match HighLevel?
Usually because the data model, not the connector, is different from what the chart assumes. HighLevel stores opportunities in pipelines with their own stages, links them to contacts, and keeps only some history on each record. Check the causes below in order before you blame the vendor.
The common fix is to decide what one row means (one opportunity, one contact, one appointment), build that table once in a Sheet or BigQuery view, and point every chart at it. A blend of contacts and opportunities inside Data Studio repeats an opportunity's value for every matching contact row and inflates pipeline value.
- Several pipelines: a sales pipeline and a reactivation pipeline can share stage names like Won, so filter or group by pipeline before summing.
- Stage history: the opportunities API returns the time of the last stage change and last status change, not every move. Conversion and time-in-stage reports need daily snapshots stored in BigQuery or a Sheet.
- Status versus stage: won, lost and abandoned are statuses, separate from stage. A Closed stage with an open status means two different numbers.
- Lead source: HighLevel's source field, UTM fields and form attribution can disagree. Pick one definition, write it down, and use a CASE statement in a calculated field to group raw values into the channels the client recognizes.
- Custom fields: connectors often return custom field IDs or nested values, so a field like Treatment Type or Budget may show as blank or as an ID until it is mapped.
- Users: opportunities carry an assigned user ID; without a users lookup, owner charts show IDs instead of names.
- Time zones: the sub-account time zone and the report's date range can put a late-evening lead on different days.
How do you report on many GoHighLevel sub-accounts in one place?
Load every sub-account into one table with a location ID and client name column, then build one report and filter it per client. Copying a report per client works for five clients and becomes a maintenance problem at thirty, because every fix has to be made thirty times.
With a connector, check how the vendor bills and joins accounts before you commit: some price per connected account, and some return each account as a separate data source. With your own pipeline, HighLevel's docs describe an agency-level token that can request a location token for each sub-account, which lets one scheduled job loop through clients while each location keeps its own rate limit budget. In Data Studio, add a client filter control for your own team. For client access, use the data source's filter by email setting with a column of permitted viewer emails per location, or give each client a separate report on a filtered data source, so no client can switch to another client's numbers.
Keep the data source on the owner's credentials, owned by a company Google account. Data Studio gives no warning when a connector stops working, so a report tied to a contractor's login, or to a HighLevel user who has left, fails silently the day that access is removed.
What should a GoHighLevel dashboard in Data Studio include?
Build it around the questions the business owner or client asks every week: how many leads came in and from where, how many booked and showed, and how much revenue the pipeline holds. Three pages cover most needs.
Page one is lead flow: new contacts by day and by grouped source, form and call leads, and cost per lead beside Google Ads and Meta spend. Page two is pipeline: opportunities and value by stage, won value and win rate by month, and stalled opportunities with no stage change in 14 or 30 days. Page three is appointments and follow-up: booked, showed, no-show and cancelled appointments by calendar, speed to first response where conversation data is available, and a filterable opportunity list so a manager can find the record in HighLevel.
Projects I've led at Greenwolf Tech Labs include marketing dashboards built in Data Studio that bring multi-channel spend, leads and return across Google Ads, Meta, LinkedIn, GA4 and Search Console into one view. A GoHighLevel build follows the same pattern, with HighLevel supplying the lead, pipeline and appointment side that ad platforms cannot see.
How do you set up GoHighLevel to Data Studio step by step?
The connection takes minutes. The steps that protect you later concern ownership, scope and reconciliation, so they are included here.
- Write down the five or six numbers that matter and how each is defined, for example won value by status change date, per pipeline.
- Audit existing feeds: list every Zap, scenario or script that uses a v1 key and plan its replacement on a Private Integration Token.
- Choose the route: a partner connector for a few sub-accounts, BigQuery for many sub-accounts or stage history, a Sheet for one small account.
- Connect with a company-owned HighLevel user and Google account, never a personal or freelancer login.
- Pull only what the charts need: opportunities, pipelines and stages, contacts with source fields, appointments and users.
- Model one row per opportunity with pipeline name, stage name, status, value, owner name and source group before Data Studio reads it.
- Reconcile last month's won value and opportunity count against HighLevel's own view with the same filters before anyone else sees the report.
- Schedule an email delivery for the weekly review and note who owns the token rotation.
When is GoHighLevel to Data Studio not worth it?
If HighLevel is the only system involved and clients already log in to their sub-account, HighLevel's own dashboards may answer the questions. Moving data out adds a connector, a data model and a token to maintain, so do it for a reason.
Good reasons: owners want leads and revenue beside ad spend and GA4 in one place, people who should see the numbers should not have HighLevel logins, you need month-by-month pipeline history, or you report across many sub-accounts at once. Weak reasons: a different chart style, or copying a HighLevel dashboard that already works.
Do it yourself with a connector's free tier if you have one sub-account and a simple pipeline. Bring in help when won values do not match HighLevel, when several pipelines and sources must be grouped consistently, when a v1 feed has to be rebuilt before it stops, or when the report must keep running after the person who built it moves on.
How I handle GoHighLevel to Data Studio projects
I start with a free review of your HighLevel setup, the feeds you already run and the questions the report must answer, then quote a fixed price for the build. I recommend the cheapest route that will hold up, which is often a connector you already pay for.
The work covers the data model (one row per opportunity, stage snapshots where needed, source grouping, user names), the dashboard, reconciliation against HighLevel and a handover so your team can add fields without me. Tokens, connectors and reports live in your accounts from day one.
FAQ
Frequently asked questions
Does Data Studio have a native GoHighLevel connector?
No. Data Studio's native connectors cover Google products such as GA4, Google Ads and Search Console, plus Sheets, BigQuery and several SQL databases. GoHighLevel data needs a partner connector, a Sheet or BigQuery fed by HighLevel's API, or CSV exports.
How do I connect GoHighLevel to Looker Studio?
Looker Studio is now called Data Studio again, and the same routes apply. Add a partner connector such as Windsor.ai, Coupler.io or Two Minute Reports from the connector gallery and authorize your HighLevel account, or send HighLevel data to a Sheet or BigQuery and connect that natively.
Will my GoHighLevel Google Sheets report stop working?
It will if the feed uses a HighLevel v1 API key. HighLevel has disabled new v1 keys, and a HighLevel account notice reported by GHL Scale Up says v1 endpoints become unavailable on December 1, 2026. Rebuild the feed on a v2 Private Integration Token and run both in parallel until the numbers match.
What are the GoHighLevel API rate limits?
HighLevel's documentation sets 100 requests per 10 seconds and 200,000 requests per day, counted per app per sub-account or agency. Each sub-account install gets its own budget, so the limit that usually causes trouble on a live report is the 10-second burst limit.
Why is my opportunity value higher in Data Studio than in HighLevel?
Usually because opportunities were joined to contacts or other tables, so one opportunity is counted several times, or because several pipelines were added together. Build a table with one row per opportunity and filter by pipeline and status before summing value.
Can I see GoHighLevel stage history in Data Studio?
Only if you store it. HighLevel's opportunities API returns when the stage and status last changed, not each move, so a daily snapshot in BigQuery or a Sheet is needed for time in stage and stage conversion reports.
Do clients need a HighLevel login to view the Data Studio report?
No. With owner's credentials, viewers see the data through the owner's connection and only need access to the report. Use a company-owned account as the owner, and restrict rows by viewer email or give each client a separately filtered report so they see only their own data.
Keep reading
Related pages
Get started
Tell me what the report has to answer
Send the question your team keeps asking and where the data lives today. I reply within one business day with how I would build it, which connectors it needs and what it would cost.
- Free 30-minute review of your data and reports
- A fixed price before any work starts
- Built in your Google account, so you own everything
Prefer email? harsh@greenwolftechlabs.com
Book a free review
Two lines is enough to start.