google_ads: report actions truncate results and send invalid field names
Author: s0s0physmCreated Sep 11, 2026Updated Sep 17, 2026
Labelsbugactiontriaged
Problem
Segmentsdefaults tosegments.date, so the row count multiplies by the number of days in the range. Ordinary requests return very large result sets.- Results stop at 10,000 rows because
page_sizeis never set and the responsenextPageTokenis discarded. Larger reports come back incomplete with no error shown. Users narrow the date range and run the report again, and every attempt uses quota. Fields,SegmentsandMetricsaccept free text and go straight into the GAQLSELECTwithout checking. Invalid names are rejected with a 400, and rejected requests still count against the daily quota. This is worse with AI agents, which guess field names and retry.
Affects Create Report, Create Campaign Report, Create Ad Report, Create Ad Group Report and Create Customer Report.
What's needed
- Date segmentation off by default rather than on.
- Unknown field, segment and metric names rejected before a request is sent.
- A single report request returns complete results.
Notes
SearchStreamcounts as one operation regardless of response size and has no row cap: https://developers.google.com/google-ads/api/rest/common/search- Paging behaviour and the 10,000 row default: https://developers.google.com/google-ads/api/docs/reporting/paging
- Failed requests that return a Google Ads failure still count against the daily quota: https://developers.google.com/google-ads/api/docs/best-practices/quotas
- The prefixing bug behind some invalid field names is tracked separately in #21961.
- Context: quota exhaustion reported in #19945, #21509, #21554, #21782, #21926.
Source: PipedreamHQ/pipedream