如何将用户添加到Facebook自定义受众

时间:2016-11-08 09:42:35

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

我正在尝试使用以下代码将用户添加到自定义受众群体

$audience = new CustomAudience($custom_audience_id);
$audience->addUsers(array(trim($mailAddress)), CustomAudienceTypes::EMAIL);

$users = array(
 array('fname', 'lname', 'someone@example.com'),
 array('fnamenew', 'lnamenew', 'someone_new@example.com'),
);

$schema = array(
  CustomAudienceMultikeySchemaFields::FIRST_NAME,
  CustomAudienceMultikeySchemaFields::LAST_NAME,
  CustomAudienceMultikeySchemaFields::EMAIL,
);

$audience = new CustomAudienceMultiKey(<CUSTOM_AUDIENCE_ID>);

$audience->addUsers($users, $schema);

但我在两个代码中都收到错误

(#2650) Failed to update the custom audience: This audience was created from data source EVENT_BASED.WEB_PIXEL_HITS, which does not support data source FILE_IMPORTED.HASHES_OR_USER_IDS

以下代码用于创建自定义受众群体。

$audience = new CustomAudience(null, $accountId);
        $audience->setData(array(
          CustomAudienceFields::NAME            => $associative_arr['name'],
          CustomAudienceFields::PIXEL_ID        => $associative_arr['pixelId'],
          CustomAudienceFields::DESCRIPTION     => $associative_arr['description'],
          CustomAudienceFields::RETENTION_DAYS  => $associative_arr['retensionDays'],  
          CustomAudienceFields::SUBTYPE         => CustomAudienceSubtypes::WEBSITE,
          CustomAudienceFields::RULE            => array('url' => array('i_contains' => $associative_arr['websiteUrl'])),
          CustomAudienceFields::PREFILL         => $associative_arr['prefill'],
          CustomAudienceFields::DATA_SOURCE     => array('EVENT_BASED' => 'WEB_PIXEL_HITS')
        ));         
        $audience->create();

有什么建议我可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您只能将用户添加到通过电子邮件创建的自定义受众群体,而您在创建受众群体时显示的代码则基于您网站上的用户活动。 您可以按照此文档通过电子邮件创建自定义受众群体: https://developers.facebook.com/docs/marketing-api/audiences-api#build

然后在您的广告中,您可以合并两个受众群体(来自电子邮件和/来自