Facebook 营销 API:是否可以按状态过滤见解

Facebook Marketing API: Is it possible to filter insights by status

我正在尝试按广告集状态过滤广告集见解,但是当我添加状态过滤器时,我得到一个空数据集:

curl "https://graph.facebook.com/v2.7/act_<redacted>/insights?fields=clicks,impressions,cpc,ctr,account_id&time_range%5Bsince%5D=2016-01-12&time_range%5Buntil%5D=2016-09-12&access_token=<redacted>&format=json&filtering=%5B%7B%22field%22:%22status%22,%22operator%22:%22EQUAL%22,%22value%22:%22ACTIVE%22%7D%5D&level=adset"

这是过滤参数在被 url 编码之前的样子: [{"field":"status","operator":"EQUAL","value":"ACTIVE"}]

我已经尝试了状态 ACTIVE, PAUSED, DELETED, ARCHIVED 的所有有效值,但均无济于事。 当我删除过滤参数时 - 我看到了我的数据。

问题是: 有谁知道是否可以按状态过滤,如果可以,我做错了什么?

我正在使用它来过滤具有洞察力的广告系列,为我工作,开始使用它

'filtering'=>
                  array(
                        array(
                        "field"=>"campaign.effective_status",
                        "operator"=>"IN",
                        "value"=>$campaigncheckstatus,
                      ),
                  ), 
$campaigncheckstatus =  array("ACTIVE","PAUSED");

如果通过 url

,请不要忘记 json_encode $campaigncheckstatus

无法按见解进行过滤。至少在 v2.7 中。假设要获得有关广告的见解,我决定执行以下操作: 1. 通过 /ads 调用获取我需要的广告。这允许我按状态过滤。 2. 获取同一组广告的见解,并确保响应中包含我的广告 ID。 3. 使用第一个集合过滤第二个集合。

有可能。使用截至 2018 年 3 月的最新版本。

您需要实际请求所有有效的广告,然后提供 insights 作为 'nested' 字段列表。

将 123456 替换为您的广告帐户(但保留需要的 'act_'

act_123456/ads?fields=effective_status,name,insights{total_action_value,total_actions,actions},adset_id,campaign_id&filtering=[{'field':'effective_status','operator':'IN','value':['ACTIVE']}]

这也适用于 /campaigns/adsets


你也可以这样做(一定要包括&level=ad):

act_123456/insights?fields=ad_id,adset_id,campaign_name,action_values,campaign_id,total_action_value&level=ad&filtering=[{"field":"campaign.delivery_info","operator":"IN","value":["active"]}]