Google Ads
Google Ads is an online advertising platform where advertisers bid to display brief advertisements, service offerings, product listings, or videos to web users.
Features
Feature Name | Supported | Notes |
---|---|---|
Capture deletes | ||
History mode | ||
Custom data | ||
Data blocking | check | |
Column hashing | check | |
Re-sync | check | |
API configurable | check | API configuration |
Priority-first sync | ||
Fivetran data models | check | |
Private networking | ||
Authorization via API | check |
Supported Account types
There are two types of Google Ads accounts. Each account type has its specific access level.
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.
Client accounts
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:
NOTE: We can't sync data from canceled Google Ads accounts using the API. You must reactivate your canceled account.
Setup guide
Follow our step-by-step Google Ads setup guide to connect Google Ads with your destination using Fivetran connectors.
Sync overview
Incremental sync
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 for the past three days.
NOTE: For the
GEO_TARGET
table, we sync all records on the 1st and 15th of every month, which may increase your MAR.
Rollback sync
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. In the Conversion Window Size field of your connector setup form, you can choose a rollback sync window size between 1 and 90 days. The default value is 30.
Conversion window
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 an automatic window detection before each sync. The automatic window detection finds the maximum window size across all the conversion trackers available for the specified accounts. It adds some extra time for each sync to complete which depends on the number of accounts you want to sync.
NOTE: 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 impressions
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.
Timeline granularity for custom reports
IMPORTANT: Timeline granularity for custom reports is only available for connectors created after June 7, 2024. Any connectors created before that date require the
segments.date
field.
Custom reports require at least one of the following segments:
segments.date
segments.week
segments.month
These three segments instruct Google Ads' API to return data segmented by days, weeks, or months. This is useful when you require monthly statistics and don't need any additional details. Selecting a higher segment results in less rows and provides a more high-level overview.
If you select multiple timeline segments, we segment the data by the lowest selected segment. For example, if you select both segments.date
and segments.month
, we segment the data by day and contain a month value.
Enabling and disabling syncs for your reports
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 stop syncing the table. The last sync date for this table won't change until you select the table to sync again. After selecting the table, the connector will sync the data that appeared in the source since the last recorded sync date.
Skip empty reports
When a connector receives empty data for an account report (prebuilt or custom), it starts monitoring it during a 30 days period. If during that time the account report remains empty, the connector starts attempting to sync the report every 1 to 3 days. Upon receiving data, the connector stops syncing the account report every 1 to 3 days and starts a new 30 days monitoring period.
Skipping empty account reports significantly improves connector performance. This feature is enabled by default for all connectors. However, you can also manually toggle it On or Off on the connector setup form. Disabling this option may decrease connector performance.
Metadata sync
For Metadata tables, we use three 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 (which is also called the initial sync), or when you manually trigger a historical sync in your Fivetran dashboard (which is also called a full re-sync).
- An incremental sync, which is the default sync type Fivetran uses after the initial sync has completed. The incremental sync runs on a schedule that you define and updates only the data that has changed since the last sync. During the incremental sync, the connector uses the Google Ads API Change Status Service to retrieve data only for entities that have changed in the source since the last sync and to track the last change timestamp.
- A full re-import, which Fivetran uses for a Google Ads account when there are too many changes to return within the scope of the incremental sync and all attempts to narrow down the date range and retry the request since the last sync are unsuccessful. These re-imports produce MARs.
IMPORTANT: Metadata tables don't contain the full change history of their corresponding objects within an account. In case of metadata tables, 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, on the contrary, captures the current state for all the objects within an account regardless if they have changed or not.
IMPORTANT: We perform a full re-import for the
ACCOUNT_HISTORY
table during every sync as the Google Ads API doesn't provide information regarding changes made to the table.
Handled exceptions
Fivetran handles the following Google Ads authorization errors, and generates warnings when these errors occur:
CUSTOMER_NOT_ENABLED
- 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.
Syncing data from multiple Google Ads accounts
When setting up your Google Ads connector, you can configure it to query each account - no matter how many you have - and combine their data into a single table (one per each report) within your destination.
You can also limit the data loaded into a particular schema by selecting the relevant accounts and reports you need. You can use multiple connectors to write data to separate schemas.
Field selection limitation
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: All connectors created before June 7, 2024 must include the
segments.date
field in custom reports, which is required for incremental syncs.
NOTE: All connectors created after June 7, 2024 must include one of the following timeline segments:
segments.date
segments.week
segments.month
For more details, see timeline granularity for custom reports.
CAMPAIGN_SEARCH_TERM_INSIGHT
report sync speed
The Google Ads API limits the sync speed of the CAMPAIGN_SEARCH_TERM_INSIGHT
report. We recommend that you create a separate connector to sync the CAMPAIGN_SEARCH_TERM_INSIGHT
report and avoid delays for other reports.
Schema information
We provide the following types of reports and tables:
- Prebuilt reports, which sync a pre-defined set of fields. We have the corresponding pre-defined tables on the Schema tab that you can enable or disable.
- Custom reports, which require you to select the report type and fields you wish to sync in the connector setup form.
- Metadata tables reflecting the state of their respective entities in the source - These are shown in the ERD as tables without the
_stats
suffix in their name. We have the corresponding pre-defined tables on the Schema tab that you can enable or disable.
For either of them, we deliver a single table that contains the following standard fields besides its specific fields:
date
customer_id
_fivetran_id
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.
Type transformations and mapping
Fivetran transforms types. If there is an important type that we are missing that you need, reach out to support.
Naming conventions
The connector follows a few specific naming rules used to name the columns in the 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 data
When you change the configuration of your connector, we will re-sync the connector during the next sync, and you will see a warning in your Fivetran dashboard.
We re-sync prebuilt reports in case we need to change or remove fields for compatibility with the current Google Ads API version or when we add support for new fields.
We automatically update custom report configuration for compatibility with the current Google Ads API version if needed. If the update involves entity renaming or deletion in the Google Ads API, you will see a warning in your Fivetran dashboard.
IMPORTANT: The above cases can get complicated and increase the chances of an error, so we urge you to create a new connector, perhaps syncing into a different schema, in either of the cases:
- you want to change the configuration of your connector
- we had to update the configuration of your connector for compatibility with the current Google Ads API version or due to added support of new fields
Deleted rows
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 columns
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 campaigns
Advertising channel types
- Discovery
- Display
- Hotel
- Local
- Local Services
- Multi Channel
- Performance Max
IMPORTANT: The Performance Max campaign types are excluded from results if any
ad_group
orad_group_ad
level resources are selected within the report. To learn more, see the Key Point in Google's Reporting, optimization, and troubleshooting documentation.
- Search
- Shopping
- Smart
- Travel
- Video
Advertising channel subtypes
- App Campaign
- App Campaign For Engagement
- App Campaign For Pre-Registration
- Display Express
- Display Gmail Ad
- Display Mobile App
- Display Smart Campaign
- Local Campaign
- Search Express
- Search Mobile App
- Shopping Comparison Listing Ads
- Shopping Smart Ads
- Smart Campaign
- Travel Activities
- Video Action VIDEO_ACTION
- Video Skippable
- Video Outstream
- Video Reach Target Frequency
- Video Sequence
UTC conversion
We don't convert source timestamps to Universal Time Coordinated (UTC) but use the Google Ads account's time zone to store the data in your destination.