Stefan RiemeyerGoogle Ads Freelancer

Sending returns to Google Ads: technique, deadlines, alternative

How to report returns to Google Ads by retracting and restating conversions, which deadlines apply and when a category-level discount is enough.

Stefan Riemeyer/Updated 3 November 2026/5 min read

How long does a return count? reports only Day 0 Day 7 Day 54 Bidding and reports Many returns arrive later.

The thesis up front: returns data mainly corrects your reports

Google Ads can process returns, and the technique is manageable. The catch is the deadline: according to Google, automated bidding only takes adjustments into account if they arrive within 7 days of being recorded. For reports, adjustments are possible up to 54 days.

My assessment: between order, dispatch, delivery, return shipment, warehouse inspection and the booked refund, more than seven days pass in many shops. Most returns then reach the Google Ads reports but no longer the bid. You should know this before you plan development time. It is different for cancellations before dispatch or for shops with very fast reversals, where the adjustment still reaches the bid.

Retract and restate: what the two adjustments do

Google Ads has two types of conversion adjustment, and Google names both explicitly for returns:

Adjustment When What changes Effect on bidding
Retract Full return, cancellation Conversion is permanently removed Target CPA and target ROAS
Restate Partial return Only the value, the count stays Target ROAS only

When restating, you enter the new total value, not the difference. An order of €120 from which goods worth €40 come back is therefore set to 80, not reduced by 40. A new value of 0 removes the conversion entirely.

Several partial returns per order are possible. Google processes them in the order of the adjustment time. After a retraction, further adjustments to the same order are ignored without an error message.

What needs to be in place technically

Without a transaction ID at purchase, nothing works. Google finds the conversion through the combination of transaction ID and conversion action name. If the ID is missing from the purchase tag, existing conversions can no longer be adjusted, only future ones.

There are three ways to upload:

  1. Spreadsheet or scheduled upload in Google Ads: order number, conversion action name, type of adjustment, time and, for partial returns, the new value. New conversions and adjustments must not be in the same file.
  2. Google Ads API: according to the API documentation, adjustments work with GCLID and GBRAID, not with WBRAID. For website conversions the order_id is mandatory, and conversion actions of type UNKNOWN cannot be adjusted.
  3. Server-side tagging: a webhook from the shop on refund triggers an adjustment tag. This mainly pays off if a server container is already running, see when server-side tracking pays off.

Shopify and Shopware: the options

For Shopify there are apps that retract automatically on refund or cancellation and correct the value on partial refunds. One example is ROASify, which according to its listing has a free tier for a few syncs per month and a paid plan at US$29 per month (as of November 2026). Before installing, check whether the app sends the order number exactly as your purchase tag passes it as the transaction ID.

For Shopware, the simplest start is a regular export of refunds as a scheduled upload in Google Ads. It needs no development and can be tested before you automate through a webhook via server container or API.

Checklist: why returns transfers fail

  • Transaction ID does not match exactly. According to Stape, the most likely cause when adjustments have no effect is that the webhook does not carry the same order ID used for reporting conversions in Google Ads. Typical case: the purchase tag sends the internal ID, the refund export the order number with a prefix.
  • Conversion action name differs. It must match including capitalisation.
  • Upload in the wrong account. If conversion tracking runs through a manager account, the adjustments must be uploaded there.
  • Status 200 read as success. With a server-side tag, a 200 response does not mean the adjustment took effect. Check in the account whether the values fall.
  • Difference instead of total value. Restating expects the new value of the order.
  • Retraction before partial return. After a retract, every further adjustment is silently discarded.
  • No way back. Website conversions cannot be restored after removal, and incorrect adjustments cannot be changed after the import. Start with a small sample.
  • Only Ads orders uploaded. Google recommends uploading all orders you want to adjust, because you cannot see which were attributed to a click. The "not found" message is normal for the rest.
  • Uploaded too early. Google advises adjusting no sooner than 24 hours after the conversion.

The alternative: a discount per category in the conversion value

Because bidding no longer sees later returns, a value that is already adjusted at purchase for the expected return rate works faster. The rule:

Conversion value = net order value × (1 − expected return rate of the category)

Worked example, assumed: a shop sells shoes with its own return rate of 40 percent and accessories with 5 percent. A shoe purchase of €100 net goes to Google at €60, an accessories purchase of €100 at €95. Smart Bidding then sees immediately that shoe revenue is worth less, instead of learning it weeks later in the report.

How far apart the rates are is shown by the Bamberg returns barometer: shoes and clothing were at around 46 percent, electronics and media and books in the low single digits. The retailer survey dates from 2018 and is rough. For your discount, only your own rate per category from the shop system counts, averaged over at least a few months and checked by season. The same approach can be combined with margin as conversion value.

What this means for target ROAS

As soon as you discount values or deduct returns, the reported ROAS falls even though nothing changes in the business. The target ROAS has to be converted to the new basis in the same step. Suppose a shop bids with a target ROAS of 500 percent on gross values and from now on applies a flat 40 percent discount: the same bidding level then corresponds to 300 percent. If you leave the old target in place, you throttle the campaign unintentionally. How to run the change in steps is covered in changing target ROAS, and how to derive the target from margin in setting target ROAS.

When automation is still worth it

I consider sending returns worthwhile if the rate is high and varies strongly between products, campaigns or months, as is often the case in fashion and shoes. A flat discount then does not cover the outliers, and the adjusted reports show which campaign brings revenue that comes back. With single-digit rates such as in electronics, the discount is enough in my view, and the effort of upload and checking rarely justifies itself there.

For shops with a high rate the combination fits: a discount per category for bidding, sending returns for control, but on a second, secondary conversion action with unreduced values. On the same action, returns would be deducted twice. If the secondary action deviates permanently from the discount, you adjust the rate. Why returns belong in media planning even without any transfer is covered in returns as a media topic.

Further questions

Can I restore a conversion I retracted by mistake?

No. According to Google, website conversions cannot be added back to reports once removed, and incorrect adjustments cannot be changed after the import. Test new processes with a few orders first.

Do I only need to upload orders that came through Google Ads?

No. Google recommends uploading all orders you want to adjust, because you cannot see in the account which of them were attributed to an ad click. Orders without attribution simply report 'not found'.

Sources

  1. About conversion adjustments, Google Ads Help
  2. How to adjust your conversions, Google Ads Help
  3. Upload conversion adjustments, Google Ads API
  4. How to Make Google Ads Conversion Adjustments, Stape
  5. ROASify, Shopify App Store
  6. Returns management 2019, University of Bamberg (in German)
Stefan Riemeyer

Stefan RiemeyerIndependent Google Ads freelancer for e-commerce in the DACH region. I work on every account I manage myself. How I work as a Google Ads freelancer.

Request a free audit

Read next