Skip to content
adapters.io

BigQuery ETL tools compared: the best Google BigQuery data integration software and connectors

Eleven ways to get data into BigQuery and keep it current, lined up by how each one runs, what it connects to, how it bills and who it is wrong for. Google now ships four separate first-party products for this job, which is why the shortlist is more confusing than it looks. Below: the five native loading paths with the quota numbers from Google's own documentation, then the tools that wrap them.

Try the live demo

Field mapping auto-plugged · tap a port to rewire

5 sample records ready

Google Cloud documentation read 15 August 2026 · Last updated August 2026

Which BigQuery ETL tool should you use?

Pick by which problem you actually have. If the sources are Google Ads, Analytics 4 or Search Ads 360, the BigQuery Data Transfer Service is first-party and free of licence cost, so start there. If you are replicating a live Postgres, MySQL, Oracle or SQL Server database, Datastream does change data capture natively into BigQuery. If you need the widest managed connector catalog with no pipeline maintenance, Fivetran is the default and you accept a metered bill. If you want catalog breadth with control over where it runs, Airbyte is open source and self-hostable. If you need custom transformation logic in code, Dataflow runs batch and streaming from one Apache Beam pipeline. And if the requirement is a handful of dependable scheduled syncs with field mapping an analyst can edit and a bill that does not move, Adapters is flat at $49 to $399 a month.

The mistake worth avoiding: assuming one tool covers every direction. The Data Transfer Service only moves data into BigQuery, so the moment someone asks for a modeled table back in Salesforce you are shopping in a different category. See reverse ETL tools for that half. CRM sources bring their own ceilings rather than BigQuery's: HubSpot caps the Search API at 5 requests per second and any query at 10,000 results, which is set out in HubSpot API rate limits.

BigQuery ETL tools compared

Billing units rather than price tags, because almost everything in this category is volume-metered or consumption-based. The one flat published figure below is ours. Verify current numbers with each vendor before you sign anything.

Comparison of 11 BigQuery ETL and data integration tools by where each runs, approach, source coverage, pricing model and best fit
Tool Where it runs Approach Connects to Pricing model Best for
BigQuery Data Transfer Service Native inside Google Cloud Scheduled managed transfers, load only 40+ sources including Google Ads, Analytics 4, Search Ads 360, YouTube, Salesforce, S3, Redshift, Teradata Google Cloud consumption, transfers consume BigQuery load job quota Teams already on Google marketing and advertising products
Datastream Serverless inside Google Cloud Change data capture replication, near real time MySQL, Oracle, PostgreSQL, SQL Server, MongoDB, Spanner, Salesforce, Workday Per gigabyte processed, plus BigQuery CDC merge cost Replicating an operational database into BigQuery continuously
Google Cloud Dataflow Serverless inside Google Cloud Apache Beam pipelines, batch and streaming in one model Anything you write a connector for, plus Google provided templates Per worker resource consumed Engineering teams that need custom transformation logic in code
Google Cloud Data Fusion Managed inside Google Cloud, built on CDAP Visual pipeline builder with a drag and drop canvas A prebuilt plugin hub covering databases, SaaS and file sources Per instance hour by edition, plus the Dataproc compute it starts GCP shops that want a graphical designer rather than code
Fivetran Managed cloud Automated ELT with schema drift handling The largest managed connector catalog, plus database CDC Monthly active rows for connections, model runs for transformations Teams that want zero pipeline maintenance and will pay a metered bill for it
Airbyte Open source self-hosted, or Airbyte Cloud ELT, with a connector development kit for anything missing Very large catalog, community and certified connectors Free self-hosted, or Cloud billed by credits tied to rows and volume Engineering teams that want catalog breadth and control over where it runs
Hevo Data Managed cloud No-code ELT with in-flight transformations SaaS applications and databases Tiered by events loaded per month Marketing and analytics teams without a data engineer on staff
Stitch Managed cloud, part of Talend and now Qlik Simple ELT built on the Singer standard A steady mid-sized catalog Tiered by rows replicated per month Straightforward replication where simplicity beats features
Matillion Managed cloud, transformations pushed down into BigQuery Visual ELT built specifically for cloud warehouses Connectors plus a strong graphical transformation layer Credit-based consumption Teams that want transformation logic in a visual canvas rather than in SQL files
Informatica Managed cloud, enterprise deployment options Full ETL and ELT with governance, quality and lineage Very broad, including mainframe and legacy systems Consumption units across the platform Regulated enterprises that are buying governance as much as movement
Adapters Managed cloud Scheduled syncs with visual field mapping and no-code transforms Curated pairs across databases, finance, CRM and ecommerce Flat monthly, $49 to $399, no row meter and no credits Teams that want a handful of dependable syncs on a bill that does not move

