客户文件自定义受众

您可以使用我们的市场营销 API,根据客户信息构建目标自定义受众。这些信息包括邮箱、手机号、姓名、出生日期、性别、地点、应用用户编号公共主页范围用户编号、Apple 的广告 ID (IDFA) 或 Android 广告 ID

Meta 业务账户(有时被称为“商务管理平台账户”,或简称“业务账户”)将更名为业务资产组合。这项变更将在 Meta 技术中逐步实施。此变更仅为名称上的变化,不会影响 Meta 业务账户编号(将更名为“业务资产组合编号”)。

作为公司数据的所有者,您需要负责创建和管理这些数据。这些数据包括来自客户关系管理 (CRM) 系统的信息。如要创建受众,则您必须以哈希格式共享数据,以保护隐私。请参阅对数据作哈希和标准化处理。Meta 会比较相关数据与经过哈希处理的数据,以决定我们是否应将 Facebook 上的用户加入您的广告受众。

您可向受众中添加数量不限的记录,但每次最多只可加入 10,000 个。对自定义受众的更改不会立即生效,通常需要多达 24 小时。您请求移除的记录的数量和/或您帐户内包含的自定义受众的数量都将增加处理此请求所需的时间。

为改进广告主创建和管理受众的方式,我们会标记在 2 年以上的时间里未在任何投放中的广告组中使用的客户文件自定义受众,以陆续删除。您需要在我们采取措施前提供指示说明。如果受众已移至“过期受众”阶段并被标记,您将需要提供指示说明。如果您在投放中的广告组中使用标记受众,我们会将其视作保留受众的指示;如果您决定不在投放中的广告组中使用标记受众,我们会将其视作删除受众的指示。如需了解更多信息,请查看自定义受众概述文件。

如果您使用转化 API 分享转化事件,则无需上传其他数据,便可创建网站自定义受众。不过,您也可以继续上传支持的客户信息,以创建客户文件自定义受众。

使用我们的全新替换 API 完全移除受众中的现有用户,并将其替换为一组新用户。通过替换 API 发出的受众更新不会将您的广告组退回到学习阶段

构建自定义受众

第 1 步:创建空白的自定义受众

在您的 API 调用中指定 subtype=CUSTOMcustomer_file_source

