Facebook Ads API错误:必须是有效的自定义受众群体ID

时间:2017-06-29 12:46:32

标签: facebook-graph-api

与定位custom audience不同,似乎无法使用Facebook Ads API创建定位saved audience的广告。有人可以确认是这样的吗?什么是解决方法?这是我得到的错误:

Error #100: Param targeting[custom_audiences][id] must be a valid custom audience id

saved audiencecustom audience之间存在差异。 saved audience是您手动创建的受众,指定年龄范围,地理区域和兴趣。虽然custom audience是您收集的客户列表(已上传或访问者或您的网站等)。您可以通过广告管理器界面手动创建这些受众群体:

enter image description here

使用Graph API Explorer,可以按照以下方式检索saved audiences

act_1234567890/saved_audiences

enter image description here

使用Graph API Explorer,可以按照以下方式检索custom audiences

act_123456789/customaudiences

enter image description here

请注意,123456789不是我的真实帐号。我出于安全原因更改了它。

因此,我可以检索custom audiencessaved audiences的ID,并创建定位custom audience的广告可以正常工作,与定位saved audience不同,这会产生上述错误消息

繁琐的解决方法可能是在本地保存每个saved audience的{​​{3}},并在制作广告时使用该规范。问题在于,某些targeting segments变得无效(Facebook决定随机停止某些细分市场),导致Facebook Ads API陷入困境。此外,这意味着我经常需要让saved audiences与我的本地副本保持同步。当然,除非我动态检索targeting saved audience并重新使用它,否则每次创建广告时都会产生另一个API请求。

1 个答案:

答案 0 :(得分:2)

我自己想通了。直接定位saved audience似乎不可能与custom audience不同,这是奇怪的。我所做的是首先从保存的受众群体中检索targeting,然后在制作广告时重复使用该定位。

您可以在此处看到官方文档的屏幕截图,其中只显示custom audienceslookalike audiences

enter image description here

targeting(使用Facebook PHP SDK)检索saved audience

$api = Api::instance();

use FacebookAds\Http\Request;

$response = $api->call(
  "/987654321", 'GET',
  array('fields'=>'targeting')
);
$audience = $response->getContent();

将987654321作为已保存的受众群体ID。

然后将该定位复制到广告(使用Facebook PHP SDK):

use FacebookAds\Object\Targeting;
use FacebookAds\Object\Fields\TargetingFields;

$targeting = new Targeting();
$targeting->setData($audience['targeting']);

此技术的缺点是,saved audience更新时广告不会更新,并且需要额外的API调用才能减慢广告的制作速度。