如何在创建广告时将已保存的受众群体用作定位规范

时间:2016-10-11 19:00:09

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

我正在尝试使用定位规范创建adset,并将saved_audience ID指定为定位规范。我查看了定位规范的API文档:https://developers.facebook.com/docs/marketing-api/targeting-specs/v2.8

它谈论的是custom_audience,而不是saved_audience。我尝试将其作为参数saved_audiencesaved_audiences等发送,并认为可能没有记录。 API响应为invalid parameter

以下是代码:

$set->setData(array(
        AdSetFields::NAME => $obj_page->title.' '.time(),
        AdSetFields::CAMPAIGN_ID => $campaign_id,
        AdSetFields::DAILY_BUDGET => $daily_budget,
        AdSetFields::BID_AMOUNT => $daily_budget,
        AdSetFields::START_TIME => (new \DateTime($request->start_time))->format(\DateTime::ISO8601),
        AdSetFields::END_TIME => (new \DateTime($request->end_time))->format(\DateTime::ISO8601),
        AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
        AdSetFields::TARGETING => (new Targeting())->setData(array(
            'custom_audiences' => array($audience_id), // works
            TargetingFields::PUBLISHER_PLATFORMS => array('facebook'),
            TargetingFields::DEVICE_PLATFORMS => array('desktop'),
        ))
    ));

使用'saved_audience' => array($audience_id)无效。

2 个答案:

答案 0 :(得分:1)

无法在定位规范中指定saved_audiences。有关所有可能字段的更多信息,请参阅SDK。

https://github.com/facebook/facebook-java-ads-sdk/blob/master/src/main/java/com/facebook/ads/sdk/Targeting.java

答案 1 :(得分:0)

我一直处理同样的问题(check my Stackoverflow question),我的结论是现在不可能。解决方法是在单独的API调用中从targeting检索saved audience规范,并将这些设置复制到您正在创建的新广告中。缺点是,在更新saved audience时,您的广告将无法更新。