Blog · Connectors

Google Ads to Tableau: every route that still works, and what each one costs

Published · 12 min read

Tableau no longer has a working Google Ads connector: the one it shipped in 2019 was built on Google's AdWords API, which stopped answering requests on April 27, 2022, and Tableau's current connector list has no Google Ads entry. The routes that work in September 2026 are the ones Tableau's own support article pointed to when the connector broke. The strongest is Google's BigQuery Data Transfer Service: it copies Google Ads reports into BigQuery every day at no transfer charge, can backfill as far as Google Ads keeps the data, and Tableau reads BigQuery natively, on Desktop and on Cloud. Next come Google Sheets — filled by Google's own Sheets add-on or by a scheduled report — which Tableau reads through its Google Drive connector; a partner connector such as CData, Coupler.io or Windsor.ai; and a downloaded report opened as a file. Whichever you pick, conversions keep arriving for up to the length of your conversion window, 30 days by default, so the Tableau refresh has to re-read that window. TableBI is a fifth route of a different kind: not a Tableau connector, but a place where the recurring Google Ads questions get answered without Tableau.

What happened to Tableau’s Google Ads connector

Tableau introduced a native Google Ads connector for Tableau Desktop in 2019, announced on Tableau's blog. It used the AdWords API. Google replaced that API with the Google Ads API, and its developer blog set the date: the AdWords API sunsets on April 27, 2022.

Tableau's knowledge base recorded the result. Its article “Unable to Connect to Google Ads” (archived May 2022) says that after April 27, 2022 a connection through the Google Ads connector fails with “Unable to connect to Google Ads”, on Tableau Desktop, Server, Online and Prep Builder, and names three workarounds: a third-party driver from CData or Simba, Google's transfer service into BigQuery or another database Tableau connects to natively, or exported flat files. Four years on, those are still the routes. The connector list in Tableau's technical specifications on September 30, 2026 includes Google Analytics, Google BigQuery, Google Cloud SQL, Google Drive and Google Sheets, and no Google Ads.

Route 1 — BigQuery Data Transfer Service, then Tableau’s BigQuery connector

Google's Google Ads transfer loads the reports of the Google Ads API (v23 as of September 2026) into date-partitioned BigQuery tables, once a day. Tableau connects with its native Google BigQuery connector, which signs in with OAuth or a service-account key and can query live, and which works the same on Tableau Cloud because it is Tableau's own.

What Google's transfer guide says it does

  • History: a backfill run reaches back as far as Google Ads' own data retention allows — the one route here that can bring in years at once.
  • Refresh window: each daily run re-reads the last 7 days by default, configurable up to 30. Re-run days overwrite their partition, so there are no duplicates.
  • Scale: up to 8,000 customer IDs under one manager account.
  • Custom reports: Google Ads Query Language queries are accepted, without WHERE, ORDER BY or LIMIT.
  • Access: read access to the customer ID or manager account; a transfer authorized with a person's credentials needs 2-Step Verification, one authorized with a service account does not.

What it costs

Google Ads is on the list of free transfer connectors on BigQuery's pricing page, and loading into standard BigQuery tables is free. What you pay is BigQuery itself: storage, merge jobs and the queries Tableau sends. For one account's daily campaign data that is usually small; a live Tableau connection over years of keyword-level tables is not, so filter on the date partition in the data source.

What it gets wrong: the tables arrive in Google Ads' own structure — separate stats and entity tables keyed by IDs — so someone writes the SQL that joins campaign names to their numbers before the first Tableau sheet makes sense. Google's report transformation reference lists what lands where.

Route 2 — a Google Sheet, read through Tableau’s Google Drive connector

Two of Google's own tools write Google Ads data into Sheets, and Tableau reads a sheet through its Google Drive connector on Desktop, Cloud and Prep. (Tableau's older Google Sheets connector is deprecated; Drive is the door now.)

  • The Google Ads add-on for Google Sheets creates reports in a sheet and can refresh them on a schedule, per Google Ads Help — with two limits Google states: it is available only in the United States and only for the English version of Google Sheets, and one spreadsheet covers one Google Ads account.
  • A scheduled report from the Google Ads report editor can be sent daily, weekly or on another schedule, in formats that include Google Sheets, per Google Ads Help on saving and scheduling reports.

