Data Discrepancies Between Google Ads and the Destination
Explore the common causes of data mismatches, missing records, and schema issues in your Google Ads connection, and learn how to keep your data accurate and reliable.
Common causes of Google Ads data discrepancies
A field is unavailable in the ERD
If a field is unavailable in the ERD, it may only be possible to sync it as part of a custom report.
See the Google Ads API documentation and identify the fields you want to include and their corresponding reports. You can add custom reports while setting up a new connection. For existing connections, go to the Setup tab and click Edit connection details. For detailed instructions, see our documentation on adding custom reports.
If we don't support the chosen field or report type, you can submit a feature request.
Accounts missing or unavailable
We don't support syncing accounts that have no relevant Google Ads data. As a result, these accounts may be missing from your destination or unavailable when you configure your connection.
Conversions data discrepancies
If you notice a discrepancy only in conversion data, the conversion window configured in Fivetran may differ from the one configured in Google Ads. To compare the conversion windows:
- Check the conversion window in Google Ads. To learn how, see the Google documentation on conversion windows.
- Check the conversion window in Fivetran:
- In the connection dashboard, go to the Setup tab.
- Click Edit connection details.
- Click Show Advanced Options.
- Note the Conversion Window Size.
If the conversion windows differ, update the conversion window in either Google or Fivetran to match, then re-sync any report tables that include conversion data. For instructions, see How to Trigger Historical Re-Syncs for Fivetran Tables.
If the conversion windows are the same, create the custom report in the Google report editor using the same fields you have configured in the connection report, then compare the data to verify if and where the differences occur.
Metrics value discrepancies
If the Google Ads report and the Fivetran report do not use exactly the same fields, metric values may differ between them.
To confirm a data discrepancy, build the report in the Google report editor using the same fields configured in the connection report, then compare the results. If you still notice a discrepancy, contact our support team with the following:
- IDs of the affected records.
- The date range you are comparing.
Cost and impression discrepancies
If you compare different report types or include segments in only one report, cost and impression values may differ between Google Ads and Fivetran. Use the same report configuration in both Google and Fivetran to compare accurately.
Impression discrepancies across prebuilt report tables
If you compare impression totals across different prebuilt report tables, the values may differ because Google Ads reports impressions at different levels of detail in different reports. For example, AD_GROUP_HOURLY_STATS reports impressions by segment, while AD_GROUP_STATS reports total impressions without segments. As a result, comparing impression totals for the same ads across these tables may produce different values.
To check for discrepancies, we recommend comparing your data in each prebuilt report table against the data in Google using the exact same report configuration.
Table or report missing from the destination
If a metadata table, prebuilt report table, or custom report table is missing from your destination:
- In Fivetran, go to your Google Ads connection page.
- Select the Schema tab.
- Verify that the checkbox next to the table is selected.
- Check that the source data for the table is available in Google Ads.
- Check whether access to the Google Ads account changed since the last sync.
- If a new user was granted access, or if the authorizing user's permissions changed, re-authorize the connection and sync again.
We don't support reports that don't contain a date field, such as the budget_performance_report or conversion_custom_variable reports.
Missing records
If your report contains segments, Google Ads excludes rows with zero metric values. As a result, records with zero-valued metrics may be missing from segmented reports.
In addition, if an account is unavailable for a period of the sync or added later, the sync may not capture some records. If the account absence correlates with the missing records, re-sync the affected tables. To learn how, see How to Trigger Historical Re-Syncs for Fivetran Tables.
Duplicate rows with matching field values
The Google implicit segmentation feature can produce rows that look like duplicates, even when they are distinct records in Google.
Some field configurations can make distinct source records appear as duplicates. For example, if you create an ad_group report with the fields segments.date and metrics.impressions, Google Ads may implicitly add ad_group.resource_name to the report. If your connection is not configured to sync that field, the destination table does not show the Google Ads value that distinguishes the rows. As a result, multiple distinct records may appear to have the same values for fields such as segments.date and metrics.impressions.
You can use the _fivetran_id column to identify unique records. To confirm whether similar rows represent distinct Google Ads records, create a new custom report and add relevant *.id or *.resource_name fields. These fields can reveal the value that differs between rows that otherwise appear identical. For instructions, see our documentation on adding custom reports.
Missing ad names for Dynamic Search Ads
We utilize the Google API ad_group_ad.ad.name field to identify ad names. However, this field only supports the following ad types:
As a result, we don't sync ad name data for Dynamic Search Ads. For more information, see the Google ad_group_ad API documentation.
asset_name returns null for YouTube assets
The Google API may not return YouTube asset names through the asset.name field. To get YouTube asset names in your custom report, include the asset.youtube_video_asset.youtube_video_title attributed resource field.