The column the table cannot show you is connector depth. Two vendors will both list Salesforce and only one will replicate the custom object with the formula field you actually report on. During the trial, sync the exact tables you need and read what landed, rather than trusting the logo on the connector page.

The five native ways to get data into BigQuery

Every tool in the comparison above is ultimately driving one of these five paths. Knowing which one your vendor uses tells you more about latency, quota risk and cost than any feature list. Details below were read from Google Cloud's own documentation on 15 August 2026.

The five native BigQuery data loading methods compared by shape, latency, compute model, use case and the main catch
Method Shape Latency Cost model Use it for The catch
Batch load jobs Files from Cloud Storage, local disk, Drive or Bigtable Minutes, on your schedule Free of charge on the shared pool, or your own reservation Historical backfills and scheduled bulk loads Capped at 1,500 load jobs per table per day, and a job fails after 6 hours
Storage Write API Rows written directly from your application Seconds Billed by data ingested, with a monthly free allowance Event streams and anything that must appear almost immediately You are writing and operating client code, not configuring a connector
BigQuery Data Transfer Service Managed scheduled pulls from 40+ sources Per the transfer schedule you set Runs as load jobs, so it consumes your load job quota Google Ads, Analytics 4, Search Ads 360, YouTube, Salesforce, S3, Redshift One directional only. It cannot move data out of BigQuery
Datastream Change data capture from an operational database Near real time, tuned by max_staleness Per gigabyte processed, plus background CDC merge jobs in BigQuery Keeping a Postgres, MySQL, Oracle or SQL Server replica current Events cap at 20 MB each, and merge jobs bill on demand without a reservation
External tables and federated queries Query the data where it already lives Query time Charged as query bytes scanned Cloud Storage files or Cloud SQL you do not want to duplicate Slower and less predictable than native storage, and no CDC semantics

One quota interaction catches almost everyone running Google marketing transfers. Data Transfer Service runs are executed as load jobs, so they draw from the same daily pool as everything else in the project. Google publishes the arithmetic: daily jobs equals transfers multiplied by tables multiplied by schedule frequency multiplied by refresh window. A single Google Ads transfer creates roughly 60 tables and a Search Ads 360 transfer roughly 50, so a handful of frequent transfers can consume a surprising share of the 100,000 daily load jobs before your own pipelines run at all.

The BigQuery limits that decide your architecture

Six dated facts, each read from Google Cloud's own documentation on 15 August 2026. Most published comparisons of this category skip them entirely, which is why so many first pipelines get rebuilt.

1,500

Load jobs per table per day

The single most important number in this category, and the reason micro-batching fails. Failed load jobs count toward it too. Source: BigQuery quotas and limits.

100,000

Load jobs per project per day

Replenished every 24 hours. Data Transfer Service runs consume this same pool, which is how a project with many marketing transfers hits quotaExceeded errors. Source: BigQuery quotas.

15 TB

Maximum size of a single load job

Total across all CSV, JSON, Avro, Parquet and ORC input files in one job. The limit does not apply to jobs running with a reservation. Source: BigQuery quotas.

6 hours

Load job execution time limit

A load job fails if it runs longer than six hours, which is what a single enormous backfill hits. Split the historical load into chunks. Source: BigQuery quotas.

100 MB

Maximum CSV or ndJSON row size

Individual cells cap at 100 MB too. A compressed CSV file caps at 4 GB while an uncompressed one goes to 5 TB, so compression can be the thing that breaks a load. Source: BigQuery quotas.

$49/mo

Adapters entry price, flat

No monthly active rows, no credits, no per-connector charge. The bill is the same whether the sync moves 400 rows or 400,000.

A few more worth having in front of you before the first load: a table can hold up to 10,000 columns including nested and repeated ones, a single load job can reference 10,000 source URIs and up to 10 million files, and Avro file data blocks cap at 16 MB. Google's own advice, published alongside these limits, is that if you regularly exceed the load job limits because of frequent updates you should be streaming into BigQuery instead of batching.

How a BigQuery pipeline should be built, step by step

The order matters more than the tool. These five decisions are the ones teams revisit expensively when they get them wrong on the first pipeline.

01 / Land