What it costs: nothing. What it gets wrong: a spreadsheet is a small database — Tableau notes that Drive spreadsheets hold a limited number of cells, in the millions — and every refresh path now has two schedules, Google's and Tableau's, that have to line up. Good for one account at campaign level; brittle past that.

Route 3 — a partner connector

  • CData Google Ads Tableau connector — the driver route Tableau's own article named. It runs inside Tableau Desktop and Server; CData says Tableau Cloud does not support custom connectors and sends Cloud users to its separate Connect AI service. As of September 30, 2026 its order page listed $499 a year for one desktop and one data source, with server licences by quote.
  • Coupler.io hands Tableau an integration URL through Tableau's Web Data Connector — a connector type Tableau deprecated (version 2.0, in release 2023.1) and whose extracts Tableau Cloud can't refresh by itself, per Tableau's documentation. Starter was $24 a month billed annually or $32 month to month on September 30, 2026: 3 accounts, 1 destination, a daily refresh, 5,000 rows per run (Coupler.io pricing).
  • Windsor.ai connects Tableau "via Google Sheets or a database", in its own words on its pricing page — route 2 with a vendor doing the filling. Basic was $19 a month billed annually or $23 month to month on September 30, 2026, for 3 data sources and a daily sync.

What it costs: a subscription. What it gets wrong: every vendor reads the same Google Ads API, so none of them changes the conversion lag below; they add a licence, a row cap or a sheet in the middle.

Route 4 — download a report and open it in Tableau

Any Google Ads table or report editor view downloads as CSV, TSV, Excel (.xlsx), PDF, XML or Google Sheets, per Google Ads Help. Add the Day segment before you download so every row carries a date, and open the CSV or Excel file in Tableau. For a quick look at one quarter it is the fastest route; for anything someone will open again next month, it is a person's recurring chore and a snapshot that misses every conversion reported after the download.

Calling the Google Ads API yourself belongs here only as a footnote: it needs a Google Cloud project approved for Google Ads API access — developer tokens were sunset on September 9, 2026 — plus a database for Tableau to read. The Google Ads → Power BI guide covers what that involves.

The refresh setting that keeps Google Ads data right in Tableau

Google Ads' standard Conversions column reports a conversion on the date of the ad click, not the date of the purchase; columns ending in “(by conv. time)” report the other way, per Google Ads Help on conversion tracking data. A click from three weeks ago that converts today adds a conversion to a day three weeks ago. How far back that can happen is the conversion window: 30 days by default for click-through conversions, anywhere from 1 to 90 days depending on the source, per Google's conversion window page.

The Tableau consequence: an incremental extract refresh adds only rows newer than the last one it saw, so late conversions never reach days already in the extract. Tableau's extract refresh documentation offers a minimum date range to refresh, which re-extracts previously extracted data to “capture any changes that may have occurred”. Set it to your longest conversion window — 30 days if you never changed it — and set the BigQuery transfer's refresh window to 30 days rather than the default 7.

Two smaller mismatches with the Google Ads interface are expected, not errors. Each Google Ads account reports in its own time zone and currency, so totals across accounts need a currency rule; and a Tableau sheet that sums “Conversions” for last week will keep rising for a month, while one built on “Conversions (by conv. time)” will not.

The routes side by side

RouteMoneyTableau CloudHistoryWhat bites
BigQuery Data Transfer ServiceNo transfer charge; BigQuery storage and queriesYes, BigQuery is nativeAs far back as Google Ads retention allows, by backfillSQL to join Google Ads' tables; a Cloud project
Google Sheet via Google DriveFreeYesWhatever the report or add-on pullsAdd-on is US and English only, one account per sheet; cell limits
CData connector$499 a year per desktop; server by quoteNo — custom connectors aren't supportedWhatever the API returnsDesktop and Server only
Coupler.io via Web Data ConnectorFrom $24 a month billed annuallyCloud can't refresh a WDC extract by itselfPlan dependentDeprecated connector type; 5,000 rows per run on Starter
Windsor.ai via Sheets or a databaseFrom $19 a month billed annuallyYes, through Drive or the databasePlan dependentA sheet or database in the middle
Downloaded reportFreeOnly as an uploaded fileWhatever you downloadA snapshot; misses late conversions
TableBI — not a Tableau connectorFree for one source and one live dashboard; Operator $29 a month, by requestNot applicable: answers live outside Tableau90 days on the first sync by default; more with --daysCampaign level only; feeds no Tableau workbook

