Diagnóstico

Este es el flujo de trabajo recomendado para verificar el estado de tus cargas de eventos y públicos, y para identificar problemas con tus datos.

  1. Emitir solicitudes para enviar eventos o enviar o quitar miembros del público
  2. Captura el request_id de cada IngestEventsResponse, IngestAudienceMembersResponse o RemoveAudienceMembersResponse.
  3. Envía una solicitud RetrieveRequestStatus para cada request_id.
  4. Revisa cada RetrieveRequestStatusResponse para confirmar que tus cargas funcionan correctamente y, luego, identifica cualquier problema con tus datos.
  5. Corregir problemas de datos
  6. Vuelve al paso 1 y repite el proceso hasta que hayas resuelto todos los problemas relacionados con tus cargas.

Crea solicitudes

Un RetrieveRequestStatusRequest tiene un solo campo request_id. Envía una solicitud por cada ID de solicitud que capturaste cuando enviaste solicitudes de incorporación.

Revisa las respuestas

El request_status_per_destination en un RetrieveRequestStatusResponse contiene una entrada independiente para cada destino en la solicitud de transferencia correspondiente.

Por ejemplo, si tu IngestAudienceMembersRequest contenía 3 entradas en la lista destinations para enviar datos a 3 públicos diferentes, la respuesta de estado contendría 3 entradas en request_status_per_destination (una entrada por público).

Verifica el estado general del destino

Como primer paso, verifica el campo request_status para determinar si la API de Data Manager terminó de procesar los datos del destination del RequestStatusPerDestination. Estos son los valores posibles de request_status:

  • PROCESSING: Los datos del destino aún se están procesando.
  • SUCCESS: Se completó el procesamiento de la solicitud para el destino sin errores.
  • FAILURE: Todos los registros del destino fallaron debido a errores.
  • PARTIAL_SUCCESS: Algunos de los registros del destino se completaron correctamente, pero otros fallaron debido a errores.

Verifica el estado del evento o del público por destino

Inspecciona el campo de estado que corresponde al tipo de solicitud de transferencia. Solo se configura uno de los siguientes campos en cada RequestStatusPerDestination:

Estado de transferencia de eventos

El campo events_ingestion_status se completa si la solicitud fue un IngestEventsRequest.

Verifica el record_count de IngestEventStatus para confirmar que la cantidad total de registros recibidos coincida con tus expectativas. El objeto record_count incluye registros correctos y fallidos.

Estado de la transferencia de miembros del público

El campo audience_members_ingestion_status se completa si la solicitud fue un IngestAudienceMembersRequest. Aquí se muestra el campo IngestAudienceMembersStatus que se debe verificar para cada tipo de datos de público. Solo se establece uno de estos campos.

user_data_ingestion_status

Verifica el record_count de IngestUserDataStatus para confirmar que la cantidad total de registros recibidos coincida con tus expectativas. El objeto record_count incluye registros correctos y fallidos.

Verifica el campo user_identifier_count para confirmar que la cantidad de identificadores de usuario recibidos coincida con tus expectativas.

Si la solicitud tenía una cantidad suficiente de registros, upload_match_rate_range contiene el rango de la tasa de coincidencias para los registros de la solicitud.

mobile_data_ingestion_status

Verifica el record_count de IngestMobileDataStatus para confirmar que la cantidad total de registros recibidos coincida con tus expectativas. El objeto record_count incluye los registros correctos y los fallidos.

Verifica el mobile_id_count para confirmar que la cantidad de IDs de dispositivos móviles recibidos coincida con tus expectativas.

pair_data_ingestion_status

Verifica el record_count de IngestPairDataStatus para confirmar que la cantidad total de registros recibidos coincida con tus expectativas. El objeto record_count incluye registros correctos y fallidos.

Verifica el pair_id_count para confirmar que la cantidad de IDs de PAIR recibidos coincida con tus expectativas.

Estado de eliminación de miembros del público

El campo audience_members_removal_status se completa si la solicitud fue un RemoveAudienceMembersRequest. Aquí se muestra el campo RemoveAudienceMembersStatus que debes verificar para cada tipo de datos de público. Solo se establece uno de estos campos.

user_data_removal_status
Estado de eliminación de los datos del usuario
mobile_data_removal_status
Estado de eliminación de los datos móviles.
pair_data_removal_status
Estado de eliminación de los datos de PAIR.

Verifica el campo record_count para confirmar que la cantidad total de registros recibidos coincida con tus expectativas. El record_count incluye los registros correctos y los fallidos.

Además, revisa los campos user_identifier_count, mobile_id_count o pair_id_count para confirmar el recuento total de identificadores de usuario, IDs de dispositivos móviles o IDs de PAIR recibidos.

Comprueba las advertencias y los errores

Además de los campos de estado para el destino y el tipo de solicitud, el objeto RetrieveRequestStatusResponse contiene un desglose de las advertencias y los errores de la solicitud.

  • Un error indica que la API rechazó por completo el registro.
  • Una advertencia indica que la API no rechazó el registro, pero tuvo que ignorar partes de los datos del registro.

Por ejemplo, si un Event contiene datos UserIdentifier encriptados y AdIdentifiers, como gclid, y los datos UserIdentifier no se pueden desencriptar, la API de Data Manager sigue procesando el registro con el AdIdentifiers, pero devuelve la advertencia PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR.

Sin embargo, si el objeto Event no contiene AdIdentifiers y no se pueden desencriptar los datos de UserIdentifier, la API de Data Manager rechaza todo el registro y muestra el error PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR porque un objeto Event válido debe tener al menos uno de los campos ad_identifiers o user_data.

Estos son los campos de respuesta que contienen información sobre errores y advertencias.

warning_info
Una lista de objetos WarningCount. Cada WarningCount contiene un reason con el tipo de advertencia y un record_count que indica la cantidad de registros que tuvieron advertencias de ese tipo.
error_info
Una lista de objetos ErrorCount. Cada ErrorCount contiene un reason con el tipo de error y un record_count que indica la cantidad de registros que fallaron debido a ese tipo de error.