Hey folks,
it has took me some time to go through the docs, forums or another sources, but I haven't found an answer, so hopefully I'll be more successful here.
I'm
preparing custom integration for Uploading enhanced conversions. As I'm using a CRM system able to comunicate via REST API, I need to prepare simple HTTPS request to upload enhanced conversion.
I'm not able to use any programming language, such as python, java, etc, so current documentation with examples using GoogleAdsClient is not helpful enough for me :/.
Will be grateful for any help/example, how to prepare REST API request, analogy to the script upload_conversion_with_identifiers.py
So I'm looking for:
Thank
you for any details in andvance.
Regards,
Marius Kostros
Hi Marius,
Thank you for reaching out to Google Ads API Forum.
For the REST method in uploading enhanced conversions, you may refer to the REST method customers.uploadClickConversions for the request url and request body structure. You may also utilize the api explorer customers.uploadClickConversions to test out the method.
For your reference, you may refer to this guide for uploading Enhanced Conversions for Leads.
Let us know if you have additional questions.
![]() |
Google Ads API Team |
my payload once again:
body = {
"conversions": [
{
"user_identifiers": [
{
"hashedEmail": {HASHED_EMAIL},
"userIdentifierSource": "FIRST_PARTY"
}
],
"conversionAction": "customers/{CUSTOMER_ID}/conversionActions/{CONVERSION_ACTION_ID}",
"conversionDateTime": {CONVERSION_DATE_TIME}
}
],
"partialFailure": True,
"validateOnly": True,
"debugEnabled": True
}
If debug_enabled true, the API will perform all upload checks and return errors if any are found. If false, it will perform only basic input validation, skip subsequent upload checks, and return success even if no click was found for the provided user_identifiers.
This setting only affects Enhanced conversions for leads uploads that use user_identifiers instead of GCLID, GBRAID, or WBRAID. When uploading enhanced conversions for leads, you should upload all conversion events to the API, including those that may not come from Google Ads campaigns. The upload of an event that is not from a Google Ads campaign will result in a CLICK_NOT_FOUND error if this field is set to true. Since these errors are expected for such events, set this field to false so you can confirm your uploads are properly formatted but ignore CLICK_NOT_FOUND errors from all of the conversions that are not from a Google Ads campaign. This will allow you to focus only on errors that you can address.
Default is false.
Hi,
Thank you for your response.
Moving forward to your question on how to create request for conversionAction, you may refer to the following documentations:
Regarding your concern on how to determine if the request was successful/works properly, then you can set the debug_enabled to true, so that it will return errors if any are found. In addition, based on your sample request provided, you set "validateOnly": True. If this field is true, then the request is validated but not executed. Only errors are returned, not results. Kindly set this to false if you'd like the request to be executed. Once your request is successful, you may refer here for a sample response.
Let me know if you have any questions.
Hi everyone,
@ Marius,
If you'd like to do this via the UI, then it would be best to ask for assistance from the Google Ads Product support team as they are more familiar with the features and functionalities of the Google Ads UI. You can reach them here: https://support.google.com/google-ads/gethelp
Moving forward to your issue of not being able to use Monitor upload summaries, can you elaborate on the issue or if you encountered any error kindly provide privately the Complete request and response logs, with the request-id generated for the error. Make sure to send this privately via the "Reply to author" option. If this option is not available on your end, you may send it through our email (googleadsa...@google.com) instead.
Looking forward to your response.
@ Triple A team
Thank you for your insights. Unfortunately we would not be able to comment further on other platforms' features. From the Google Ads AI perspective, you can refer to our documentation on Conversion Management on how to achieve this via the API.
Hello,
Thank you for getting back to us.
Upon checking your error message, you are getting a CLICK_NOT_FOUND error, the click can't be found for the specified identifiers. This may be because it did not come from a Google Ads campaign(https://developers.google.com/google-ads/api/reference/rpc/v14/ConversionUploadErrorEnum.ConversionUploadError#click_not_found).
Please note that based on our Code Example found here(https://developers.google.com/google-ads/api/docs/conversions/upload-clicks#code_example), You need to associate your offline click conversions with a conversion action by passing either the gclid, gbraid, or wbraid identifier. In addition, provide the conversion date time, conversion action resource name and optionally the conversion value and currency to ConversionUploadService.
Additionally, there are several requirements that must be met when uploading a ClickConversion, for more information on these requirements please refer to this section of the documentation(https://developers.google.com/google-ads/api/docs/conversions/upload-clicks#upload_clickconversion).
Can you also please provide us with the full API logs(request and response with request ID) and the respective IDs of these resources which caused this error to occur? I am asking for this so we can check on our end the error and provide precise recommendations.
You can provide it via Reply privately to the author option. If this option is not available, then send it instead on this email address googleadsa...@google.com
Hi,
Thank you for getting back and providing your insights on this. Allow me to raise your concern to our wider team for further investigation on the matter. Rest assured that one of our colleagues will get back to update this thread soon.
In the meantime, your patience is greatly appreciated.
A couple of things I notice in the request and response that you sent. The response specifies "jobId": "20887662158502278", but this does is not in the list of jobs in your request for a summary. This is most likely because it has not yet been processed on our side. It generally takes about 24 hours.
The alert in the response is, we realize, less than ideal. The error CLICK_NOT_FOUND can not be attributed to a specific job. It means one of the jobs in the summary has this error. Since your job does not appear in the summary, this particular error cannot be attributed to the job in your request.
The most common reason for CLICK_NOT_FOUND it when a non-Google conversion is uploaded. You can get this error immediately if in your request you set debug and partial failure to true. With these setting, the error will appear in your response. This is most useful when developing your application.
I'm sure you have already read it, but I recommend reviewing https://developers.google.com/google-ads/api/docs/conversions/upload-identifiers
![]() |
|
![]() |
Google Ads API Team |