---
title: "POST /v23/customers/{+customerId}/offlineUserDataJobs:create"
method: POST
path: "/v23/customers/{+customerId}/offlineUserDataJobs:create"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}/offlineUserDataJobs:create

`POST /v23/customers/{+customerId}/offlineUserDataJobs:create`

Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesCreateOfflineUserDataJobRequest — Request message for OfflineUserDataJobService.CreateOfflineUserDataJob.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `enableMatchRateRangePreview` boolean — If true, match rate range for the offline user data job is calculated and made available in the resource.
  - `job` GoogleAdsSearchads360V23ResourcesOfflineUserDataJob — 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
    - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'STORE_SALES_UPLOAD_FIRST_PARTY' | 'STORE_SALES_UPLOAD_THIRD_PARTY' | 'CUSTOMER_MATCH_USER_LIST' | 'CUSTOMER_MATCH_WITH_ATTRIBUTES' — Immutable. Type of the job.
    - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'PENDING' | 'RUNNING' | 'SUCCESS' | 'FAILED' — Output only. Status of the job.
    - `customerMatchUserListMetadata` GoogleAdsSearchads360V23CommonCustomerMatchUserListMetadata — Metadata for customer match user list.
      - `consent` GoogleAdsSearchads360V23CommonConsent — Consent
        - `adPersonalization` 'UNSPECIFIED' | 'UNKNOWN' | 'GRANTED' | 'DENIED' — This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
        - `adUserData` 'UNSPECIFIED' | 'UNKNOWN' | 'GRANTED' | 'DENIED' — This represents consent for ad user data.
      - `userList` string — The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
    - `failureReason` 'UNSPECIFIED' | 'UNKNOWN' | 'INSUFFICIENT_MATCHED_TRANSACTIONS' | 'INSUFFICIENT_TRANSACTIONS' | 'HIGH_AVERAGE_TRANSACTION_VALUE' | 'LOW_AVERAGE_TRANSACTION_VALUE' | 'NEWLY_OBSERVED_CURRENCY_CODE' — Output only. Reason for the processing failure, if status is FAILED.
    - `storeSalesMetadata` GoogleAdsSearchads360V23CommonStoreSalesMetadata — Metadata for Store Sales Direct.
      - `thirdPartyMetadata` GoogleAdsSearchads360V23CommonStoreSalesThirdPartyMetadata — Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration.
        - `advertiserUploadDateTime` string — Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
        - `bridgeMapVersionId` string — Version of partner IDs to be used for uploads. Required.
        - `partnerUploadFraction` number, double — The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).
        - `partnerMatchFraction` number, double — The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).
        - `partnerId` string, int64 — ID of the third party partner updating the transaction feed.
        - `validTransactionFraction` number, double — The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).
      - `customKey` string — Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.
      - `loyaltyFraction` number, double — This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).
      - `transactionUploadFraction` number, double — This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.
    - `id` string, int64 — Output only. ID of this offline user data job.
    - `externalId` string, int64 — Immutable. User specified job ID.
    - `resourceName` 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}`
    - `operationMetadata` GoogleAdsSearchads360V23ResourcesOfflineUserDataJobMetadata — Metadata of offline user data job.
      - `matchRateRange` 'UNSPECIFIED' | 'UNKNOWN' | 'MATCH_RANGE_LESS_THAN_20' | 'MATCH_RANGE_20_TO_30' | 'MATCH_RANGE_31_TO_40' | 'MATCH_RANGE_41_TO_50' | 'MATCH_RANGE_51_TO_60' | 'MATCH_RANGE_61_TO_70' | 'MATCH_RANGE_71_TO_80' | 'MATCH_RANGE_81_TO_90' | 'MATCH_RANGE_91_TO_100' — Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED".

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/versions/40d087435afd/schema)
