Thanks Bharani for the useful information. I thought the AdWords API maps to the report using Report Editor but now I know that it matches the one in the AdWords dashboard (
https://adwords.google.com/aw/<ads/adgroups/campaigns>?ocid). However, about in-matching results of API call & UI, I would like to ask 2 questions:
1. With the same report query: "SELECT Id, CampaignName, AdGroupName, Clicks, Impressions, Ctr,
AverageCpc, Cost, Conversions, ViewThroughConversions,
CostPerConversion, ConversionRate FROM AD_PERFORMANCE_REPORT DURING LAST_WEEK" now returns 21978 rows (API), but when I use the AdWords UI (
https://adwords.google.com/aw/ads?ocid=...), it shows only 21246 rows. Note that I selected ALL Campaign status, ALL Group status and ALL Ad status already. Similar thing happens for AdGroup Performance or Campaign Performance reports. For example, I found that the API result contains some campaign names which I couldn't find them on the UI:
< AWN_001:00000000013edd3b_00000000013edef8
< AWN_001:00000000013edd3b_00000000013ef211
< AWX_001:00000000013edd3b_00000000013edef8
< AWX_001:00000000013edd3b_00000000013edef8_content
< AWX_001:00000000013edd3b_00000000013ef211
< AWX_001:00000000013edd3b_00000000013ef211_content
Am I missing something? Is there any hidden filter on AdWords UI that causes this? I would like to know them all as we rely on the AdWords UI to compare it with the result of our API call.
2. I found that the AdWords Report Editor works differently from API call on the same Attributes, Segments & Metrics. For example, if I use AdWords Report Editor to select row keys (Ad Id, Year), and metrics (Clicks, Impressions), the result seems to be aggregated by Year and the number of rows gets reduced significantly. Whereas, in the API call's result using Ad Performance Report, there are about the same number of Ad items (~21978 rows). Is there any way to build query using API so that the result can match with the one in Report Editor UI?
Thanks in advance!