진단

다음은 이벤트 및 잠재고객 업로드의 상태를 확인하고 데이터 문제를 식별하는 데 권장되는 워크플로입니다.

  1. 이벤트를 전송하거나 공유 대상 그룹 구성원을 전송 또는 삭제하는 요청을 실행합니다.
  2. IngestEventsResponse, IngestAudienceMembersResponse 또는 RemoveAudienceMembersResponse에서 request_id를 캡처합니다.
  3. request_id에 대해 RetrieveRequestStatus 요청을 전송합니다.
  4. RetrieveRequestStatusResponse를 검토하여 업로드가 올바르게 작동하는지 확인하고 데이터 문제를 파악합니다.
  5. 데이터 문제 수정
  6. 1단계로 돌아가 업로드와 관련된 모든 문제가 해결될 때까지 반복합니다.

요청 구성

RetrieveRequestStatusRequest에는 단일 request_id 필드가 있습니다. 인제션 요청을 보낼 때 캡처한 요청 ID마다 하나의 요청을 보냅니다.

응답 검토

RetrieveRequestStatusResponserequest_status_per_destination에는 해당 수집 요청의 각 대상에 대한 별도의 항목이 포함됩니다.

예를 들어 IngestAudienceMembersRequestdestinations 목록의 항목이 3개 포함되어 있어 3개의 서로 다른 잠재고객에게 데이터를 전송하는 경우 상태 응답에는 request_status_per_destination의 항목이 3개 포함됩니다 (잠재고객당 항목 1개).

전체 대상 상태 확인

첫 번째 단계로 request_status 필드를 확인하여 Data Manager API가 RequestStatusPerDestinationdestination 데이터를 처리했는지 확인합니다. request_status의 가능한 값은 다음과 같습니다.

  • PROCESSING: 대상의 데이터가 아직 처리 중입니다.
  • SUCCESS: 대상에 대한 요청 처리가 오류 없이 완료되었습니다.
  • FAILURE: 오류로 인해 대상의 모든 레코드가 실패했습니다.
  • PARTIAL_SUCCESS: 대상의 일부 레코드는 성공했지만 오류로 인해 다른 레코드는 실패했습니다.

대상별 이벤트 또는 잠재고객 상태 확인

수집 요청 유형에 해당하는 상태 필드를 검사합니다. 각 RequestStatusPerDestination에는 다음 필드 중 하나만 설정됩니다.

이벤트 수집 상태

요청이 IngestEventsRequest인 경우 events_ingestion_status 필드가 채워집니다.

IngestEventStatusrecord_count를 확인하여 수신된 총 레코드 수가 예상과 일치하는지 확인합니다. record_count에는 성공한 레코드와 실패한 레코드가 모두 포함됩니다.

잠재고객 구성원 수집 상태

요청이 IngestAudienceMembersRequest인 경우 audience_members_ingestion_status 필드가 채워집니다. 다음은 각 유형의 잠재고객 데이터를 확인할 수 있는 IngestAudienceMembersStatus 필드입니다. 이 필드 중 하나만 설정됩니다.

user_data_ingestion_status

IngestUserDataStatusrecord_count를 확인하여 수신된 총 레코드 수가 예상과 일치하는지 확인합니다. record_count에는 성공한 레코드와 실패한 레코드가 모두 포함됩니다.

user_identifier_count를 확인하여 수신된 사용자 식별자 수가 예상과 일치하는지 확인합니다.

요청에 충분한 수의 레코드가 있는 경우 upload_match_rate_range에는 요청의 레코드에 대한 일치율 범위가 포함됩니다.

mobile_data_ingestion_status

IngestMobileDataStatusrecord_count를 확인하여 수신된 총 레코드 수가 예상과 일치하는지 확인합니다. record_count에는 성공한 레코드와 실패한 레코드가 모두 포함됩니다.

mobile_id_count를 확인하여 수신된 모바일 ID 수가 예상과 일치하는지 확인합니다.

pair_data_ingestion_status

IngestPairDataStatusrecord_count를 확인하여 수신된 총 레코드 수가 예상과 일치하는지 확인합니다. record_count에는 성공한 레코드와 실패한 레코드가 모두 포함됩니다.

pair_id_count를 확인하여 수신된 페어링 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 데이터와 gclid과 같은 AdIdentifiers이 포함되어 있고 UserIdentifier 데이터를 복호화할 수 없는 경우 데이터 관리 도구 API는 여전히 AdIdentifiers을 사용하여 레코드를 처리하지만 PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR 경고를 반환합니다.

하지만 EventAdIdentifiers이 포함되어 있지 않고 UserIdentifier 데이터를 복호화할 수 없는 경우 유효한 Event에는 ad_identifiers 또는 user_data 중 하나 이상이 있어야 하므로 Data Manager API는 전체 레코드를 거부하고 PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR 오류를 보고합니다.

다음은 경고 및 오류 정보가 포함된 응답 필드입니다.

warning_info
WarningCount 객체 목록입니다. 각 WarningCount에는 경고 유형이 포함된 reason와 해당 유형의 경고가 있는 레코드 수를 나타내는 record_count가 포함됩니다.
error_info
ErrorCount 객체 목록입니다. 각 ErrorCount에는 오류 유형이 포함된 reason와 해당 오류 유형으로 인해 실패한 레코드 수를 나타내는 record_count가 포함됩니다.