Google Ads


This page contains the setup guide and reference information for the Google Ads source.


Feature NameSupported
Full ImportYes
Incremental ImportYes
Start Date SelectionYes
End Date SelectionYes

Supported streams

Main Tables

Note that ad_groups, ad_group_ads, and campaigns contain a labels field, which should be joined against their respective *_labels streams if you want to view the actual labels. For example, the ad_groups stream contains an ad_group.labels field, which you would join against the ad_group_labels stream's label.resource_name field.

Report Tables

Requirements and prerequisites

A Google Ads Account (opens in a new tab) linked (opens in a new tab) to a Google Ads Manager account (opens in a new tab)

Set up guide

  1. Create a new source, enter a Name for it and select "Google Ads (Airbyte)" from a source type list, then click Create
  2. Create a new source for Google Ads for the previously created source.
  3. Enter a comma-separated list of the Customer ID(s) (opens in a new tab) for your account. The format is a 10-digit number without dashes.
  4. Enter the Start Date in YYYY-MM-DD format. The data added on and after this date will be replicated. If this field is blank, all data will be replicated.
  5. (Optional) If the access to your account is through a Google Ads Manager account (opens in a new tab), enter the Login Customer ID for Managed Accounts (opens in a new tab) of the Google Ads Manager account.
  6. (Optional) Enter a Conversion Window (opens in a new tab).
  7. (Optional) Enter the End Date in YYYY-MM-DD format. The data added after this date will not be replicated.

Performance considerations

This source is constrained by the Google Ads API limits (opens in a new tab).

Due to a limitation in the Google Ads API which does not allow getting performance data at a granularity level smaller than a day, the Google Ads connector usually pulls data up until the previous day. For example, if the sync runs on Wednesday at 5 PM, then data up until Tuesday midnight is pulled. Data for Wednesday is exported only if a sync runs after Wednesday (for example, 12:01 AM on Thursday) and so on. This avoids syncing partial performance data, only to have to resync it again once the full day's data has been recorded by Google. For example, without this functionality, a sync which runs on Wednesday at 5 PM would get ads performance data for Wednesday between 12:01 AM - 5 PM on Wednesday, then it would need to run again at the end of the day to get all of Wednesday's data.


  • Usage of Conversion Window may lead to duplicates in Incremental Sync, because connector is forced to read data in the given range.
  • Due to Google Ads API constraints, the click_view stream retrieves data one day at a time and can only retrieve data newer than 90 days ago. Also, metrics (opens in a new tab) cannot be requested for a Google Ads Manager account. Report streams are only available when pulling data from a non-manager account.
  • For incremental streams, data is synced up to the previous day using your Google Ads account time zone since Google Ads can filter data only by date (opens in a new tab) without time. Also, some reports cannot load data real-time due to Google Ads limitations (opens in a new tab).