Vendor prices were read on their own pricing pages on September 30, 2026. Tableau's own licences come on top of every row but the last; the GA4 → Tableau guide prices them by role.

The fifth route: TableBI, which is not a Tableau connector

TableBI creates no Tableau data source and sends nothing to Tableau. It replaces the Tableau step for the Google Ads questions that come back every week: it syncs Google Ads over OAuth into its own store — no Cloud project, no API application — your AI agent, Claude Code for example, queries that store in read-only SQL from the terminal, and an answer worth keeping becomes a live dashboard URL. If the destination has to be a Tableau workbook, routes 1 to 4 are the options.

The live connector syncs one row per campaign per day: spend, impressions, clicks, conversions and conversion value. There is no ad group, keyword or search term level, so audits that need those still belong in Google Ads or BigQuery.

terminal
# install the CLI, then plant the skill your agent reads
npm i -g @tablebi/cli
tablebi login
tablebi install

# Google sign-in opens in the browser; one account syncs straight away,
# several are listed — rerun with --account <customer-id>
tablebi connect google_ads
claude code → tablebi
# campaigns by spend, with ROAS and CPA, over the latest 30 synced days
tablebi ask "SELECT campaign, SUM(cost) AS spend, SUM(conversions) AS conversions,
             roas(SUM(conversion_value), SUM(cost)) AS roas,
             cpa(SUM(cost), SUM(conversions)) AS cpa
             FROM facts
             WHERE platform = 'google_ads'
               AND date > (SELECT MAX(date) FROM facts WHERE platform = 'google_ads') - 30
             GROUP BY campaign ORDER BY spend DESC LIMIT 25"

The window anchors on the newest synced day rather than the calendar, and every answer carries a trust block with each source's freshness and caveats. roas() and cpa() are macros over sums, so the ratio across campaigns is weighted by spend rather than averaged. Connect Meta Ads (beta) or GA4 too and the cross-channel comparison is the same statement without the platform filter. tablebi pin turns any answer into a public, read-only URL that refreshes itself; viewers need no Tableau licence, and anyone holding the link can see it.

TableBI connects Google Search Console, GA4 and Google Ads live, Meta Ads in beta, and CSV upload. It has no white-label reports, no scheduled PDF or email delivery and no alerts.

Which route should you pick

  • Tableau is the company standard and someone can own a Cloud project: the BigQuery transfer, with a 30-day refresh window. It is free to run, backfills history, and works on Tableau Cloud.
  • One account, campaign level, in the US: the Sheets add-on read through Google Drive.
  • Tableau Desktop or Server, no Google Cloud: the CData connector.
  • The same Google Ads questions every week, next to Meta and GA4: the question may not need Tableau — that is the case TableBI is built for.

FAQ

Does Tableau have a Google Ads connector?

Not one that works. Tableau's Google Ads connector used the AdWords API, and connections have failed since Google shut that API down on April 27, 2022. Tableau's current connector list has no Google Ads entry.

What is the best free way to get Google Ads data into Tableau?

The BigQuery Data Transfer Service. Google lists the Google Ads transfer as free, it can backfill as far as Google Ads keeps the data, and Tableau reads BigQuery natively on Desktop and Cloud. You pay only for BigQuery storage and queries.

Why don't my Google Ads numbers in Tableau match the Google Ads interface?

Usually because conversions are still arriving. The standard Conversions column credits the click date, so days inside your conversion window — 30 days by default — keep changing. A Tableau extract that only adds new rows keeps the old values; re-read at least the conversion window on every refresh.

Can Tableau Cloud refresh Google Ads data?

Yes, through BigQuery or through a Google Sheet in Google Drive, because Tableau Cloud connects to both natively. A custom connector such as CData's cannot be published to Tableau Cloud, and Tableau Cloud cannot refresh a Web Data Connector extract by itself.

How far back can I load Google Ads history into Tableau?

With the BigQuery transfer, as far back as Google Ads' data retention allows, using a backfill run. Downloads and partner connectors go back as far as the report or plan you use.

Sources

Try it

Search Console, GA4 and Google Ads live, Meta Ads in beta, CSV by upload: in your agent today, with no BigQuery project and no licence per viewer.

terminal
npm i -g @tablebi/cli && tablebi install