以下是建议的工作流程,可用于验证活动和受众群体上传的健康状况,并发现数据存在的问题。
查看每个请求的总体状态。如果请求成功,则
Status的code等于0(枚举值OK,HTTP 响应200 OK),并返回IngestEventsResponse、IngestAudienceMembersResponse或RemoveAudienceMembersResponse。如果请求不成功,请修改请求以解决错误,然后再次发送请求。
如果请求成功,请捕获响应的
request_id,以便在下一步中使用它来检索诊断信息。针对每次成功的
request_id发送RetrieveRequestStatus请求。查看每个
RetrieveRequestStatusResponse,确认上传功能是否正常运行,并找出数据中的任何问题。更正数据问题。
返回第 1 步并重复执行,直到解决上传的所有问题。
构建请求
RetrieveRequestStatusRequest 只有一个 request_id 字段。针对您在发送提取请求时捕获的每个成功请求 ID 发送一个请求。
查看回答
RetrieveRequestStatusResponse 中的 request_status_per_destination 包含相应提取请求中每个目的地的单独条目。
例如,如果您的 IngestAudienceMembersRequest 的 destinations 列表中包含 3 个条目,用于将数据发送给 3 个不同的受众群体,则状态响应的 request_status_per_destination 中将包含 3 个条目(每个受众群体对应一个条目)。
查看整体目标状态
首先,检查 request_status 字段,以确定 Data Manager API 是否已完成对 RequestStatusPerDestination 的 destination 的数据处理。以下是 request_status 的可能值:
PROCESSING:目标的数据仍在处理中。SUCCESS:目标位置的请求处理已完成,未出现任何错误。FAILURE:由于错误,目标的所有记录均失败。PARTIAL_SUCCESS:部分目标记录成功,但其他记录因错误而失败。
按目标平台查看事件或受众群体状态
检查与提取请求类型对应的状态字段。每个 RequestStatusPerDestination 仅设置以下字段中的一个:
事件注入状态
如果请求是 IngestEventsRequest,则会填充 events_ingestion_status 字段。
检查 IngestEventStatus 的 record_count,确认收到的记录总数是否符合您的预期。record_count 包含成功和失败的记录。
受众群体成员提取状态
如果请求是 IngestAudienceMembersRequest,则会填充 audience_members_ingestion_status 字段。下表列出了每种受众群体数据需要检查的 IngestAudienceMembersStatus 字段。只会设置这些字段中的一个。
user_data_ingestion_status检查
IngestUserDataStatus的record_count,确认收到的记录总数是否符合您的预期。record_count包含成功和失败的记录。检查
user_identifier_count,确认收到的用户标识符数量是否符合您的预期。如果请求包含足够数量的记录,则
upload_match_rate_range包含请求中记录的匹配率范围。mobile_data_ingestion_status检查
IngestMobileDataStatus的record_count,确认收到的记录总数是否符合您的预期。record_count包括成功和失败的记录。检查
mobile_id_count,确认收到的移动设备 ID 数量是否符合您的预期。pair_data_ingestion_status检查
IngestPairDataStatus的record_count,确认收到的记录总数是否符合您的预期。record_count包含成功和失败的记录。检查
pair_id_count以确认收到的 PAIR ID 数量是否符合您的预期。
受众群体成员移除状态
如果请求是 RemoveAudienceMembersRequest,则系统会填充 audience_members_removal_status 字段。下表列出了每种受众群体数据需要检查的 RemoveAudienceMembersStatus 字段。只会设置这些字段中的一个。
user_data_removal_status- 用户数据的移除状态。
mobile_data_removal_status- 移动数据的移除状态。
pair_data_removal_status- PAIR 数据的移除状态。
检查 record_count,确认收到的记录总数是否符合您的预期。record_count 中包含成功和失败的记录。
此外,请检查 user_identifier_count、mobile_id_count 或 pair_id_count,确认收到的用户标识符、移动 ID 或 PAIR ID 的总数。
查看警告和错误
除了目标和请求类型的状态字段之外,RetrieveRequestStatusResponse 还包含请求的警告和错误细分。
- 如果出现错误,则表示 API 完全拒绝了相应记录。
- 警告表示 API 未拒绝记录,但必须忽略记录的部分数据。
例如,如果 Event 包含加密的 UserIdentifier 数据和 AdIdentifiers(例如 gclid),但 UserIdentifier 数据无法解密,Data Manager API 仍会使用 AdIdentifiers 处理记录,但会返回警告 PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR。
不过,如果 Event 不包含 AdIdentifiers 且无法解密 UserIdentifier 数据,Data Manager API 会拒绝整个记录并报告错误 PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR,因为有效的 Event 必须包含 ad_identifiers 或 user_data。
以下是包含警告和错误信息的响应字段。
warning_infoWarningCount对象的列表。每个WarningCount都包含一个reason(包含警告类型)和一个record_count(用于指明出现相应类型警告的记录数)。error_infoErrorCount对象的列表。每个ErrorCount都包含一个reason(包含错误类型)和一个record_count(用于指明因相应类型的错误而失败的记录数)。