You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Facebook GraphQL广告数据过滤失效问题排查求助

问题原因及解决方案

你的问题出在过滤器的位置和字段指定错误,具体如下:

  1. 你把filtering嵌套在了insights的字段参数中,这只会过滤返回的insights子数据,不会过滤主请求返回的广告条目——哪怕某个广告在指定时间范围内没有insights数据,它依然会被返回,只是insights字段为空。
  2. 过滤器的字段应该用insights.impressions而非ad.impressions,因为你要过滤的是Insights模块中的展示量指标,而非广告本身的属性。

修改后的代码示例

var timeRange = new
{
    since = currentDateRange.StartDate.ToString("yyyy-MM-dd"),
    until = currentDateRange.EndDate.ToString("yyyy-MM-dd")
};

// 把filtering移到顶层参数,同时修正字段为insights.impressions
var newAdCreativeParameters = new
{
    fields = $@"
adcreatives.thumbnail_width(500).thumbnail_height(500){{id,thumbnail_url,image_url,video_id,object_type}},
insights.level(ad).time_range({{since: '{timeRange.since}', until: '{timeRange.until}'}}){{impressions,cpc,spend,purchase_roas}},
id,name,campaign{{id,name}},adset{{id,name}},currency",
    level = "ad",
    limit = "150",
    // 全局过滤参数,过滤insights展示量大于1的广告
    filtering = "[{'field':'insights.impressions', 'operator':'GREATER_THAN', 'value':1}]"
};

FacebookBatchParameter[] requests =
{
    new FacebookBatchParameter($"{ApiVersion}/{adAccountId}/ads", newAdCreativeParameters),
};

_logger.LogInformation("Retrieving facebook creative analytics insights");

NewCreativeAnalytics NewCreativeInsights = null;
dynamic CreativeAnalytics = await _facebookClient.BatchTaskAsync(requests);

补充说明

  • 当你在顶层使用filtering参数时,Meta API会先筛选出符合条件的广告(即指定时间范围内有有效insights数据的广告),再返回这些广告的完整信息(包括嵌套的insights字段)。
  • 确保你的API权限和调用的版本支持该过滤逻辑,Meta Marketing API的最新版本对insights过滤的兼容性更好,若使用旧版本可能存在限制。

内容的提问来源于stack exchange,提问作者fxcomandos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:15:04