When migrating from Google Adwords to Google Ads, you may find limitations on the data output depending on the fields selected within the river.
The aim of this article is to provide you with the tools to self-troubleshoot this type of data discrepancy caused by Google Ads limitations.
These limitations have not been clearly listed and documented by Google yet, therefore it may be necessary for you to perform process-of-elimination testing within your river to find the problem fields limiting your results.
If you have a river where you’re missing specific campaign data you see in the Google UI you can replicate the following steps to troubleshoot.
Duplicate the river in question:
Remove one subgroup of fields (e.g. ad_group, metrics, segments, bidding_strategy):
Run river removing one subgroup at a time and query data after each run until the river yields missing data.
NOTE: In some cases, some data will not be included in certain reports at all. For example, Performance Max campaign data is not supported within the ‘AD_GROUP_AD’ report and will not be included in the output for that report regardless of the fields selected.
Below are some field limit examples:
- The ‘Ad Group Ad’ Report will ONLY yield campaign advertising channel type: SEARCH if any keyword fields are selected within the river (i.e. segments.keyword.ad_group_criterion, segments.keyword.info.text, segments.keyword.info.match_type).
Without these fields, the report will include all campaign advertising channel types (SEARCH, DISPLAY, SHOPPING, UNKNOWN, & VIDEO).
(According to Google Ads API support, “in the AdWords API, non-keyword data was being unintentionally exposed, whereas the Ads API enforces that a keyword segmentation is actually a keyword, hence non-keyword data is filtered out. The Ads API logic is consistent with the UI.”)
Google Ads API supports Performance Max report data only at the campaign level, not ads level. Therefore, Performance Max Campaign data will not be fetched in any reports if any ad_group fields (i.e. adGroup_id, adGroup_name, etc) are selected in the river.
Performance Max campaign data is not supported within the ‘AD_GROUP_AD’ report.
If you select bidding strategy fields (i.e. bidding_Strategy.type, bidding_Strategy.id, etc) within your river, the output may exclude campaign advertising channel type: UNKNOWN (within which Performance Max campaigns are included) and Ad Network Type: MIXED.
- Dynamic Search Ads campaigns contain keywordless data, therefore the Google Ads API will exclude them from Keyword report results. This may explain why you may get lower totals on this report compared to the Google Ads UI.
NOTE: In the Campaign report, when you are missing Performance Max data first make sure you have data linked to your account and run the river with the following fields:
This allows you to see which campaigns are under which accounts:
Google Ads API and AdWords API Forum:
- Google Ads API does not support Performance Max campaign report on ads level
- “PERFORMANCE_MAX” is not supported within ad_group_ad reports
- Channel type PERFORMANCE_MAX missing in ad_group_ad reports
- Keyword Fields limitation
Check the AdWords API to Google Ads API field mapping (the field names have changed in Google Ads):