Google Ads API:如何查询账户总成本≥指定阈值的日期?
正确的Google Ads查询语句写法
问题分析
你之前的两个查询存在核心问题:
- 第一个查询使用
campaign.start_date,这是广告系列的创建日期,和每日花费达标日期完全无关,自然无法得到想要的结果。 - 第二个查询缺少日期范围过滤,Google Ads API强制要求使用
segments.date时必须在WHERE子句中限定日期区间,否则会因查询范围过大而报错。
解决方案
要获取账户每日总成本达标(>=700微单位)的日期,需按以下方式构建查询:
$query = 'SELECT segments.date, metrics.cost_micros FROM customer WHERE segments.date BETWEEN "2024-01-01" AND "2024-06-30" AND metrics.cost_micros >= 700';
关键说明
segments.date作为维度,会让metrics.cost_micros自动按天聚合,返回的是当天账户的总成本。- 必须添加
segments.date的范围过滤(替换成你需要的起止日期),这是API的硬性要求,避免查询全量历史数据导致性能异常。 - 如果需要按广告系列维度查看每日达标日期,可修改查询为:
$query = 'SELECT campaign.id, campaign.name, segments.date, metrics.cost_micros FROM campaign WHERE segments.date BETWEEN "2024-01-01" AND "2024-06-30" AND metrics.cost_micros >= 700';
内容的提问来源于stack exchange,提问作者Kostas
相关产品推荐
相关产品推荐