Get the raw data into BigQuery before you reshape it

Land source data as close to raw as you can, in its own dataset, and let BigQuery compute do the reshaping afterwards. Raw landing zones make a pipeline replayable: when a transformation turns out to be wrong you fix the model and rerun it, instead of re-extracting six months of history from a source API that no longer keeps it.

02 / Batch

Respect the 1,500 load jobs per table per day ceiling

This is where hand-built pipelines die. A loop that fires one load job per file or per record will exhaust the daily table quota long before the data is in, and failed jobs count against it as well. Batch the files, or switch to the Storage Write API, which is what Google itself recommends when frequent updates keep pushing you past the load job limits.

03 / Shape

Partition and cluster before the table gets big

Partitioning on an ingestion date or an event timestamp is what stops every query scanning the full history, and BigQuery bills by bytes scanned. Clustering on the columns you filter by does the rest. Both are far cheaper to set when the table is created than to retrofit once dashboards, scheduled queries and reports already depend on it.

04 / Key

Merge on a business key so reloads are idempotent

A load you cannot safely run twice is a load you will be afraid to rerun at 2am. Choose the primary key or business key that identifies a record in the source and have the pipeline MERGE on it rather than append. This is the difference between a failed run being a non-event and a failed run creating duplicate revenue in a report.

05 / Watch

Alert on the sync that did not run

The failure that hurts is not the loud one. It is the pipeline that stopped three weeks ago while a dashboard kept rendering the last numbers it saw. Freshness monitoring, row count checks against the source, and an alert routed to a human who is actually on duty matter more than any feature on a comparison table.

What teams actually load into BigQuery

Production database into the warehouse

Replicating Postgres, MySQL or SQL Server into BigQuery so analysts can query without touching the transactional database. This is the most common BigQuery pipeline of all, and the one where change data capture earns its configuration cost.

Marketing data next to product data

Google Ads, Analytics 4 and Search Ads 360 land natively through the Data Transfer Service. The value appears when you join them against product and billing tables, which is exactly what a spreadsheet export cannot do.

CRM data for revenue reporting

Pulling Salesforce or HubSpot objects into BigQuery so pipeline, conversion and attribution can be modeled against usage and payment data instead of inside a CRM report builder.

Payments and billing into finance models

Loading Stripe, PayPal or Square into BigQuery to reconcile against the accounting system. Stripe amounts arrive as integers in the smallest currency unit, so $42.50 lands as 4250 and needs a cast on the way in.

Ecommerce orders and inventory

Shopify order, customer and inventory data into BigQuery for cohort analysis and margin reporting. API rate limits make the first full backfill slow, so plan the historical load separately from the incremental schedule.

BigQuery back out to the applications

Once the modeled result exists, someone wants it in the CRM. The Data Transfer Service cannot do that, because it only moves data in. The return trip is reverse ETL and has its own tooling and its own failure modes.

When another BigQuery ETL tool is the right answer

We would rather you buy the correct thing than churn in month three. Five situations where Adapters is not what you want.

Your sources are Google advertising products

Google Ads, Analytics 4, Search Ads 360, Ad Manager and YouTube all land through the BigQuery Data Transfer Service with no third-party licence at all. Use the first-party path and spend your budget on the sources Google does not cover.

You need hundreds of connectors

If the requirement list runs to forty SaaS sources including several obscure ones, buy catalog breadth. Fivetran and Airbyte have spent years on that surface area and we have not.

You want log-based CDC on a big database

Datastream reads the database log and merges into BigQuery continuously, with max_staleness as the freshness dial. We run scheduled syncs. If a hard delete has to disappear from the warehouse within seconds, that is a CDC job.

You want a visual transformation canvas

We do field-level mapping and no-code transforms, not a graphical job designer with joins, aggregates and branching. That is Data Fusion or Matillion territory, or dbt if you would rather write SQL.

Your volume genuinely is enormous

Flat pricing is a bet that most teams move a predictable amount of data. If you are loading billions of rows a month, negotiate a volume contract with a metered vendor and you will likely beat our list price. Our advantage is the middle, where a metered bill is unpredictable and a hand-built loader is a permanent staffing cost nobody put on the budget.

Four questions to ask on every BigQuery ETL demo

How many load jobs will this create per table per day?

The answer decides whether you hit the 1,500 per table ceiling. A vendor that batches hourly is nowhere near it. A vendor that writes one job per file, with an active source, can get there in an afternoon and the failures count too.

What does a full historical resync cost?

