Use the Google Ads API to retrieve offline data diagnostics, which contain information about the overall health of your conversion upload and adjustment processes.
To retrieve the latest offline data diagnostics for your account, use one of the following resources:
offline_conversion_upload_client_summary
aggregates upload diagnostics at the account level.offline_conversion_upload_conversion_action_summary
(only available in v17 or later) aggregates upload diagnostics at the conversion action level.
Account level diagnostics
To retrieve account level conversion upload diagnostics, use the following GAQL query:
SELECT
customer.id,
offline_conversion_upload_client_summary.alerts,
offline_conversion_upload_client_summary.client,
offline_conversion_upload_client_summary.daily_summaries,
offline_conversion_upload_client_summary.job_summaries,
offline_conversion_upload_client_summary.last_upload_date_time,
offline_conversion_upload_client_summary.pending_event_count,
offline_conversion_upload_client_summary.pending_rate,
offline_conversion_upload_client_summary.status,
offline_conversion_upload_client_summary.success_rate,
offline_conversion_upload_client_summary.successful_event_count,
offline_conversion_upload_client_summary.total_event_count
FROM offline_conversion_upload_client_summary
This query returns separate
OfflineConversionUploadClientSummary
rows for each type of client used in recent uploads. For example, if you
recently uploaded using both the Google Ads API and the Google Ads UI, the results
contain separate entries for the client
values of GOOGLE_ADS_API
and
GOOGLE_ADS_WEB_CLIENT
.
Conversion action level diagnostics
To retrieve conversion upload diagnostics at the conversion action level, use the following GAQL query:
SELECT
offline_conversion_upload_conversion_action_summary.conversion_action_name,
offline_conversion_upload_conversion_action_summary.alerts,
offline_conversion_upload_conversion_action_summary.client,
offline_conversion_upload_conversion_action_summary.daily_summaries,
offline_conversion_upload_conversion_action_summary.job_summaries,
offline_conversion_upload_conversion_action_summary.last_upload_date_time,
offline_conversion_upload_conversion_action_summary.pending_event_count,
offline_conversion_upload_conversion_action_summary.status,
offline_conversion_upload_conversion_action_summary.successful_event_count,
offline_conversion_upload_conversion_action_summary.total_event_count
FROM offline_conversion_upload_conversion_action_summary
WHERE offline_conversion_upload_conversion_action_summary.conversion_action_id = < INSERT CONVERSION ACTION ID >
Similar to account level diagnostics, this query returns separate
OfflineConversionUploadConversionActionSummary
rows for each type of client used in recent uploads. For example, if you
recently uploaded using both the Google Ads API and the Google Ads UI, the results
contain separate entries for the client
values of GOOGLE_ADS_API
and
GOOGLE_ADS_WEB_CLIENT
.
How to interpret these summaries
Each OfflineConversionUploadClientSummary
or
OfflineConversionUploadConversionActionSummary
has a status
field, that
reflects the
overall health
of uploads for the client
. It also contains the following information:
- The count of total events received.
- The count of successfully processed events.
- The count of pending events (events that are still being processed).
- An
alerts
field, that provides a summary of errors, grouped byOfflineConversionError
.
All of these fields contain information from the most recent full calendar day of uploads. Use this information to assess the current health of your uploads.
In addition, each OfflineConversionUploadClientSummary
or
OfflineConversionUploadConversionActionSummary
contains two different
types of reports:
daily_summaries
- A
successful_count
,failed_count
, andpending_count
of upload requests from the last 7 days, grouped by uploaddate
. job_summaries
The
successful_count
,failed_count
, andpending_count
of the 7 most recent upload requests, grouped byjob_id
. Thejob_id
is an optional field ofUploadClickConversionsRequest
andUploadConversionAdjustmentsRequest
. You can either set thejob_id
to a non-negative number less than2^31
or let the Google Ads API assign a system-generated job ID to your request. Regardless of which option you choose, theUploadClickConversionsResponse
orUploadConversionAdjustmentsResponse
returns thejob_id
.One scenario where assigning your own
job_id
is useful is when you have a single job or process that uploads a large number of conversions using multiple requests. If you set thejob_id
on each of those requests to the same value, then you can retrieve a single entry for the job fromjob_summaries
. If instead you let the Google Ads API assign a system-generated value to thejob_id
of each request, thejob_summaries
contains a separate entry for each request, which could make analyzing the overall health of your job more challenging.
How to use summaries
To ensure your upload processes are recording conversions and enhancements as
expected, periodically retrieve the summaries for each of your accounts. If the
status
of any summary is not EXCELLENT
, use the list of errors under
alerts
to guide you through modifying your upload process to reduce or
eliminate those errors.
For example:
If the status is
NEEDS_ATTENTION
, then a significant portion of your upload operations failed. Review the errors underalerts
and modify your upload process to reduce or eliminate those errors.If the status is
NO_RECENT_UPLOADS
, then Google Ads has not received any recent uploads for theclient
. If this is unexpected, then review the processes that perform uploads using that client.For example, if the
status
forGOOGLE_ADS_API
isNO_RECENT_UPLOADS
, that could indicate that your upload process that uses the Google Ads API stopped running recently.To determine if there was a specific upload date or job that sent a large number of events that failed to process, check the
successful_count
,failed_count
, andpending_count
ofdaily_summaries
andjob_summaries
. Any events in a pending state may take up to 24 hours to complete.
Restrictions
Keep the following in mind when retrieving upload summaries:
The Google Ads API only returns offline data diagnostics if the
customer_id
of thesearchStream
orsearch
request is the same customer you used recently to upload conversions.For example, a client account that uses cross-account conversion tracking may not contain any diagnostics. However, you can retrieve diagnostics by sending a request where the
customer_id
matches thecustomer_id
of the manager account you use in uploads.Google Ads treats
CLICK_NOT_FOUND
errors from enhanced conversions for leads uploads as warnings. As a result, ifalerts
contains an entry for this error, the corresponding operations are still considered successful and are included in thesuccessful_event_count
.