List
Read live records straight from the Google Ads API.
Send Google Ads customer, customer label and campaign criterion to any warehouse, lake or AI app.
Source
Google Ads

Overview
The Airbyte Google Ads connector extracts data from Google Ads and loads it into 50+ destinations such as Snowflake, BigQuery, Databricks or Postgres, with full refresh and incremental sync. It publishes 30 streams you can select per connection.
Land 30 Google Ads tables in 50+ destinations on a schedule you control.
Read, create and update Google Ads records at runtime through typed entity actions.
Query synced Google Ads data with filters, sorting and semantic search, without spending Google Ads API rate limits.
Pull only the records that changed since the last run instead of reloading everything.
30 streams
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
Setup
Go to the Airbyte dashboard and click on "Sources" on the left-hand side of the screen.
Click on the "New Source" button and select "Google Ads" from the list of available connectors.
Enter a name for your connector and click on "Next".
Enter your Google Ads credentials, including your client ID, client secret, refresh token, and developer token.
Click on "Test Connection" to ensure that your credentials are correct and that Airbyte can connect to your Google Ads account.
Once the connection is successful, select the accounts that you want to sync with Airbyte.
Choose the sync mode that you want to use, either "Full Refresh" or "Incremental".
Set the frequency of your sync and click on "Create Source" to save your settings.
Your Google Ads source connector is now set up and ready to use. You can view your data in the Airbyte dashboard and start syncing it with your destination.
| Field | Type | Description |
|---|---|---|
| credentials* | object | Not documented. |
| conversion_window_days | integer | A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see Google's documentation. |
| custom_queries_array | array | Not documented. |
| customer_id | string | Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our documentation. |
| customer_status_filter | array | A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads documentation. |
| end_date | string | UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) |
| num_workers | integer | The number of concurrent threads to use for syncing. Increasing this value may speed up syncs for accounts with many customers or streams. Adjust based on your API usage and rate limits. |
| start_date | string | UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) |
4 actions
Read live records straight from the Google Ads API.
Query synced data with filters and sorting, with no API rate limits.
Patch fields on an existing record.
Write a new record back into Google Ads.
Full parameter-level details live in the Google Ads entity reference.
Hybrid deployment
The data plane runs in your environment. Records, credentials and keys stay with you; the control plane only receives configuration and job metadata.
Your environment
Airbyte control plane
Use cases
List all accessible Google Ads customer accounts
Show me all campaigns and their statuses
List all ad groups across my campaigns
What ads are running in my ad groups?
Show me campaign labels
List all ad group labels
What labels are applied to my ads?
Pause campaign 'Summer Sale 2025'
Enable the ad group 'Brand Keywords'
Create a label called 'High Priority'
Apply the 'Q4 Campaigns' label to my search campaign
Update the name of campaign 123456 to 'Winter Promo'
Which campaigns have the highest cost this month?
Show me all paused campaigns
Find ad groups with the most impressions
What are my top performing ads by click-through rate?
Show campaigns with budget over $100 per day
FAQ
No. One Google Ads authorization powers both the scheduled syncs that land data in your destination and the entity actions your agents call at runtime.
No. Entity actions read and write through the Google Ads API as they are called, so they work immediately. Context store search is the exception: it queries data Airbyte has already synced, which is what lets it filter and sort without spending API rate limits.
30 streams, including customer, customer label, campaign criterion, campaign bidding strategy, campaign label, label, ad group ad, ad performance and more.
Yes. The Google Ads connector supports incremental sync on selected streams, and full refresh on every stream.
Run the Google Ads connector on Cloud, OSS, Hybrid. Hybrid deployments keep the data plane in your environment while the control plane orchestrates syncs.
Didn't find your answer? Talk to sales
Free 14-day trial. One connection powers your scheduled syncs and your live Google Ads actions.