我正在尝试使用定位规范创建adset
,并将saved_audience
ID指定为定位规范。我查看了定位规范的API文档:https://developers.facebook.com/docs/marketing-api/targeting-specs/v2.8
它谈论的是custom_audience
,而不是saved_audience
。我尝试将其作为参数saved_audience
,saved_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)
无效。
答案 0 :(得分:1)
无法在定位规范中指定saved_audiences。有关所有可能字段的更多信息,请参阅SDK。
答案 1 :(得分:0)
我一直处理同样的问题(check my Stackoverflow question),我的结论是现在不可能。解决方法是在单独的API调用中从targeting
检索saved audience
规范,并将这些设置复制到您正在创建的新广告中。缺点是,在更新saved audience
时,您的广告将无法更新。