---
title: "POST /v23/customers/{customersId}:uploadClickConversions"
method: POST
path: "/v23/customers/{customersId}:uploadClickConversions"
tags: ["customers"]
---

# POST /v23/customers/{customersId}:uploadClickConversions

`POST /v23/customers/{customersId}:uploadClickConversions`

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}:uploadClickConversions`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/doubleclicksearch`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/doubleclicksearch`
- TypeScript: <https://skmtc.dev/google/apis/searchads360/docs/v23/customers/:customersId:uploadClickConversions/post.ts> (a function with typed inputs; its response is checked against the schema)

Processes the given click conversions. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionUploadError]() [HeaderError]() [InternalError]() [PartialFailureError]() [QuotaError]() [RequestError]()

## Path parameters

- `customersId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesUploadClickConversionsRequest: Request message for ConversionUploadService.UploadClickConversions.
  - `conversions` GoogleAdsSearchads360V23ServicesClickConversion[]: Required. The conversions that are being uploaded.
    - `cartData` GoogleAdsSearchads360V23ServicesCartData: Contains additional information about cart data.
      - `feedCountryCode` string: The country code associated with the feed where the items are uploaded.
      - `feedLanguageCode` string: The language code associated with the feed where the items are uploaded.
      - `items` GoogleAdsSearchads360V23ServicesCartDataItem[]: Data of the items purchased.
        - `productId` string: The shopping id of the item. Must be equal to the Merchant Center product identifier.
        - `quantity` integer: Number of items sold.
        - `unitPrice` number, double: Unit price excluding tax, shipping, and any transaction level discounts. The currency code is the same as that in the `ClickConversion` message.
      - `localTransactionCost` number, double: Sum of all transaction level discounts, such as free shipping and coupon discounts for the whole cart. The currency code is the same as that in the `ClickConversion` message.
      - `merchantId` string, int64: The Merchant Center ID where the items are uploaded.
    - `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.
    - `conversionAction` string: Resource name of the conversion action associated with this conversion. Note: Although this resource name consists of a customer id and a conversion action id, validation will ignore the customer id and use the conversion action id as the sole identifier of the conversion action.
    - `conversionDateTime` string: The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
    - `conversionEnvironment` 'UNSPECIFIED' | 'UNKNOWN' | 'APP' | 'WEB': The environment this conversion was recorded on, for example, App or Web.
    - `conversionValue` number, double: The value of the conversion for the advertiser.
    - `currencyCode` string: Currency associated with the conversion value. This is the ISO 4217 3-character currency code. For example: USD, EUR.
    - `customVariables` GoogleAdsSearchads360V23ServicesCustomVariable[]: The custom variables associated with this conversion.
      - `conversionCustomVariable` string: Resource name of the custom variable associated with this conversion. Note: Although this resource name consists of a customer id and a conversion custom variable id, validation will ignore the customer id and use the conversion custom variable id as the sole identifier of the conversion custom variable.
      - `value` string: The value string of this custom variable. The value of the custom variable should not contain private customer data, such as email addresses or phone numbers.
    - `customerType` 'UNSPECIFIED' | 'UNKNOWN' | 'NEW' | 'RETURNING': Type of the customer associated with the conversion (new or returning).
    - `externalAttributionData` GoogleAdsSearchads360V23ServicesExternalAttributionData: Contains additional information about externally attributed conversions.
      - `externalAttributionCredit` number, double: Represents the fraction of the conversion that is attributed to the Google Ads click.
      - `externalAttributionModel` string: Specifies the attribution model name.
    - `gbraid` string: The URL parameter for clicks associated with app conversions.
    - `gclid` string: The Google click ID (gclid) associated with this conversion.
    - `orderId` string: The order ID associated with the conversion. An order id can only be used for one conversion per conversion action.
    - `sessionAttributesEncoded` string, byte: The session attributes for the event, represented as a base64-encoded JSON string. The content should be generated by Google-provided library. To set session attributes individually, use session_attributes_key_value_pairs instead. This field is only available to allowlisted users. To include this field in conversion imports, upgrade to the Data Manager API.
    - `sessionAttributesKeyValuePairs` GoogleAdsSearchads360V23ServicesSessionAttributesKeyValuePairs: Contains session attributes of the conversion, represented as key-value pairs.
      - `keyValuePairs` GoogleAdsSearchads360V23ServicesSessionAttributeKeyValuePair[]: Required. The session attributes for the conversion.
        - `sessionAttributeKey` string: Required. The name of the session attribute.
        - `sessionAttributeValue` string: Required. The value of the session attribute.
    - `userIdentifiers` GoogleAdsSearchads360V23CommonUserIdentifier[]: The user identifiers associated with this conversion. Only hashed_email and hashed_phone_number are supported for conversion uploads. The maximum number of user identifiers for each conversion is 5.
      - `addressInfo` GoogleAdsSearchads360V23CommonOfflineUserAddressInfo: Address identifier of offline data.
        - `city` string: City of the address. Only accepted for Store Sales.
        - `countryCode` string: 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
        - `hashedFirstName` string: First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
        - `hashedLastName` string: Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
        - `hashedStreetAddress` string: The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
        - `postalCode` string: Postal code of the user's address.
        - `state` string: State code of the address. Only accepted for Store Sales.
      - `hashedEmail` string: Hashed email address using SHA-256 hash function after normalization.
      - `hashedPhoneNumber` string: Hashed phone number using SHA-256 hash function after normalization (E164 standard).
      - `mobileId` string: Mobile device ID (advertising ID/IDFA).
      - `thirdPartyUserId` string: Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
      - `userIdentifierSource` 'UNSPECIFIED' | 'UNKNOWN' | 'FIRST_PARTY' | 'THIRD_PARTY': Source of the user identifier when the upload is from Store Sales
    - `userIpAddress` string: The IP address of the customer when they arrived on the landing page after an ad click but before a conversion event. This is the IP address of the customer's device, not the advertiser's server. Google Ads does not support IP address matching for end users in the European Economic Area (EEA), United Kingdom (UK), or Switzerland (CH). Add logic to conditionally exclude sharing IP addresses from users from these regions and ensure that you provide users with clear and comprehensive information about the data you collect on your sites, apps, and other properties and get consent where required by law or any applicable Google policies. See [About offline conversion imports](//support.google.com/google-ads/answer/2998031) page for more details. This field is only available to allowlisted users. To include this field in conversion imports, upgrade to the Data Manager API.
    - `wbraid` string: The URL parameter for clicks associated with web conversions.
  - `jobId` integer: Optional. Optional input to set job ID. Must be a non-negative number that is less than 2^31 if provided. If this field is not provided, the API will generate a job ID in the range [2^31, (2^63)-1]. The API will return the value for this request in the `job_id` field of the `UploadClickConversionsResponse`.
  - `partialFailure` boolean: Required. If `true`, successful operations will be carried out and invalid operations will return errors. If `false`, all operations will be carried out in one transaction if and only if they are all valid. This should always be set to `true`.
  - `validateOnly` boolean: If `true`, the request is validated but not executed. Only errors are returned, not results.

## Response `200`

Successful response

- GoogleAdsSearchads360V23ServicesUploadClickConversionsResponse: Response message for ConversionUploadService.UploadClickConversions.
  - `jobId` string, int64: Job ID for the upload batch.
  - `partialFailureError` GoogleRpcStatus: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `code` integer: The status code, which should be an enum value of google.rpc.Code.
    - `details` object[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  - `results` GoogleAdsSearchads360V23ServicesClickConversionResult[]: Returned for successfully processed conversions. Proto will be empty for rows that received an error. Results are not returned when `validate_only` is `true`.
    - `conversionAction` string: Resource name of the conversion action associated with this conversion.
    - `conversionDateTime` string: The date time at which the conversion occurred. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
    - `gbraid` string: The URL parameter for clicks associated with app conversions.
    - `gclid` string: The Google Click ID (gclid) associated with this conversion.
    - `userIdentifiers` GoogleAdsSearchads360V23CommonUserIdentifier[]: The user identifiers associated with this conversion. Only hashed_email and hashed_phone_number are supported for conversion uploads. The maximum number of user identifiers for each conversion is 5.
      - `addressInfo` GoogleAdsSearchads360V23CommonOfflineUserAddressInfo: Address identifier of offline data.
        - `city` string: City of the address. Only accepted for Store Sales.
        - `countryCode` string: 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
        - `hashedFirstName` string: First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
        - `hashedLastName` string: Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
        - `hashedStreetAddress` string: The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
        - `postalCode` string: Postal code of the user's address.
        - `state` string: State code of the address. Only accepted for Store Sales.
      - `hashedEmail` string: Hashed email address using SHA-256 hash function after normalization.
      - `hashedPhoneNumber` string: Hashed phone number using SHA-256 hash function after normalization (E164 standard).
      - `mobileId` string: Mobile device ID (advertising ID/IDFA).
      - `thirdPartyUserId` string: Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
      - `userIdentifierSource` 'UNSPECIFIED' | 'UNKNOWN' | 'FIRST_PARTY' | 'THIRD_PARTY': Source of the user identifier when the upload is from Store Sales
    - `wbraid` string: The URL parameter for clicks associated with web conversions.

---

[API](https://skmtc.dev/google/apis/searchads360.md) - [All operations](https://skmtc.dev/google/apis/searchads360/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/searchads360/revisions/4a4511f84b18?raw)