On a metered plan the backfill is the expensive month, and you will resync more often than you expect: a schema change, a mapping fix, a source outage. Ask for the number in writing before the trial ends, not after.

What happens when the source adds a column?

Schema drift is the most common cause of a quietly broken pipeline. Does the tool add the column, ignore it, or fail the run? All three are defensible. Not knowing which one you bought is not.

Can I see why one specific record did not arrive?

Ask them to show you a per-record error log during the demo, not a green dashboard tile. When finance says one invoice is missing, a run-level success indicator tells you nothing useful.

BigQuery connectors, source by source

Each page below covers one lane into or out of BigQuery: the field mappings, the type conversions that bite, the incremental strategy and the questions people ask about that specific pair.

Questions buyers ask about BigQuery ETL tools

What are BigQuery ETL tools?
BigQuery ETL tools are the platforms that move data from your source systems into BigQuery tables and keep them current. Most of them actually run ELT rather than ETL: they land raw data in BigQuery first, then transform it with SQL inside the warehouse, because BigQuery compute handles that reshaping faster and cheaper than an external engine.
Is BigQuery an ETL tool?
No. BigQuery is the destination, a serverless data warehouse, not a pipeline. It does not reach out and collect data on its own. Google ships separate first-party products for the movement half: the BigQuery Data Transfer Service for scheduled SaaS sources, Datastream for database change data capture, and Dataflow or Data Fusion for custom pipelines.
Is BigQuery ETL or ELT?
Neither by itself, because BigQuery is the target rather than the process. The pattern nearly every team runs on it is ELT: extract from the source, load raw into BigQuery, then transform with SQL or dbt. Classic ETL still appears where compliance requires masking or dropping fields before the data lands in the warehouse.
What is the best ETL tool for BigQuery?
There is no single best one, only a best fit. Fivetran wins on managed connector breadth. Airbyte wins on catalog size and open source control. Dataflow wins for custom streaming logic in code. Datastream wins for database change data capture into BigQuery. Adapters wins when you need a handful of dependable syncs on a flat monthly bill instead of a row meter.
How do I load data into BigQuery?
There are five realistic paths. Batch load jobs read files from Cloud Storage or your machine. The Storage Write API streams rows directly. The Data Transfer Service pulls scheduled SaaS and Google sources. Datastream replicates databases with change data capture. External tables let you query data in place without loading it at all.
What is a BigQuery connector?
The term covers two different things, which is why search results for it are confusing. A BigQuery driver or client library, such as the Python client or the JDBC driver, lets your own code query BigQuery. A BigQuery data connector, such as a Data Transfer Service transfer or a Fivetran connector, is a managed pipeline that replicates a source system into BigQuery tables on a schedule.
What is reverse ETL for BigQuery?
Reverse ETL is the opposite direction: taking a modeled table in BigQuery and pushing those rows back into an operational tool such as Salesforce, HubSpot or a support desk. It matters because the Data Transfer Service is one directional and cannot move data out of BigQuery, so the return trip needs different tooling entirely.
How much do BigQuery ETL tools cost?
Almost every vendor in this category bills by volume rather than by seat. Fivetran meters monthly active rows, Airbyte meters credits tied to rows or gigabytes, and Google native services bill by compute consumed. That makes the bill hard to forecast before you run it. Flat per-month pricing, which is what Adapters uses at $49 to $399, trades ceiling for predictability.
What are BigQuery ETL best practices?
Land raw data first and transform in SQL afterwards. Batch your loads rather than firing one job per record, because BigQuery allows 1,500 load jobs per table per day. Partition and cluster large tables before the data grows. Merge on a stable business key so a rerun cannot duplicate rows. Alert on the sync that stopped, not just the one that errored.

For the categories around this one, see Snowflake ETL tools if you are weighing the two warehouses, best data integration tools for the general market, change data capture tools when the source is a live database, and ETL software for how our own pipeline works end to end. If the source you are loading from is PostgreSQL, the options and its own built-in replication are compared on Postgres ETL tools. Teams comparing Google Cloud with AWS will want the equivalent breakdown in Redshift ETL tools, where zero-ETL changes the shortlist the way Datastream does here. A practical walkthrough of the loading commands lives in how to load data into BigQuery.

Load your sources into BigQuery on a flat monthly price

Map the columns once, pick a schedule, and let it run with retries, alerts and per-record logs. From $49 a month, with no row meter and no credits to forecast.

Try the live demo

No credit card required.