SELECT campaign.id, ad_group.id, geographic_view.country_criterion_id, segments.geo_target_county, segments.geo_target_city, geographic_view.resource_name, segments.geo_target_state, segments.geo_target_region FROM geographic_viewYou can try making a request using the Search or SearchStream by passing the customer Id. Also, you can use QueryBuilder to create your query and QueryValidator to validate your query.
![]() |
Google Ads API Team |
[2025-06-05 16:26:06Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01reLw4:ref" (ADR-00310279)
As you are not able to retrieve the geographic_view.country_criterion_id from the geographic_view report, can you make sure whether the country level geographic data is present or not in your Google Ads account. You need to map the Google Ads API to the Google Ads UI before comparing the data. The geographic_view report from the Google Ads API is equivalent to the 'Matched locations' tab in the Google Ads UI. However, I will navigate the correct path in the Google Ads UI. Login to your Google Ads account > Campaigns Tab > Insights and reports > When and where ads showed > Matched locations. To further verify and check it from our end whether country IDs are present or not, you haven't shared your Google Ads customer ID using which you are trying to make the API calls.
In order to investigate your issue further, kindly provide us with the complete API logs (request and response logs with request-id and request header) generated at your end and uncropped UI screenshot of the Google Ads account to further assist you better.
If you are using a client library and haven't enabled the logging yet, I would request you to enable logging for the specific client library that you are using. You can refer to the guides Java, .Net, PHP, Python, Ruby or Perl to enable logging at your end. For REST interface requests, you can enable logging via the curl command by using the -i flag.
You can send the details via Reply privately to the author option, or direct private reply to this email.
![]() |
Google Ads API Team |
[2025-06-10 08:57:33Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01reLw4:ref" (ADR-00310279)
Hi,
Regarding this concern, ‘I want the Country/Territory (Matched) attribute, which I added in the report UI in Google Ads,’ could you please provide the same uncropped Google Ads UI screenshot where the required data is presented and the same you are trying to fetch via the API? This screenshot will help us to construct the appropriate query and provide it to you.
Regarding the issue you specified, ‘When I am changing the FROM clause from campaign to geographic view, record counts are changing,’ kindly provide the complete API logs (request and response logs with request-id and request header) generated at your end where you observed this issue. These logs will help us to check whether this is expected behavior of the API or any issue from the API side and assist you accordingly.
![]() |
Google Ads API Team |
[2025-06-12 20:54:36Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01reLw4:ref" (ADR-00310279)
Hi,
Please note that campaign and geographic_view are distinct reports, and their data should not be compared. If you try to compare the data between these two reports, obviously it will show different records. As we informed earlier, the geographic_view report can be utilized to retrieve matched locations. Please refer to the below query:
SELECT geographic_view.country_criterion_id, geographic_view.location_type, geographic_view.resource_name, campaign.id, campaign.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, metrics.conversions_from_interactions_rate, metrics.conversions, metrics.cost_per_conversion, segments.date FROM geographic_view WHERE segments.date BETWEEN '2017-05-09' AND '2025-06-12'
Based on the provided screenshot, it appears that data is being fetched at the manager account level, which aggregates data from all client accounts. To accurately retrieve the geographic_view report, it is necessary to utilize each individual client account and subsequently compare the data between the Google Ads UI and the data returned via the Google Ads API.
If you are still facing discrepancy in the data, kindly provide us with customer ID with complete API logs (request and response logs with request-id and request header) generated at your end and the uncropped UI screenshot of Google Ads account displaying the matched location.
![]() |
Google Ads API Team |
[2025-06-13 06:19:05Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01reLw4:ref" (ADR-00310279)
SELECT geo_target_constant.canonical_name, geo_target_constant.country_code, geo_target_constant.id, geo_target_constant.name, geo_target_constant.status, geo_target_constant.target_type FROM geo_target_constant WHERE geo_target_constant.resource_name = 'geoTargetConstants/1014044'
I would suggest you kindly replace the ID '1014044' with the geo_target_constant_id for which you would like to retrieve the data. I would recommend you refer to this documentation for more detailed information. I hope this helps! feel free to get back to us in case of any further queries.
![]() |
Google Ads API Team |
[2025-06-16 10:41:28Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01reLw4:ref" (ADR-00310279)