curl -X POST \ -F 'name="My new Custom Audience"' \ -F 'subtype="CUSTOM"' \ -F 'description="People who purchased on my website"' \ -F 'customer_file_source="USER_PROVIDED_ONLY"' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/customaudiences
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const CustomAudience = bizSdk.CustomAudience; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'My new Custom Audience', 'subtype' : 'CUSTOM', 'description' : 'People who purchased on my website', 'customer_file_source' : 'USER_PROVIDED_ONLY', }; const customaudiences = (new AdAccount(id)).createCustomAudience( fields, params ); logApiCallResult('customaudiences api call complete.', customaudiences);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\CustomAudience; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'My new Custom Audience', 'subtype' => 'CUSTOM', 'description' => 'People who purchased on my website', 'customer_file_source' => 'USER_PROVIDED_ONLY', ); echo json_encode((new AdAccount($id))->createCustomAudience( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.customaudience import CustomAudience from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'My new Custom Audience', 'subtype': 'CUSTOM', 'description': 'People who purchased on my website', 'customer_file_source': 'USER_PROVIDED_ONLY', } print AdAccount(id).create_custom_audience( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createCustomAudience() .setName(\"My new Custom Audience\") .setSubtype(CustomAudience.EnumSubtype.VALUE_CUSTOM) .setDescription(\"People who purchased on my website\") .setCustomerFileSource(CustomAudience.EnumCustomerFileSource.VALUE_USER_PROVIDED_ONLY) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) customaudiences = ad_account.customaudiences.create({ name: 'My new Custom Audience', subtype: 'CUSTOM', description: 'People who purchased on my website', customer_file_source: 'USER_PROVIDED_ONLY', })

参数

名称描述

customer_file_source
枚举字符串

说明自定义受众中客户信息的最初收集方式。
值:

  • USER_PROVIDED_ONLY
    广告主直接从客户处收集信息
  • PARTNER_PROVIDED_ONLY
    广告主直接从合作伙伴(例如经销商或数据提供方)处获得信息
  • BOTH_USER_AND_PARTNER_PROVIDED
    广告主直接从客户处收集信息,同时也从合作伙伴(例如:经销商)处获得信息

name
字符串

自定义受众的名称

description
字符串

自定义受众的描述

subtype
字符串

自定义受众的类型

第 2 步:指定用户名单

通过向 /{audience_id}/users 端点发出 POST API 调用,指定想添加至自定义受众的用户名单。

参数

名称描述

session
JSON 对象

必要
使用 session 参数追踪是否已上传特定批次的用户。
若您要上传的用户数量超过 10,000 个,需将其分成若干批次,且每次请求最多可包含 10,000 个用户。


示例

{
  "session_id":9778993, 
  "batch_seq":10, 
  "last_batch_flag":true, 
  "estimated_num_total":99996 
} 

payload
JSON 对象

必要
包含 schemadata

示例

{ 
  "schema":"EMAIL_SHA256", 
  "data":
    [
      ["<HASHED_DATA>"], 
      ["<HASHED_DATA>"], 
      ["<HASHED_DATA>"] 
    ]
}

适用于美国用户的数据处理选项

自 2023 年 6 月 1 日起,如果您想在客户名单自定义受众中为加利福尼亚州用户启用“限制数据使用”功能,则必须上传新受众或更新现有受众,以在受众中加入“限制数据使用”标签。请视需要,定期更新和维护您的受众和用户的“限制数据使用”功能状态。

请注意,应用于某个受众中特定用户的“限制数据使用”标记不会自动转移到其他的受众。正如广告主必须根据自己选择的标准单独管理每个现有客户名单自定义受众,他们必须将“限制数据使用”标记单独应用于他们在广告中使用的每个受众。

如要为记录明确不启用 LDU,您可以发送空的 data_processing_options 数组,或将该字段从负载中移除。空数组示例:

{
   "payload": {
       "schema": [
           "EMAIL",
                    "DATA_PROCESSING_OPTIONS"
       ],
       "data": [
           [
               "<HASHED_DATA>
",
                           []
           ]
       ]
   }
}

如要明确启用 LDU 并让 Meta 执行地理定位(不提供特定记录的国家/地区和州/省/自治区/直辖市的数据),请指定一个数组,该数组中每项记录都包含 LDU

{
   "payload": {
       "schema": [
           "EMAIL",
                    "DATA_PROCESSING_OPTIONS"
       ],
       "data": [
           [
               "<HASHED_DATA>
",
                           ["LDU"]
           ]
       ]
   }
}

如要启用 LDU 并手动指定位置,请使用以下代码:

{
    "customer_consent": true,
    "payload": {
        "schema": [
            "EMAIL",
            "DATA_PROCESSING_OPTIONS",
            "DATA_PROCESSING_OPTIONS_COUNTRY",
            "DATA_PROCESSING_OPTIONS_STATE"
        ],
        "data": [
            [
                "<HASHED_DATA>",
                ["LDU"],
                1,
                1000
            ]
        ]
    }
}

session 字段

名称描述

session_id
64 位正整数

必要
用于追踪会话的标识符。这个数字必须由广告主生成,并且不得在特定广告帐号中有所重复。

batch_seq
正整数

必要
用于标识当前会话中所列请求的数字。这个数字必须按顺序排列,且以 1 开始。

last_batch_flag
布尔值

必要

向我们的系统表明,已为当前替换会话提供所有批次数据。若设为 true,当前请求便是当前会话中的最后一个请求,我们不接受该会话的后续任何批次请求。如果您没有发送此标记,我们将在收到第一批请求的 90 分钟后自动终止此会话。系统会舍弃在 90 分钟后收到的任何批次。您必须标记最后一个请求,让 Meta 获知该请求为最后一批。

estimated_num_total
整数

非必要
预估要在此会话中上传的用户总数。此字段用于改进此会话的处理流程。

响应

成功响应包含具有以下字段的 JSON 对象:

名称描述

audience_id
数字字符串

受众识别码

session_id
整数

您传入的会话编号

num_received
整数

此会话目前为止收到的用户总数

num_invalid_entries
整数

表示哈希处理有误的已发送条目数量。这些条目未返回匹配项,并且无法添加到自定义受众中。此数字并不精确,但可以表示不匹配用户的数量范围。

invalid_entry_samples
JSON 字符串数组或 {string: string} 类型的映射

当前请求中发现的无效条目样例(最多 100 个)

详细了解与业务对象分享您的自定义受众

移除受众成员

如需指定想从自定义受众中移除的用户名单,请向 /{audience_id}/users 端点发出 DELETE API 调用。

curl -X DELETE \
  --data-urlencode 'payload={ 
    "schema": "EMAIL_SHA256", 
    "data": [ 
      "<HASHED_DATA>", 
      "<HASHED_DATA>", 
      "<HASHED_DATA>" 
    ] 
  }' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users

您也可以添加 method 参数,并在用于添加受众成员的 POST 请求中将该参数设为 DELETE

您可以从名单中移除具有 EXTERN_ID(如适用)的用户。

curl -X DELETE \
  --data-urlencode 'payload={ 
    "schema": "EXTERN_ID", 
    "data": [ 
      "<ID>", 
      "<ID>", 
      "<ID>" 
    ] 
  }' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users

您可以使用此端点从广告账户的所有自定义受众中移除一系列用户。

由于某些原因,此类信息可能无法得到处理。例如,如果某个广告账户不归某个业务资产组合所有,您尚未接受自定义受众条款,或此类信息与用户不匹配。

如需移除账户中心账户,请加入与 用户更新内字段相同的字段,并对以下内容发出 HTTP DELETE 调用:

https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/usersofanyaudience

多键匹配

如需提高记录的匹配率,请在不同键组成的数组中提供多个键,例如 [EXTERN_ID, LN, FN, EMAIL]。您虽然无需对 EXTERN_ID 作哈希处理,但必须对所有个人身份识别信息(例如邮箱和姓名)作哈希处理。如需了解相关详情,请参阅对数据作哈希和标准化处理

您可为一个记录提供部分或所有多键。如需了解相关详情,请参阅多键外部编号匹配

使用多键匹配结果添加用户

curl \
  -F 'payload={ 
    "schema": [ 
      "FN", 
      "LN", 
      "EMAIL" 
    ], 
    "data": [ 
      [ 
        "<HASH>", 
        "<HASH>", 
        "<HASH>" 
      ], 
      [ 
        "<HASH>", 
        "<HASH>", 
        "<HASH>" 
      ] 
    ] 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users

使用 PAGEUID

如果您使用 PAGEUID 键,则还必须添加公共主页编号清单。您只能向我们发送一个 PAGEUID,此编号应为包含一个元素的数组。

curl -X POST \
  -F 'payload={
       "schema": [
         "PAGEUID"
       ],
       "is_raw": "true",
       "page_ids": [
            "<PAGE_IDs>"
            ],
       "data": [
         [
           "<HASH>",
           "<ID>",
           "<ID>",
           "<VALUE>"
         ],
         [
           "<HASH>",
           "<ID>",
           "<ID>",
           "<VALUE>"
         ],
         [
           "<HASH>",
           "<ID>",
           "<ID>",
           "<VALUE>"
         ]
       ]
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users

多键值的哈希处理和标准化

您必须使用 SHA256 对数据进行哈希处理;我们不支持其他哈希机制。除外部标识符应用用户编号公共主页范围内的用户编号和移动广告客户编号以外,对所有其他数据均必须执行此操作。

请先将数据标准化,然后再对其作哈希处理,以便我们处理数据。只有名字 (FN) 和姓氏 (LN) 支持特殊字符和非罗马字母。如要获得最佳匹配结果,请提供不含任何特殊字符的罗马字母翻译。

请下载此 CSV 文件

,获取以下参数的经过适当标准化和散列处理的数据示例。



下载(点击右键 > 将链接另存为)
守则

EMAIL
条件:邮箱

必须进行哈希处理
去除开头和末尾的空格,并将所有字符转换为小写。

PHONE
条件:手机号

必须进行哈希处理
移除符号、字母及任何前置零值。如果未指定 COUNTRY 字段,请在前面加上国家/地区代码。

GEN
条件:性别

必须进行哈希处理
请使用以下值:m 代表男性,f 代表女性。

DOBY
条件:出生年份

必须进行哈希处理
请使用 YYYY 格式:1900 至当前年份。

DOBM
条件:出生月份

必须进行哈希处理
使用 MM 格式:0112

DOBD
条件:出生日期

必须进行哈希处理
使用 DD 格式:0131

LNFN
条件:姓氏和名字

必须进行散列处理
仅可使用 a-z。仅限小写字母,且不可包含标点符号。特殊字符必须采用 UTF-8 格式。

FI
条件:名字首字母缩写

必须进行哈希处理
仅可使用 a-z。仅限小写字母。特殊字符必须采用 UTF-8 格式。

ST
条件:美国州名

必须进行哈希处理
使用 2 个字符的 ANSI 缩写代码,必须为小写字母。请使用小写字母对美国境外州名做标准化处理,且不可包含标点符号、特殊字符和空格。

CT
条件:城市

必须进行散列处理
仅可使用 a-z。仅限小写字母,且不可包含标点符号、特殊字符和空格。

ZIP
条件:邮编

必须进行哈希处理
使用小写字母,且不可包含空格。美国地区:只限使用前 5 位数。英国地区:请使用“区域/地区/邮政部门”的格式。

COUNTRY
条件:国家/地区代码

必须进行哈希处理

ISO 3166-1 alpha-2 标准使用小写的双字母国家/地区代码。

MADID
条件:移动广告客户编号

无须进行哈希处理

全部使用小写字母,保留连字符。

哈希处理

请为标准化的键提供 SHA256 值,并提供该值的 HEX 表示(使用小写 A 至 F)。PHP 的哈希功能将转换标准化的邮箱和手机号。

示例结果

hash("sha256", "mary@example.com")

f1904cf1a9d73a55fa5de0ac823c4403ded71afd4c3248d00bdcd0866552bb79

hash("sha256", "15559876543")

1ef970831d7963307784fa8688e8fce101a15685d62aa765fed23f3a2c576a4e

外部标识符

您可使用自己的标识符(即外部标识符或 EXTERN_ID)为受众匹配用户。此标识符可以是广告主提供的任何唯一编号,如会员编号、用户编号和外部 Cookie 编号。

您虽然无需对此编号作哈希处理,但必须对使用 EXTERN_ID 发送的所有个人身份识别信息 (PII) 作哈希处理。

为更好地进行匹配,您还应在发送编号时使用完全相同的格式。例如,如果您选择使用 SHA256 对数据进行哈希处理,请确保以后继续使用相同的哈希值。

您可以将这些编号用作各个键,以将用户从自定义受众中删除,或新建自定义受众。如此一来,您就无需重新上传任何其他匹配键。如果您使用经过哈希处理的个人信息和 EXTERN_ID 标记某位用户,则当我们将该用户与 Facebook 上的用户进行匹配时,我们会给予 EXTERN_ID 较低的优先级。

系统对 EXTERN_ID 的数据留存期限为 90 天。

在单个广告账户内,您可以重复使用 EXTERN_ID 映射构建自定义文件自定义受众。

如果您广告帐户的受众已有 EXTERN_ID 字段,请仅使用以下身份识别信息新建受众。

curl \
  -F 'payload={"schema":"EXTERN_ID","data":["<ID>","<ID>"]}' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users

您也可添加具有 EXTERN_ID 标记和启用多键匹配的用户。

curl \
  -F 'payload={ 
    "schema": [ 
      "EXTERN_ID", 
      "FN", 
      "EMAIL", 
      "LN" 
    ], 
    "data": [ 
      [ 
        "<ID>", 
        "<HASH>", 
        "<HASH>", 
        "<HASH>" 
      ], 
      [ 
        "<ID>", 
        "<HASH>", 
        "<HASH>", 
        "<HASH>" 
      ], 
      [ 
        "<ID>", 
        "<HASH>", 
        "<HASH>", 
        "<HASH>" 
      ] 
    ] 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users

我们支持适用于单个广告账户EXTERN_ID 参数。我们不可将一个广告账户的值用于任何其他广告账户,即使广告账户均属于同一个实体也是如此。

替换用户 API

借助 /<CUSTOM_AUDIENCE_ID>/usersreplace 端点,您可以使用一个 API 调用执行以下 2 个操作:

  • 从特定受众中完全移除现有用户
  • 用一组新用户替换这些用户。

通过 /<CUSTOM_AUDIENCE_ID>/usersreplace 端点,您可以自动删除所有现有用户,而不必上传想要删除的用户名单。如果受众是投放中广告组的一部分,此端点不会重置您广告组的机器学习阶段,这与 /<CUSTOM_AUDIENCE_ID>/users 端点的 POST 或 DELETE API 调用不同。

替换用户 API 仅适用于符合以下要求的受众:

  • 运行替换流程之前的现有用户数量必须少于 1 亿。如果您的受众人数超过 1 亿,我们建议您使用 /<CUSTOM_AUDIENCE_ID>/users 端点添加和移除用户。
  • 子类型必须设置为 CUSTOM
  • 您无法使用并非基于值的客户文件自定义受众替换基于值的客户文件自定义受众,反之亦然。

立即开始

开始替换流程之前,建议您完成以下步骤:

  • 确保受众的 operation_statusNormal

您一次只能执行一项替换操作。

  • 此外,通过 /<CUSTOM_AUDIENCE_ID>/usersreplace 执行替换操作时,切勿通过 /<CUSTOM_AUDIENCE_ID>/users 添加或移除用户。如果您在第一个替换操作完成之前尝试执行第二个替换操作,您将收到一条消息,表明替换操作已经在进行中。

  • 1 个替换会话的最长持续时间为 90 分钟。API 将拒绝会话开始 90 分钟后收到的任何批次。如果您发送批次的时长需要超过 90 分钟,请等待该会话的替换操作完成后,使用 /<CUSTOM_AUDIENCE>/users 端点的添加操作上传其余部分。

  • 受众创建完成后,请向 /<CUSTOM_AUDIENCE_ID>/usersreplace 发出 POST 调用,以指定要添加到自定义受众的用户名单。

    • 替换流程开始后,系统会将您受众的 operation_status 切换为 replace_in_progress
    • 如果替换操作失败,系统会将您受众的 operation_status 切换为 replace_error

调用参数

在向 /<CUSTOM_AUDIENCE_ID>/usersreplace 发出的 POST 调用中,您可以加入以下参数:

名称描述

session

类型:JSON 对象

必要。

用于追踪是否已上传特定批次用户。必须包含会话编号和批次信息。请参阅会话字段


您每次最多可以向受众添加 10,000 个用户。如果用户超过 10,000 人次,请将您的会话分为多个批次,所有批次的会话编号均应相同。


示例:

{
  'session_id':9778993, 
  'batch_seq':10, 
  'last_batch_flag':true, 
  'estimated_num_total':99996 
}

payload

类型:JSON 对象

必要。

用于提供要上传到受众的信息。必须包含 schema 和 data ,请参阅负载字段了解详情。


示例:

{ 
  "schema":"EMAIL", 
  "data":["<HASHED_EMAIL>", "<HASHED_EMAIL>", "<HASHED_EMAIL>" ]
}

会话字段

名称描述

session_id

类型:64 位整数

必要。

用于追踪会话。您必须生成此标识符,并且该数字在同一个广告帐户中不得有所重复。

batch_seq

类型:整数

必要。必须从 1 开始。
新的替换会话会在我们收到 1batch_seq 后开始。因此对于给定的 session_id,不建议发送一系列序号为 1 的重复批次。
对第一个批次进行标记很重要;一个会话的剩余批次的序号可以重复,也可以是任何数字(1 除外,因为我们会使用此参数确认会话的开始)。会话的首个批次发送后,其他批次才会发送。请将首个批次视为替换操作的触发条件或前置步骤。

last_batch_flag

类型:布尔值

非必要。

表明已为当前替换会话提供所有批次。设置为 true 时,此会话不再接受其他批次。如果您没有设置此标记,系统将在收到第一批的 90 分钟后自动终止此会话。系统会舍弃在 90 分钟后收到的任何批次。

estimated_num_total

类型:整数

非必要。

要在相应会话中上传的用户的预估总数。由我们的系统用于改进会话的处理流程。

负载字段

名称描述

schema

类型:字符串或 JSON_Array_of_string

必要。

指定您将提供的信息类型。可以从以下清单中选择单键或多键:

  • EMAIL
  • PHONE
  • GEN
  • DOBY
  • DOBM
  • DOBD
  • LN
  • FN
  • FI
  • CT
  • ST
  • ZIP
  • COUNTRY
  • MADID
  • ["hash1", "hash2", ...]。例如:["PHONE", "LN”, “FN”, “ZIP”, “DOBYM"]

data

类型:JSON_Array

必要。

与 schema 对应的数据清单。


示例:

  • 如果架构是 "EMAIL",那么数据必须是电邮 sha256 哈希清单。
  • 如上例所示,若架构由哈希清单构成,数据应是以下格式 "phone_hash_value", "LN_FN_ZIP_DOBYM"

发出 POST 请求后,您将获得具有以下字段的响应:

名称描述

account_id

类型:整数

账户标识符。

session_id

类型:整数

您先前已提供的会话编号。

num_received

类型:整数

此会话目前为止收到的用户总数。

num_invalid_entries

类型:整数

格式无效或无法解码的用户总数。如果此数字不为 0,请重新检查您的数据。

invalid_entry_samples 类型:JSON 字符串数组

当前请求中的无效条目样例(最多 100 个)。重新检查您的数据。

替换 API 常见错误

从替换端点返回的所有错误都含有错误代码 2650。以下是返回的一些最常见错误子代码及其解决方案指南。

错误子代码描述解决方案

1870145

受众更新中

客户名单自定义受众正在更新,无法替换。请等待该受众的可用性变为“正常”,然后重试。

1870158

替换会话超时

您的替换批次会话已达到 90 分钟的时间限制。您的客户名单自定义受众将替换为到目前为止已上传的受众。如要添加更多自定义受众,请等待替换流程完成,然后使用 ADD 操作。

1870147

上传的替换批次无效

未检测到第一个 batch_seq。您必须从整数 1 开始 batch_seq

1870159

替换会话已完成

由于您上传了带有 last_batch_flag==true 的批次,此次替换操作已完成。如要添加更多批次的自定义受众,请等待替换流程完成,然后使用 ADD 操作。

1870148

出错了

您的客户名单未完全更新。如果您的受众规模明显不同于预期,请考虑重试。

1870144

DFCA 规模不支持替换

客户名单自定义受众规模达到 1 亿或以上,因此无法替换。

资源

您可构建、定位或分享的其他受众类型如下所示: