Page Summary
-
This page provides documentation for retrieving the status of a Data Manager API request using a GET HTTP request.
-
The request requires a
requestIdas a query parameter to specify which request's status to retrieve. -
The response body contains a list of
requestStatusPerDestinationobjects, detailing the status, potential errors, and warnings for each destination involved in the original request. -
Different statuses for audience member ingestion and removal are detailed, including metrics like record count and user identifier count, as well as match rate ranges for user data ingestion.
- HTTP request
- Query parameters
- Request body
- Response body
- Authorization scopes
- RequestStatusPerDestination
- RequestStatus
- ErrorInfo
- ErrorCount
- ProcessingErrorReason
- WarningInfo
- WarningCount
- ProcessingWarningReason
- IngestAudienceMembersStatus
- IngestUserDataStatus
- MatchRateRange
- IngestMobileDataStatus
- IngestPairDataStatus
- IngestUserIdDataStatus
- IngestPpidDataStatus
- IngestCompositeDataStatus
- DataTypeCount
- DataType
- IngestEventsStatus
- RemoveAudienceMembersStatus
- RemoveUserDataStatus
- RemoveMobileDataStatus
- RemovePairDataStatus
- RemoveUserIdDataStatus
- RemovePpidDataStatus
- RemoveCompositeDataStatus
- Try it!
Gets the status of a request given request id.
HTTP request
GET https://datamanager.googleapis.com/v1/requestStatus:retrieve
The URL uses gRPC Transcoding syntax.
Query parameters
| Parameters | |
|---|---|
requestId |
Required. Required. The request ID of the Data Manager API request. |
Request body
The request body must be empty.
Response body
Response from the RetrieveRequestStatusRequest.
If successful, the response body contains data with the following structure:
| JSON representation |
|---|
{
"requestStatusPerDestination": [
{
object ( |
| Fields | |
|---|---|
requestStatusPerDestination[] |
A list of request statuses per destination. The order of the statuses matches the order of the destinations in the original request. |
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/datamanager
RequestStatusPerDestination
A request status per destination.
| JSON representation |
|---|
{ "destination": { object ( |
| Fields | |
|---|---|
destination |
A destination within a DM API request. |
requestStatus |
The request status of the destination. |
errorInfo |
An error info error containing the error reason and error counts related to the upload. Only populated if the |
warningInfo |
A warning info containing the warning reason and warning counts related to the upload. This field isn't populated while the request has |
Union field status. The status of the destination. status can be only one of the following: |
|
audienceMembersIngestionStatus |
The status of the ingest audience members request. |
eventsIngestionStatus |
The status of the ingest events request. |
audienceMembersRemovalStatus |
The status of the remove audience members request. |
RequestStatus
The request status.
| Enums | |
|---|---|
REQUEST_STATUS_UNKNOWN |
The request status is unknown. |
SUCCESS |
Processing succeeded for all records without any errors. However, there may be warnings in the field. |
PROCESSING |
The request is processing. |
FAILED |
Processing failed for all records. Check the field for error details, and check the field for warning details. |
PARTIAL_SUCCESS |
Processing completed successfully without errors for some records, but failed with errors for other records. Check the field for error details, and check the field for warning details. |
ErrorInfo
Error counts for each type of error.
| JSON representation |
|---|
{
"errorCounts": [
{
object ( |
| Fields | |
|---|---|
errorCounts[] |
A list of errors and counts per error reason. May not be populated in all cases. |
ErrorCount
The error count for a given error reason.
| JSON representation |
|---|
{
"recordCount": string,
"reason": enum ( |
| Fields | |
|---|---|
recordCount |
The count of records that failed to upload for a given reason. |
reason |
The error reason of the failed records. |
ProcessingErrorReason
The processing error reason. New reasons may be added in the future.
| Enums | |
|---|---|
PROCESSING_ERROR_REASON_UNSPECIFIED |
The processing error reason is unknown. |
PROCESSING_ERROR_REASON_INVALID_CUSTOM_VARIABLE |
The custom variable is invalid. |
PROCESSING_ERROR_REASON_CUSTOM_VARIABLE_NOT_ENABLED |
The status of the custom variable is not enabled. |
PROCESSING_ERROR_REASON_EVENT_TOO_OLD |
The conversion is older than max supported age. |
PROCESSING_ERROR_REASON_DENIED_CONSENT |
The ad user data is denied, either by the user or in the advertiser default settings. |
PROCESSING_ERROR_REASON_NO_CONSENT |
Advertiser did not give 3P consent for the Ads core platform services. |
PROCESSING_ERROR_REASON_UNKNOWN_CONSENT |
The overall consent (determined from row level consent, request level consent, and account settings) could not be determined for this user |
PROCESSING_ERROR_REASON_DUPLICATE_GCLID |
A conversion with the same GCLID and conversion time already exists in the system. |
PROCESSING_ERROR_REASON_DUPLICATE_TRANSACTION_ID |
A conversion with the same order id and conversion action combination was already uploaded. |
PROCESSING_ERROR_REASON_INVALID_GBRAID |
The gbraid could not be decoded. |
PROCESSING_ERROR_REASON_INVALID_GCLID |
The google click ID could not be decoded. |
PROCESSING_ERROR_REASON_INVALID_MERCHANT_ID |
Merchant id contains non-digit characters. |
PROCESSING_ERROR_REASON_INVALID_WBRAID |
The wbraid could not be decoded. |
PROCESSING_ERROR_REASON_INTERNAL_ERROR |
Internal error. |
PROCESSING_ERROR_REASON_DESTINATION_ACCOUNT_ENHANCED_CONVERSIONS_TERMS_NOT_SIGNED |
Enhanced conversions terms are not signed in the destination account. |
PROCESSING_ERROR_REASON_INVALID_EVENT |
The event is invalid. |
PROCESSING_ERROR_REASON_INSUFFICIENT_MATCHED_TRANSACTIONS |
The matched transactions are less than the minimum threshold. |
PROCESSING_ERROR_REASON_INSUFFICIENT_TRANSACTIONS |
The transactions are less than the minimum threshold. |
PROCESSING_ERROR_REASON_INVALID_FORMAT |
The event has format error. |
PROCESSING_ERROR_REASON_DECRYPTION_ERROR |
The event has a decryption error. |
PROCESSING_ERROR_REASON_DEK_DECRYPTION_ERROR |
The DEK failed to be decrypted. |
PROCESSING_ERROR_REASON_INVALID_WIP |
The WIP is formatted incorrectly or the WIP does not exist. |
PROCESSING_ERROR_REASON_INVALID_KEK |
The KEK cannot decrypt data because it is the wrong KEK, or it does not exist. |
PROCESSING_ERROR_REASON_WIP_AUTH_FAILED |
The WIP could not be used because it was rejected by its attestation condition. |
PROCESSING_ERROR_REASON_KEK_PERMISSION_DENIED |
The system did not have the permissions needed to access the KEK. |
PROCESSING_ERROR_REASON_AWS_AUTH_FAILED |
The system failed to authenticate with AWS. |
PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR |
Failed to decrypt the UserIdentifier data using the DEK. |
PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER |
The user attempted to ingest events with an ad identifier that isn't from the operating account's ads. |
PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID |
One-per-click conversion actions cannot be used with BRAIDs. |
PROCESSING_ERROR_REASON_MATCH_ID_NOT_FOUND |
The match ID can not be found. |
PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_MATCH_ID |
The user ID can not be found for the match ID. |
PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_GCLID |
The user ID can not be found for the GCLID. |
PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_DCLID |
The user ID can not be found for the DCLID. |
PROCESSING_ERROR_REASON_INVALID_AD_IDENTIFIERS |
There are ad identifiers that are invalid. |
PROCESSING_ERROR_REASON_INVALID_MOBILE_ID_FORMAT |
The mobile ID format is invalid. |
PROCESSING_ERROR_REASON_ORIGINAL_CONVERSIONS_NOT_FOUND |
The original conversions can't be found. |
PROCESSING_ERROR_REASON_EVENT_ID_DECODE_ERROR |
The event ID (dclid or impression ID) cannot be decoded. |
PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_IMPRESSION_ID |
The user ID cannot be found for the given impression ID. |
PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND |
The user ID cannot be found. |
PROCESSING_ERROR_REASON_CONVERSION_PRECEDES_CLICK |
The event timestamp on the event was earlier than the associated click. |
PROCESSING_ERROR_REASON_TOO_RECENT_CLICK |
The click occurred too recently. |
PROCESSING_ERROR_REASON_INVALID_CLICK |
The event can't be attributed to a click (GCLID). This may be because the click did not come from a Google Ads campaign, for example. |
PROCESSING_ERROR_REASON_INVALID_OPERATING_ACCOUNT_FOR_CLICK |
The click from the event isn't associated with the of the destination. |
PROCESSING_ERROR_REASON_CLICK_NOT_FOUND |
A corresponding click can't be found that matches the provided attributes. |
WarningInfo
Warning counts for each type of warning.
| JSON representation |
|---|
{
"warningCounts": [
{
object ( |
| Fields | |
|---|---|
warningCounts[] |
A list of warnings and counts per warning reason. |
WarningCount
The warning count for a given warning reason.
| JSON representation |
|---|
{
"recordCount": string,
"reason": enum ( |
| Fields | |
|---|---|
recordCount |
The count of records that have a warning. |
reason |
The warning reason. |
ProcessingWarningReason
The processing warning reason.
| Enums | |
|---|---|
PROCESSING_WARNING_REASON_UNSPECIFIED |
The processing warning reason is unknown. |
PROCESSING_WARNING_REASON_KEK_PERMISSION_DENIED |
The system did not have the permissions needed to access the KEK. |
PROCESSING_WARNING_REASON_DEK_DECRYPTION_ERROR |
The DEK failed to be decrypted. |
PROCESSING_WARNING_REASON_DECRYPTION_ERROR |
The event has a decryption error. |
PROCESSING_WARNING_REASON_WIP_AUTH_FAILED |
The WIP could not be used because it was rejected by its attestation condition. |
PROCESSING_WARNING_REASON_INVALID_WIP |
The WIP is formatted incorrectly or the WIP does not exist. |
PROCESSING_WARNING_REASON_INVALID_KEK |
The KEK cannot decrypt data because it is the wrong KEK, or it does not exist. |
PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR |
Failed to decrypt the UserIdentifier data using the DEK. |
PROCESSING_WARNING_REASON_INTERNAL_ERROR |
Internal error. |
PROCESSING_WARNING_REASON_AWS_AUTH_FAILED |
The system failed to authenticate with AWS. |
IngestAudienceMembersStatus
The status of the ingest audience members request.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field status. The status of the audience members ingestion to the destination. status can be only one of the following: |
|
userDataIngestionStatus |
The status of the user data ingestion to the destination. |
mobileDataIngestionStatus |
The status of the mobile data ingestion to the destination. |
pairDataIngestionStatus |
The status of the pair data ingestion to the destination. |
userIdDataIngestionStatus |
The status of the user id data ingestion to the destination. |
ppidDataIngestionStatus |
The status of the ppid data ingestion to the destination. |
compositeDataIngestionStatus |
The status of the composite data ingestion to the destination. |
IngestUserDataStatus
The status of the user data ingestion to the destination containing stats related to the ingestion.
| JSON representation |
|---|
{
"recordCount": string,
"userIdentifierCount": string,
"uploadMatchRateRange": enum ( |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. |
userIdentifierCount |
The total count of user identifiers sent in the upload request for the destination. Includes all user identifiers in the request, regardless of whether they were successfully ingested or not. |
uploadMatchRateRange |
The match rate range of the upload. |
MatchRateRange
The match rate range of the upload or userlist.
| Enums | |
|---|---|
MATCH_RATE_RANGE_UNKNOWN |
The match rate range is unknown. |
MATCH_RATE_RANGE_NOT_ELIGIBLE |
The match rate range is not eligible. |
MATCH_RATE_RANGE_LESS_THAN_20 |
The match rate range is less than 20% (in the interval [0, 20)). |
MATCH_RATE_RANGE_20_TO_30 |
The match rate range is between 20% and 30% (in the interval [20, 31)). |
MATCH_RATE_RANGE_31_TO_40 |
The match rate range is between 31% and 40% (in the interval [31, 41)). |
MATCH_RATE_RANGE_41_TO_50 |
The match rate range is between 41% and 50% (in the interval [41, 51)). |
MATCH_RATE_RANGE_51_TO_60 |
The match rate range is between 51% and 60% (in the interval [51, 61). |
MATCH_RATE_RANGE_61_TO_70 |
The match rate range is between 61% and 70% (in the interval [61, 71)). |
MATCH_RATE_RANGE_71_TO_80 |
The match rate range is between 71% and 80% (in the interval [71, 81)). |
MATCH_RATE_RANGE_81_TO_90 |
The match rate range is between 81% and 90% (in the interval [81, 91)). |
MATCH_RATE_RANGE_91_TO_100 |
The match rate range is between 91% and 100% (in the interval |
IngestMobileDataStatus
The status of the mobile data ingestion to the destination containing stats related to the ingestion.
| JSON representation |
|---|
{ "recordCount": string, "mobileIdCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. |
mobileIdCount |
The total count of mobile ids sent in the upload request for the destination. Includes all mobile ids in the request, regardless of whether they were successfully ingested or not. |
IngestPairDataStatus
The status of the pair data ingestion to the destination containing stats related to the ingestion.
| JSON representation |
|---|
{ "recordCount": string, "pairIdCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. |
pairIdCount |
The total count of pair ids sent in the upload request for the destination. Includes all pair ids in the request, regardless of whether they were successfully ingested or not. |
IngestUserIdDataStatus
The status of the user id data ingestion to the destination containing stats related to the ingestion.
| JSON representation |
|---|
{ "recordCount": string, "userIdCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. |
userIdCount |
The total count of user ids sent in the upload request for the destination. Includes all user ids in the request, regardless of whether they were successfully ingested or not. |
IngestPpidDataStatus
The status of the ppid data ingestion to the destination containing stats related to the ingestion.
| JSON representation |
|---|
{ "recordCount": string, "ppidCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. |
ppidCount |
The total count of ppids sent in the upload request for the destination. Includes all ppids in the request, regardless of whether they were successfully ingested or not. |
IngestCompositeDataStatus
The status of the composite data ingestion to the destination containing stats related to the ingestion.
| JSON representation |
|---|
{ "recordCount": string, "dataTypeCounts": [ { object ( |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. |
dataTypeCounts[] |
The total count of data types sent in the upload request for the destination, broken down by data type. Includes all data types in the request, regardless of whether they were successfully ingested or not. |
uploadMatchRateRange |
The match rate range of the upload. |
DataTypeCount
The count for a specific data type.
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
The type of data. |
count |
The count for this data type. |
DataType
The type of data.
| Enums | |
|---|---|
DATA_TYPE_UNSPECIFIED |
The data type is unspecified. |
EMAIL |
The data is an email address. |
PHONE_NUMBER |
The data is a phone number. |
ADDRESS |
The data is a physical address. |
IP_ADDRESS |
The data is an IP address. |
IngestEventsStatus
The status of the events ingestion to the destination.
| JSON representation |
|---|
{ "recordCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of events sent in the upload request. Includes all events in the request, regardless of whether they were successfully ingested or not. |
RemoveAudienceMembersStatus
The status of the remove audience members request.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field status. The status of the audience members removal from the destination. status can be only one of the following: |
|
userDataRemovalStatus |
The status of the user data removal from the destination. |
mobileDataRemovalStatus |
The status of the mobile data removal from the destination. |
pairDataRemovalStatus |
The status of the pair data removal from the destination. |
userIdDataRemovalStatus |
The status of the user id data removal from the destination. |
ppidDataRemovalStatus |
The status of the ppid data removal from the destination. |
compositeDataRemovalStatus |
The status of the composite data removal from the destination. |
RemoveUserDataStatus
The status of the user data removal from the destination.
| JSON representation |
|---|
{ "recordCount": string, "userIdentifierCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. |
userIdentifierCount |
The total count of user identifiers sent in the removal request. Includes all user identifiers in the request, regardless of whether they were successfully removed or not. |
RemoveMobileDataStatus
The status of the mobile data removal from the destination.
| JSON representation |
|---|
{ "recordCount": string, "mobileIdCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. |
mobileIdCount |
The total count of mobile Ids sent in the removal request. Includes all mobile ids in the request, regardless of whether they were successfully removed or not. |
RemovePairDataStatus
The status of the pair data removal from the destination.
| JSON representation |
|---|
{ "recordCount": string, "pairIdCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. |
pairIdCount |
The total count of pair ids sent in the removal request. Includes all pair ids in the request, regardless of whether they were successfully removed or not. |
RemoveUserIdDataStatus
The status of the user id data removal from the destination.
| JSON representation |
|---|
{ "recordCount": string, "userIdCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. |
userIdCount |
The total count of user ids sent in the removal request. Includes all user ids in the request, regardless of whether they were successfully removed or not. |
RemovePpidDataStatus
The status of the ppid data removal from the destination.
| JSON representation |
|---|
{ "recordCount": string, "ppidCount": string } |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. |
ppidCount |
The total count of ppids sent in the removal request. Includes all ppids in the request, regardless of whether they were successfully removed or not. |
RemoveCompositeDataStatus
The status of the composite data removal from the destination.
| JSON representation |
|---|
{
"recordCount": string,
"dataTypeCounts": [
{
object ( |
| Fields | |
|---|---|
recordCount |
The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. |
dataTypeCounts[] |
The total count of data types sent in the removal request, broken down by data type. Includes all data types in the request, regardless of whether they were successfully removed or not. |