Upload Enhanced Conversions without using the Conversion Adjustment service

886 views
Skip to first unread message

Alex Garcia

unread,
Sep 17, 2023, 12:21:12 PM9/17/23
to Google Ads API and AdWords API Forum
We would like to implement the Enhanced Conversions feature to be able to send hashed first-party user data to the Google Ads API when upload Offline Conversions. We already have the Google Ads API implementation in place.

So we would like to know if we can send the enhanced first-party user data in the same call as the normal user data (gclid, timestamp, value, currency etc.) or if we need to make an additional call to Google Ads with the Conversion Adjustment service.

We are getting the first-party user data right when we get the conversion, so we can send it straight away. I don't see the point of sending it in a different call to the Google Ads API.

Please clarify if we can send ALL the info in the same call.

Google Ads API and AdWords API Forum

unread,
Sep 19, 2023, 5:25:53 AM9/19/23
to Google Ads API and AdWords API Forum
Anyone that can help us with this?

Google Ads API Forum Advisor

unread,
Sep 20, 2023, 7:25:18 AM9/20/23
to hust...@gmail.com, adwor...@googlegroups.com
Hi,

Thank you for reaching out to the Google Ads API support team.

After reviewing your concern, I understand that you would like to implement the Enhanced Conversions feature and would like to know if you can send the enhanced first-party user data in the same call as the normal user data or make an additional call to Google Ads with the Conversion Adjustment service.

Yes, you can send the enhanced first-party user data in the same call as the normal user data (gclid, timestamp, value, currency etc.). I would recommend you to check Upload Enhanced Conversions for Web to know more about how to leverage enhanced conversions for web by sending first-party customer data in the form of conversion adjustments by using the Google Ads API.


 
This message is in relation to case "ref:_00D1U1174p._5004Q2omR0U:ref"

Thanks,
 
Google Logo Google Ads API Team

 

Alex Garcia

unread,
Sep 20, 2023, 7:55:22 AM9/20/23
to Google Ads API and AdWords API Forum
Hi there, thanks for your reply. In fact, that's the link I was looking at, but there, all it says is use the "Conversion Adjustment" service.

So it's not really clear in the documentation how we should use the "Enhanced Conversions for Web" without the "Conversion Adjustment" service.

Can you please clarify or illustrate how a call would be? Maybe using this code as a base point: https://developers.google.com/google-ads/api/samples/upload-offline-conversion

Google Ads API Forum Advisor

unread,
Sep 21, 2023, 5:29:51 AM9/21/23
to hust...@gmail.com, adwor...@googlegroups.com
Hi Alex,

Thank you for getting back to us.

Please note that it is not possible to Upload Enhanced Conversions for Web without the Conversion Adjustment service.

In order to clarify how a call would be, could you please specify what exactly you are looking for? 

Alex Garcia

unread,
Sep 21, 2023, 6:13:58 AM9/21/23
to Google Ads API and AdWords API Forum
Can we send the "ConversionAdjustment" adjustment object in the same Google Ads API request as when we are sending the "uploadClickConversions" object?

Google Ads API Forum Advisor

unread,
Sep 22, 2023, 2:17:02 AM9/22/23
to hust...@gmail.com, adwor...@googlegroups.com
Hi,


Thank you for getting back to us.

Upon checking further, I understand that your query is whether you can send the "ConversionAdjustment" adjustment object in the same Google Ads API request as when you are sending the "uploadClickConversions" object.

You would not send conversion adjustments in the same request as click conversion uploads because the usage of their purpose is different. The uploadConversionadjustments are used to modify the existing conversion data, while uploadClickConversions are used to record new conversions.

Alex Garcia

unread,
Sep 22, 2023, 2:50:38 AM9/22/23
to Google Ads API and AdWords API Forum
The way this works is not optimal. We should be able to send all the data in the same request. This behavior (sending all the data at once) is used in all the other advertising APIs: Facebook, TikTok, Snapchat, Reddit etc.

Plus I see the following > Key Point: Wait 24 hours after a conversion is reported before adjusting it to avoid a CONVERSION_NOT_FOUND or TOO_RECENT_CONVERSION error.

So not only do we need to wait 6 hours to send the "uploadClickConversions" data, but we need to wait another 24 hours to send the "uploadConversionadjustments".

Again, this is a problem of Google Ads API and the way it works in the backend. I guess the only reason why you implement such long waiting times is because your system can't process data on the go, and it has a queue of events to process. This can be solved by improving the way you process events (gclid / wbraid / gbraid). Hope you can take this feedback into consideration!

Google Ads API Forum Advisor

unread,
Sep 22, 2023, 9:01:25 AM9/22/23
to hust...@gmail.com, adwor...@googlegroups.com
Hi,

Thank you for getting back to us and providing the feedback.

I will share the feedback with the rest of our team. If you have any more queries related to Google Ads API, please feel free to get back to us.

