Я пытаюсь создать пользовательскую аудиторию для веб-трафика с помощью маркетингового API (Facebook Ads SDK 2.5).
Это то, что я пытался.
$audience = new CustomAudience(null, 'act_'.$account_id);
$aud_data = array(
CustomAudienceFields::NAME => $name,
CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::CUSTOM,
CustomAudienceFields::RULE => array('event' => array('i_contains' => 'ViewContent','i_contains' => $name ) ),
CustomAudienceFields::PIXEL_ID => $pixelId,
CustomAUdienceFields::DESCRIPTION => '',
CustomAudienceFields::RETENTION_DAYS => 180,
CustomAudienceFields::PREFILL => True
);
Я получаю сообщение об успехе & Я также вижу аудиторию в Менеджере рекламы. Но проблема в том, что когда я пытаюсь редактировать эту аудиторию, я получаю эту ошибку.
Can't Edit Audience
This audience can't be edited because it was created using settings that are no longer available. You can still use this audience for your ads. To make changes or updates, create a new audience.
Что я делаю неправильно?
Если у кого-то есть такой же вопрос, вот ответ.
CustomAudienceFields::RULE
должна быть строкой JSON, а не массивом (по крайней мере, это то, что работало для меня.)
Итак, собираем это вместе ..
$audience = new CustomAudience(null, 'act_'.$account_id);
$aud_data = array(
CustomAudienceFields::NAME => $name,
CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::CUSTOM,
CustomAudienceFields::RULE => '{"and": [{"event": {"i_contains": "ViewContent"}},{"content_name": {"i_contains": "'.$name.'"}}]}',
CustomAudienceFields::PIXEL_ID => $pixelId,
CustomAUdienceFields::DESCRIPTION => '',
CustomAudienceFields::RETENTION_DAYS => 180,
CustomAudienceFields::PREFILL => True
);
Это должно работать.
Других решений пока нет …