Google Ads offers a list of available reports and their columns/dimensions/metrics.
Through the setup wizard you can configure your Google Ads connection to query each account - no matter how many you have - and combine them into tables (one per each report) within your destination.
You can also load data from different Google Ads accounts into separate schemas within your destination by selecting the relevant accounts and reports you want to load into the schema.
While configuration in the UI, many fields within Google Ads reports cannot be selected in conjunction with other fields, so rather than simply selecting all fields of a report, you may want to review the above link to figure out exactly which metrics you want to sync.
Because of this limitation, if it’s imperative that you receive fields that conflict with one another, you may need to set up two different reports within one connector (or even another Google Ads connector targeting another schema name).
NOTE: When requesting your fields, you must also add
dateas a field because we require it for incremental updates.
|dbt Package||check||Get the package: source / transform; Get the ad reporting package|
Supported Account typeslink
There are two types of Google Ads accounts. Each account type has its specific access level.
A Manager account (formerly MCC - My Client Center) is a Google Ads account type for advertisers or agencies who are managing multiple client accounts. You can read more about a Manager account’s access levels on Google Ads’s website.
The client accounts only have access to information stored within their account. Initially, when you have created a client account, it does not have access to the API. To get the API access, the client account needs to be associated with a Google Ads manager account. Once it has been done, you (and Fivetran) can query data for your client account. If you do not already have a manager account, you need to create one by following Google’s instructions.
The following image illustrates the relationship between the client and manager accounts.
The following image illustrates how the accounts get mapped to your destination table:
Follow our step-by-step Google Ads setup guide to connect Google Ads with your destination using Fivetran connectors.
A conversion window is the period of time after a person interacted with your ad during which the subsequent actions, like a phone call or a purchase, are recorded in Google Ads. By default, Google Ads uses a conversion window of 30 days. If you use the default setting, your reports contain information about the actions that happened within 30 days after a person interacted with your ad.
Since you can specify custom window size for your conversion trackers, you may want to set the same conversion window size in your Google Ads connector. You can set the window size manually in the range of 1 to 90 days, or let Fivetran detect it automatically.
Fivetran performs automatic window detection before each sync. Automatic window detection finds the maximum window size across all the conversion trackers available for the specified accounts. It adds some extra time to each sync, depending on the number of accounts you want to sync. Note that the same conversion window applies to all reports configured in the connector.
NOTE: If you set your window size manually and select a window size smaller than what you set in Google Ads, you will lose some conversion data. If you select a window size bigger than you have, there will be some excessive syncs leading to an unwanted increase in your Monthly Active Rows.
We do not pull zero impression data for Google Ads reports.
It means that even if you see 0 clicks or 0 impressions for your entity in the Google Ads dashboard, you won’t receive the same values for your reports.
Enabling and disabling syncs for your reportslink
On the connector’s schema tab, you can enable or disable the sync for any report you previously set up. The schema tab shows the table name you chose to correspond to the report when you set up the connector. It doesn’t show the report name. For that reason, we suggest you name the table something you will find easy to identify.
De-selecting a table on the schema tab means the connector will not sync the table and the last sync date for this table won’t change until you select the table again. After selecting the table, the connector will sync data since the last sync date.
NOTE: all metadata tables have a single cursor that is updated on each sync if at least one metadata table is selected.
For metadata tables, we use two types of data sync:
- A historical data sync fetches all data from the customer’s Google Account using the Google Ads API. Usually, a historical sync starts automatically after the connector is created, or when a historical sync is manually triggered in your Fivetran dashboard.
- An incremental sync runs on a customer-defined schedule and updates only data that has changed since the last sync. During the incremental sync, the connector uses the AdWords API Sync Service to retrieve the changed entities and track the last change timestamp.
IMPORTANT: Metadata tables don’t contain the full change history for the objects within an account. During every sync, the connector retrieves a list of objects that have changed since the previous sync, and takes a snapshot of their current state. A historical sync captures the current state of all the objects within an account.
The metadata tables will additionally trigger a historical sync under the following conditions:
NOTE: This historical sync only applies to the Metadata tables.
- More than 90 days have passed since the last sync AdWords API Sync Service only supports queries for dates within the last 90 days. If, for any reason, the last sync was run more than 90 days ago, the connector will trigger a historical sync.
- Too many changes in the account There are too many changed entities in the account to return. All attempts to narrow the date range and retry the request were unsuccessful. The connector assumes everything has changed and triggers a historical sync.
We are handling and generating warnings for some exceptions that can be caused by authorization-related problems:
CUSTOMER_NOT_ACTIVE- The customer is not active and has been skipped during the sync.
USER_PERMISSION_DENIED- The user doesn’t have the permission to access the customer, therefore the customer has been skipped during the sync.
TWO_STEP_VERIFICATION_NOT_ENROLLED- The customer has a policy to enforce 2-Step Verification, but the user is not enrolled.
We provide three types of reports:
- Prebuilt Report
- Custom Report
- Metadata Report
For either kind of report, we deliver a single table with the three standard fields:
To get a Custom Report, you need to select the report type and fields you wish to sync in the connector setup form.
A Prebuilt Report syncs a pre-defined set of fields. See the full list of our Prebuilt Reports.
For the Prebuilt and Metadata reports, we have predefined tables in the schema tab that you can enable or disable.
NOTE: The money amount field values are stored in micros for the following tables:
One million micros is equivalent to one unit of a local currency. For example, $180.00 equals 180000000 micros. For more information, see AdWords API Reference documentation.
NOTE: The connector cannot sync video campaign data for metadata tables because the Google AdWords API does not support video campaigns. Some data from video campaigns can be collected by creating a custom Video Performance report.
NOTE: App Campaigns only support a small subset of reports. No data will be synced for any other report types.
Type transformations and mappinglink
Fivetran transforms types. If there is an important type that we are missing that you need, please reach out to support.
When setting up a report, make sure to have the Google Ads source documentation handy, as the report field names and destination field names do not always match. Here are a few examples of the field and report name mapping we are often asked about:
|Report Type||Field Display Name||Field Source Name||Docs|
|Keywords Performance Report||Keyword Text||Criteria||Link|
|Age Range Performance||Age Range||Criteria||Link|
|Campaign Performance Report||Conversion category||ConversionCategoryName||Link|
NOTE: Take into account our standard naming conventions.
ConversionCategoryNamein the example becomes
conversion_category_namein the destination.
Because Google Ads data is delivered as a pre-defined report, changing the way that it is formatted is a little tricky. Adding or removing fields changes the way the data is aggregated and synced, which requires you to delete the existing table from your destination and perform a full resync of the data.
These steps can get complicated and increase the chances of an error, so we urge you to create an entirely new integration, perhaps syncing into a different schema.
Reports do not support deleted rows because they often record events and data chronologically, so it is impossible to delete data that has already been logged.
Syncing empty tables and columnslink
Fivetran can sync empty tables and columns for your Google Ads connector. For more information, see our Features documentation.
NOTE: We do not sync empty metadata tables and columns for Google Ads.
Google Ads connectors use the
date field to sync reports by day. Thus, we only support the following reports, which have this field:
We don’t support the following reports:
AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT(deprecated after September 12, 2021)
URL_PERFORMANCE_REPORT(deprecated after September 12, 2021)
The AdWords API provides data only for the following campaigns:
Video(not available in metadata tables)
App campaigns(available only in