Google Ads is an online advertising platform where advertisers bid to display brief advertisements, service offerings, product listings, or videos to web users.
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.
When configuring your connector in the setup form, you may find that you cannot combine some fields available in your Google Ads reports. You may want to review the Google Ads API documentation to figure out exactly which metrics you want to sync, rather than just select all fields of your Google Ads report.
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 selecting fields, you must always add the
segments.date
field, which is required for incremental syncs.
Featureslink
Feature Name | Supported | Notes |
---|---|---|
Capture deletes | ||
Custom data | ||
Data blocking | check | Column level |
Column hashing | check | |
Re-sync | check | Connector level |
History | ||
API configurable | check | |
Priority-first sync | ||
Fivetran data models | check | Get the models: source / transform; Get the ad reporting model |
Private networking |
Supported Account typeslink
There are two types of Google Ads accounts. Each account type has its specific access level.
1. Manager accounts
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.
2. Client accounts
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:
Setup guidelink
Follow our step-by-step Google Ads setup guide to connect Google Ads with your destination using Fivetran connectors.
Sync overviewlink
Incremental synclink
An incremental sync is a regular sync that starts according to the sync frequency that you chose in the Fivetran dashboard. Each incremental sync captures changes from the last three days.
Rollback synclink
A rollback sync is a sync that automatically starts once a day. Rollback syncs capture the changes that happen outside of the incremental sync time frame. You can choose the length of a rollback sync using the Conversion Window Size parameter in the connector setup form. The default window size is 30 days.
Conversion windowlink
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.
IMPORTANT: Changing the conversion window size for the connector only changes the length of a rollback sync. It does not affect the conversion window settings in your Google Ads account.
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.
Zero Impressionlink
The Google Ads API returns rows with zero metric values only if the report does not contain segments.
If the report contains segments, the rows with zero metric values are excluded.
Unlike the older AdWords API, the Google Ads API does not support the includeZeroImpressions
parameter.
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.
Metadata synclink
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 Google Ads API Change Status 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.
Fivetran will additionally trigger a historical sync for the metadata tables when there are too many changes to return and all attempts to narrow the date range and retry the request were unsuccessful.
Handled exceptionslink
Fivetran handles the following Google Ads authorization errors, and generates warnings when these errors occur:
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.
Schema informationlink
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:
date
customer_id
fivetran_id
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.
For the Prebuilt and Metadata reports, we have predefined tables in the schema tab that you can enable or disable.
To zoom, open ERD in new window
NOTE: The money amount field values are stored in micros. One million micros is equivalent to one unit of a local currency. For example, $180.00 equals 180000000 micros.
Reports changeslink
Instead of report types
used in the AdWords API, the Google Ads API uses resources
, such as campaign
, and resource views
, such as keyword_view
.
If you want to create a report that is most similar to an AdWords report, refer to Google’s Field mappings for AdWords API reports.
Single Attributionlink
Instead of having single attribution reports containing multiple criteria types, the Google Ads API relies on different reporting views for retrieving statistics related to different criteria types.
For example, you can make use of keyword_view
to retrieve data by keyword, or product_group_view
to retrieve data by product group.
Thus, there is no longer a generic report that contains multiple criteria types, and you can only get statistics for a criteria type by looking up its view.
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.
Naming conventionslink
The connector follows a few specific naming rules for columns in a destination:
- the
segments
andmetrics
parts are removed from the field name -segments.date
becomesdate
,metrics.clicks
becomesclicks
- the name of a resource specified as a report type in the report is removed from the field name -
ad_group.id
becomesid
in thead_group
report,campaign.name
becomesname
in thecampaign
report customer.id
always becomescustomer_id
no matter what resource name is specified as a report type in the report- if a field has a deep nesting, the connector only leaves the two last parts joined by an underscore -
ad_group_ad.ad.expanded_text_ad.description
becomesexpanded_text_ad_description
NOTE: Take into account our standard naming conventions.
ConversionCategoryName
in the example becomesconversion_category_name
in the destination.
Updating datalink
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.
Deleted rowslink
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.
Available campaignslink
The most important reason for using the Google Ads API is that it supports multiple campaign types that were not supported by the AdWords API.
Campaign Typeslink
Advertising Channel Types
The following advertising channel types are supported by both the Google Ads and AdWords APIs:
- Search
- Display
- Shopping
- Video
- Multi channel
The following advertising channel types are only supported by the Google Ads API:
- Hotel
- Local
- Smart
The following advertising channel types are only supported by the AdWords API:
- Express
Advertising Channel Subtypes
The following advertising channel subtypes are supported by both the Google Ads and AdWords APIs:
- Search mobile app
- Display mobile app
- Search express
- Display express
- Display smart campaign
- Display gmail ad
The following advertising channel subtypes are only supported by the Google Ads API:
- App campaign
- App campaign for engagement
- Local
- Shopping comparison listing ads
- Shopping smart ads
- Smart campaign
- Video action
- Video non-skippable
- Video outstream
- Video sequence
The following advertising channel subtypes are only supported by the AdWords API:
- Shopping goal optimised