Alex Garcia

unread,
Oct 10, 2023, 4:29:10 AM10/10/23
to Google Ads API and AdWords API Forum
Hi there, can you please clarify this text: "In order to implement enhanced conversions using the Google Ads API, you must record conversions using a regular conversion tracking tag on your website." extracted from this link: https://support.google.com/google-ads/answer/13261987

We want to send Conversion Data via API + Enhanced Conversion Data via API.

Is this possible or not?

Alex Garcia

unread,
Oct 10, 2023, 4:33:20 AM10/10/23
to Google Ads API and AdWords API Forum
Also, it is not clear in the documentation if we should send the Enhanced Conversion Data WITHIN 24 hours, as stated here: "Make sure to send the conversion data using the Google Ads API within 24 hours of the conversion to ensure that we can attribute and perform the measurement for you in a timely way." > https://support.google.com/google-ads/answer/13261987 or if we should send the Enhanced Conversion Data AFTER 24 hours, as stated here: "Key Point: Wait 24 hours after a conversion is reported before adjusting it to avoid a CONVERSION_NOT_FOUND or TOO_RECENT_CONVERSION error." > https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments

Joachim Løvgaard

unread,
Oct 10, 2023, 9:07:22 AM10/10/23
to Google Ads API and AdWords API Forum
Hi, Alex

I will just save you LOTS of hours of waiting for Google and trying all sorts of different things. I have been working on your EXACT problem since August and the short story is that the Google Ads API isn't structured the way you and I would expect it. I have made the implementation you are hinting at where I first upload the conversion, then waiting 12 hours before I upload the enhanced conversion. But this results in the following error messages:

conversion.jpg

And just to get to these error messages has caused a lot of hair pulling :D

HOWEVER, what I was just about to write here is that the ClickConversion in fact supports some user identifiers (email and phone) and I was just about to change my code to actually send those values together with my existing ClickConversion API call. The problem (because there is ALWAYS a problem with Google Ads in my experience so far) is that I am not sure if I would get any feedback in the interface (i.e. the diagnostics tab on the conversion action you see in the screenshot) because that tab is not available for conversion actions with type UPLOAD_CLICKS.

@Google: I can see in the docs that I can send the user identifiers together with the ClickConversion API call. Which means I will be sending a gclid, order id, hashed email, hashed phone number in the same call. Would this work the same as first sending a ClickConversion with the gclid and order id and then afterwards sending a ConversionAdjustment API call with the hashed email, hashed phone number and order id?

Google Ads API Forum Advisor

unread,
Oct 19, 2023, 12:31:17 PM10/19/23
to joa...@loevgaard.dk, adwor...@googlegroups.com
Hi,

Thank you for getting back to us. 

Yes, sending the user identifiers together with the ClickConversion API call will work the same as first sending a ClickConversion with the gclid and order id and then afterwards sending a ConversionAdjustment API call with the hashed email, hashed phone number and order id. In fact, sending the user identifiers together with the ClickConversion API call is the preferred way to send conversion data, as it allows Google to better match conversions to users and campaigns.
 
This message is in relation to case "ref:!00D1U01174p.!5004Q02omR0U:ref"


Thanks,
 
Google Logo Google Ads API Team


Alex Garcia

unread,
Oct 19, 2023, 1:21:10 PM10/19/23
to Google Ads API and AdWords API Forum
This way of interacting with the API is not documented anywhere. It is the first time I've heard this is possible.

Also, a reply from your colleague to this thread on Sept 21st and Sept 22nd is contradictory to what you've just mentioned.

Overall, it is not clear how to proceed.

Ideally, the documentation should be updated & improved.

And we would like to see code examples of how we can send the user identifiers along with other basic conversion data in the same call.

Google Ads API Forum Advisor

unread,
Oct 23, 2023, 1:24:12 AM10/23/23
to hust...@gmail.com, adwor...@googlegroups.com
Hi,

Thank you for getting back to us.

Please note that If you set the "user_identifiers" field when uploading conversions using only click IDs, Google Ads treats the upload operation as an upload for enhanced conversions for leads. As you want to Implement Enhanced Conversions for Web, I would suggest you to not set the "user_identifiers" field when uploading conversions. You may check Construct the request guide to construct your UploadClickConversionsRequest and set its fields to appropriate values. Also, you may refer to this sample Java code and it is also available in other languages.

You can set the "user_identifiers" field with the normalized and hashed user data while Implementing Enhanced Conversions for Web. An enhanced conversion should be uploaded within 24 hours of the original conversion. We recommend uploading at least several minutes before the end of the 24-hour period for a margin of safety from differences between system clocks. I would suggest you to go through 'Best practice' when implementing enhanced conversions for web. 

Let us know if you have any further queries.
Reply all
Reply to author
Forward
0 new messages