Upload Google Ads conversions
Reports conversions to Google Ads from your own server, for the conversions only your server knows about.
This is the counterpart to the browser-side gtag('event', 'conversion', ...) call. Use it for a payment that actually settled, an order confirmed after review, or anything an ad blocker would stop the browser reporting. Each conversion needs the goal it counts towards, when it happened, and the click it came from.
Read the outcome from the counts rather than from status. A partial batch still comes back as success, so compare total_uploaded with total_submitted. The difference is accounted for by duplicates_removed, cross_request_duplicates, and skipped_no_click_id, and anything left over is rows Google rejected one by one. Google does not tell Base44 which rows those were, so the response cannot name them.
Send order_id on every conversion you can. Base44 remembers each conversion it has reported and never reports the same one twice, keyed on the order or click ID together with the goal and the timestamp, and that record does not expire. Sending a corrected value for a conversion you already reported has no effect for that reason. Use Upload enhanced conversions to add buyer details to a conversion you have already reported.
cross_request_duplicates rather than counting them twice.Authorizations
Personal API key.
Path Parameters
ID of the app whose Google Ads conversion tracking you want to manage.
Body
The conversions to report. An empty list is accepted and reports nothing.
Response
What happened to each conversion in the batch.
What happened to a batch of uploaded conversions.
Whether anything reached Google. The value is success when at least one conversion landed and no_rows_uploaded when none did, so it does not tell you the whole batch landed.
"success"
How many conversions you sent, counted before any of the checks below.
12
How many conversions were dropped as duplicates of another conversion in the same request, matching on order or click ID together with the goal and the timestamp.
1
How many conversions a previous request already reported. Base44 remembers every conversion it has sent, permanently, so a retried upload lands here instead of counting twice.
2
How many conversions were dropped before Google saw them because they carried none of gclid, gbraid, or wbraid. Google requires one of the three.
1
How many conversions Google accepted.
8