We know that to make a query in Google Ads, we need the FROM clause, and the filters will be applied from it, as shown in the example below:
However, a common demand when generating reports is to produce data filtered by campaign, for example, but segmented by date at the account level.
In Looker Studio, this capability is apparent, where we can use a campaign filter in a table widget that will generate aggregated data by date.
As far as I know, Looker only makes one query per widget to the Google Ads API (we know that Looker's summary line is a separate query), but how is it possible in Looker and other tools to aggregate data at a different level from the FROM clause?
In the forum, the recommendations were to make multiple queries using the summary row, such as a query per day with the summary row and ignoring the values that come in N lines for the N campaigns in the account, but this method seems quite inefficient.
How is it possible to work efficiently with queries filteredat different levels?
![]() |
Google Ads API Team |
[2025-03-13 16:22:29Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
Thank you for your response, but it's not related to Looker Studio; I used it just as an example.
My question is how to filter and aggregate data when we have a filter in a different clause from the FROM in the Google Ads API.
Could you clarify how you intend to filter the data at a different level than the FROM clause in the Google Ads API? Different levels mean on what level you are trying to filter the data? Can you provide a specific example with the filters that you wish to apply on those? In your initial email, you mentioned filtering data segmented at the account level. Filtering at the account level indicates without applying any filters like date segments in the 'WHERE' clause. If you wish to apply date segments to filter the data then you need to apply the same date range in the Google Ads UI when comparing the API results with the UI. I would recommend you to refer to the Query Structure documentation to understand how to apply filters when retrieving data through the Google Ads API. Additionally, you can use the Google Ads Query Builder and Query Validator to construct and validate your queries effectively.
![]() |
Google Ads API Team |
[2025-03-14 04:08:02Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
![]() |
Google Ads API Team |
[2025-03-14 21:29:04Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
It is not possible to retrieve data from those two campaigns in an aggregated, grouped, or summed format by day, as shown in the Looker report you shared. When using the campaign report, we apply filters on both the date and campaign name in the 'WHERE' clause. As a result, the data is retrieved separately for each campaign and segmented by date. Therefore, you cannot obtain a report that combines both campaigns' data while keeping it segmented by date. However, we were able to retrieve the data as per your screenshot from the Google Ads API using the campaign resource which will retrieve the results separately for each campaign. However, I am sharing with you the sample GAQL query:
SELECT campaign.name, metrics.impressions, metrics.ctr, segments.date, campaign.resource_name FROM campaign WHERE campaign.name LIKE '%DESTINO%' AND segments.date BETWEEN '2025-03-01' AND '2025-03-11'
Note that this query will fetch both the campaigns data individually which are segmented by date.
![]() |
Google Ads API Team |
[2025-03-17 01:41:26Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
Thank you for the response.
This query is the same one I previously indicated.
I would like to understand how the Google Ads UI manages to aggregate the data from these two campaigns by day?

Hi,
Kindly note that the concerns related to the Google Ads UI are out of scope for the Google Ads API support team as our team can only assist with the technical queries or concerns related to the Google Ads API. I'm adding another support team for their expertise in troubleshooting your issue. You should receive an email to assist you shortly.
![]() |
Google Ads API Team |
[2025-03-17 12:55:20Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
I mentioned the Google Ads UI because you requested it.
Are you saying then that there is absolutely no alternative in the API to bring the data grouped in the format I indicated?
Would the only alternative be to perform day-by-day queries with summary rows to get the aggregated data with the proposed filter?
![]() |
Google Ads API Team |
[2025-03-17 16:09:25Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
So the only way would be to make a query day by day with the summary row enabled, then I would have the aggregated data for that date/day for 2 campaigns, correct?
![]() |
Google Ads API Team |
[2025-03-17 19:36:54Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)
Hi,
Yes, your understanding is correct.
Thanks,
Google Ads API Team
From another ticket you answered:
"Additionally, please note that whatever features are present in the Google Ads UI, only those features are possible via the Google Ads API. If you're trying to retrieve a specific feature via the API, please provide a screenshot of the corresponding feature in the Google Ads UI so we can guide you on how to fetch it via the API."
If it's possible in the interface, why isn't it possible in the API?
Hi,
Could you please confirm whether you are able to combine metrics from multiple campaigns by date in the Google Ads UI? If yes, kindly provide us with the uncropped UI screenshot of the metrics that you are combined along with the date for further investigation.
You can send the details via Reply privately to the author option, or direct private reply to this email
![]() |
Google Ads API Team |
[2025-03-19 15:58:23Z GMT] This message is in relation to case "ref:!00D1U01174p.!5004Q02vH9Of:ref" (ADR-00294017)