bar*_*art 5 facebook-graph-api
与定位 a 不同custom audience,saved audience使用Facebook Ads API创建定位 a 的广告似乎是不可能的。有人可以确认是这种情况吗?什么是解决方法?这是我得到的错误:
Error #100: Param targeting[custom_audiences][id] must be a valid custom audience id
Run Code Online (Sandbox Code Playgroud)
asaved audience和 a之间有区别custom audience。Asaved audience是您手动创建的受众,指定年龄范围、地理区域和兴趣。而 acustom audience是您收集的客户列表(上传或访问者或您的网站等)。您可以通过广告管理器界面手动创建这些受众:
使用Graph API Explorer,可以检索saved audiences如下:
act_1234567890/saved_audiences
Run Code Online (Sandbox Code Playgroud)
使用Graph API Explorer,可以检索custom audiences如下:
act_123456789/customaudiences
Run Code Online (Sandbox Code Playgroud)
请注意,这123456789不是我的真实帐号。出于安全原因,我更改了它。
因此,我可以检索 和 的 ID custom audiences,saved audiences并创建一个定位 a 的广告custom audience工作正常,这与定位 a 不同saved audience,它给出了上述错误消息。
一个繁琐的解决方法可能是在本地保存flexible_spec每个saved audience规范并在创建广告时使用该规范。这样做的问题是有些targeting segments变得无效(Facebook 决定在随机时间停止某些细分),这会导致 Facebook Ads API 出现故障。此外,这意味着我经常需要saved audiences与我的本地副本保持同步。当然,除非我即时检索targetingasaved audience的 并重新使用它,否则每次我创建广告都会导致另一个 API 请求。
我自己想出来了。saved audience与 a 不同,直接瞄准 a 似乎是不可能的custom audience,这很奇怪。我所做的是首先从保存的受众中检索targeting并在创建广告时重复使用该定位。
这里你看到的只是官方文档的截图custom audiences,lookalike audiences可以针对性的展示。
检索targeting自saved audience(使用 Facebook PHP SDK):
$api = Api::instance();
use FacebookAds\Http\Request;
$response = $api->call(
"/987654321", 'GET',
array('fields'=>'targeting')
);
$audience = $response->getContent();
Run Code Online (Sandbox Code Playgroud)
保存的受众ID为987654321。
然后将该定位复制到广告(使用 Facebook PHP SDK):
use FacebookAds\Object\Targeting;
use FacebookAds\Object\Fields\TargetingFields;
$targeting = new Targeting();
$targeting->setData($audience['targeting']);
Run Code Online (Sandbox Code Playgroud)
此技术的缺点是更新时广告不会更新saved audience,并且需要额外的 API 调用,这会减慢广告的创建速度。
| 归档时间: |
|
| 查看次数: |
15283 次 |
| 最近记录: |