Facebook Marketing API:是否可以按状态过滤洞察

时间:2016-09-13 19:48:10

标签: facebook facebook-graph-api facebook-marketing-api

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

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的所有有效值无效。 当我删除过滤参数时 - 我看到了我的数据。

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

3 个答案:

答案 0 :(得分:4)

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

您需要实际请求所有处于活动状态的广告,然后将insights作为“嵌套”广告提供。字段列表。

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

  

act_123456 /广告栏= effective_status,姓名,见解{total_action_value,total_actions,操作},adset_id,CAMPAIGN_ID&安培;过滤= [{&#39;字段&#39;:&#39; effective_status&#39;&# 39;操作&#39;:&#39; IN&#39;&#39;值&#39;:[&#39; ACTIVE&#39;]}]

这也适用于/campaigns/adsets

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

  

act_123456 /见解字段= ad_id,adset_id,CAMPAIGN_NAME,action_values,CAMPAIGN_ID,total_action_value&安培;电平=广告&安培;过滤= [{&#34;字段&#34;:&#34; campaign.delivery_info&#34;,& #34;操作&#34;:&#34; IN&#34;&#34;值&#34;:[&#34;有源&#34;]}]

答案 1 :(得分:0)

我正在使用它来过滤带有见解的广告系列,为我工作,开始玩它

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

如果通过url

传递,请不要忘记json_encode $ campaigncheckstatus

答案 2 :(得分:0)

根据见解进行过滤是不可能的。至少在v2.7中。为了获得有关广告的见解,我决定执行以下操作: 1.通过/ads电话获取我需要的广告。这允许我按状态过滤。 2.获取同一广告集合的数据分析,并确保我的广告ID包含在回复中。 3.使用第一个集合过滤第二个集合。