Build BigQuery Data Transfer configurations for Google Ads, Cloud Storage, and S3 imports with scheduling.
Build BigQuery Data Transfer configurations for Google Ads, Cloud Storage, S3, and other data source imports with scheduling.
Required Fields
displayNamedataSourceIddestinationDatasetIdscheduleOutput will appear here...Build BigQuery Data Transfer Service configurations across connector types (Google Ads, Cloud Storage, Amazon S3, and others), each with a distinct params schema and its own minimum schedule interval, refresh window, and auth model. Google Ads transfers can automatically re-process a trailing window of recent days to pick up attribution/conversion data that Google Ads itself revises after the fact, while file-based transfers (Cloud Storage, S3) use write_disposition and max_bad_records the same way a batch load job does, since under the hood these connectors are essentially managed, scheduled load jobs rather than a live streaming pipeline.
A marketing analytics team notices their BigQuery-based Google Ads revenue dashboard consistently undercounts the most recent two to three days compared to the native Ads UI, and initially suspects a bug in the downstream dbt transformation. After ruling that out, they trace it to the transfer's re-processing window being too short to capture Google Ads' own late conversion attribution updates. They use the builder to review the params block, extend the trailing re-processing window the connector re-pulls on each run, and after the next scheduled run, the dashboard's trailing few days start matching the Ads UI within the normal small reconciliation variance instead of consistently under-reporting.
A file-based transfer's max_bad_records silently drops malformed rows up to that count rather than failing the whole load, a generous max_bad_records value can mask a real, growing data quality problem in the source system for weeks before anyone notices missing rows downstream.
Google Ads (and similar ad-platform) transfers need their trailing re-processing window tuned to match how far back that platform revises attribution data, too short a window means permanently-stale numbers for the most recent few days, not a one-time discrepancy that resolves itself.
Mixing multiple additionalTransfers with very different schedule cadences into one conceptual 'daily pipeline' can create confusing partial-data states downstream if consumers assume all sources refresh together, document each transfer's actual cadence explicitly rather than assuming uniformity.
The builder requires displayName, dataSourceId, destinationDatasetId, and schedule to resolve, the fields common to every Data Transfer Service connector regardless of source type; the params block's actual required fields differ per dataSourceId (Google Ads needs a customer_id, S3 needs access credentials and a path), and the builder validates the JSON is well-formed but can't enforce which params a specific connector actually requires.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.