> [!CAUTION]
> **Caution:** This documentation is for Google Ads API **v23** . The latest active version is [**v26**](https://developers.google.com/google-ads/api/reference/rpc/latest/OfflineUserDataJob).

A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using GoogleAdsService.Search/SearchStream.

[Proto definition ![GitHub](https://developers.google.com/site-assets/logo-github.svg)](https://github.com/googleapis/googleapis/blob/master/google/ads/googleads/v23/resources/offline_user_data_job.proto)

| Fields ||
|---|---|
| ## `external_id` | `int64` Immutable. User specified job ID. |
| ## `failure_reason` | `OfflineUserDataJobFailureReason` Output only. Reason for the processing failure, if status is FAILED. |
| ## `id` | `int64` Output only. ID of this offline user data job. |
| ## `metadata` Union field. Metadata of the job. `metadata` can be only one of the following: ||
| ### `customer_match_user_list_metadata` | `CustomerMatchUserListMetadata` Immutable. Metadata for data updates to a CRM-based user list. |
| ### `store_sales_metadata` | `StoreSalesMetadata` Immutable. Metadata for store sales data update. |
| ## `operation_metadata` | `OfflineUserDataJobMetadata` Output only. Metadata of offline user data job depicting match rate range. |
| ## `resource_name` | `string` Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` |
| ## `status` | `OfflineUserDataJobStatus` Output only. Status of the job. |
| ## `type` | `OfflineUserDataJobType` Immutable. Type of the job. |