Returns to Google Ads
Send returns from your returns platform to Google Ads, so Smart Bidding optimizes on the revenue you keep instead of revenue that comes back.
When a customer sends an order back, Google Ads keeps counting the full conversion. Smart Bidding then optimizes towards revenue you no longer have, and campaigns that bring in many returns look better than they are.
Returns to Google Ads corrects that. Every day, AdPage adjusts the conversions of returned orders in Google Ads:
Full return: the conversion is retracted.
Partial return: the conversion value is lowered to what the customer kept. This is optional.
It works with every returns platform you connect to AdPage.
What you need
A returns platform
Returnless or Returnista, connected under Integrations
Google Ads
connected to the container under Integrations, by a Google account with at least Standard access to the Google Ads account; Admin is not needed. Read-only access cannot adjust conversions
Order webhooks
your webshop sends its orders to AdPage, the same order webhooks Webhook Matching uses
A purchase conversion with the order ID
the conversion action your purchases go to receives the order ID (transaction_id)
Google finds the conversion to adjust by its order ID. That works for website conversions (the Google tag or your server container) and for imported conversions such as the AdPage upload. Conversions imported from GA4, app conversions, store visits and call conversions cannot be adjusted, so AdPage does not offer them.
Set it up
Open your container's Settings and go to Returns to Google Ads.
Choose the Google Ads account.
Choose what happens on a partial return:
Do nothing: only full returns are retracted.
Lower the value: the conversion value becomes what the customer kept, including or excluding VAT, the same way your tag sends it. You do not have to tell AdPage which one: it works this out for each conversion action, see What a conversion action gets as value. Where it cannot tell, for example because the action gets profit, partial returns are left alone.
Tick the conversion actions your purchases go to, up to five. The action marked Primary is the one Smart Bidding uses. Page views, add to cart and similar actions are under Show other conversions; you rarely want those.
Click Preview at Google and check the result, see below.
Switch on Send daily and click Save. The section then collapses into a summary. Click Edit to change the settings, and Cancel to leave them as they were.
Read the preview
The preview is a dry run. Google checks the adjustments as if they were sent, including whether it can find the conversion, but nothing changes in your account. To keep it quick, Google checks at most 100 adjustments, for the newest returns, and the preview says when it checked such a sample. The daily run sends all of them.
You see how many adjustments Google would apply, how many orders have no Google Ads conversion, the first 25 orders by their name in your webshop, and what was skipped. With Lower the value, you also see what each conversion action gets as value.
OK
Google found the conversion and would accept the adjustment
No Google Ads conversion
Google has no conversion with this order ID in this conversion action: the order did not come in through a Google Ads click (organic, social, email, direct, or an iOS click without a click ID), so there is nothing to retract. This is the normal outcome for most orders, not an error. Once the order is three days old, AdPage stops trying and lists it under skipped
Order not found in webhook orders
AdPage could not find the returned order among your order webhooks: the returns platform uses a different order number, or the order is older than 53 days
Order number belongs to an order with a different order date
The returns platform gives a different order date than the order with this number in your webshop. That is another order with the same number, for example #265638 from 2024 next to #2265638 from 2026, so AdPage leaves the return alone
Order number fits more than one order
Several orders have this number and the order date does not settle which one, so AdPage leaves the return alone
Conversion older than 53 days
Google no longer accepts adjustments this long after the conversion
Conversion less than 25 hours old
Too early for Google; it goes out in a later run
Return not completed yet
The product is not back yet; it follows once the return is processed
Nothing refunded
The return has no refund amount, so there is nothing to adjust
Partial return, lowering the value is off
On a partial return is set to Do nothing, so partial returns are left alone
Partial return, but the conversion action does not get a recognisable order value
AdPage cannot tell what this conversion action gets as value, so it leaves the partial return alone there. Full returns are still retracted
Already sent
Adjusted in an earlier run
Skipped after three refusals
Google refused this adjustment three times for another reason, so AdPage stopped trying
A high share of No Google Ads conversion is expected: most orders do not come in through Google Ads. What matters is that orders from Google Ads show OK.
What a conversion action gets as value
A lowered value has to be on the same basis as the value Google already has. A conversion that came in at the order value including VAT must be lowered to an amount including VAT, and one that came in at profit cannot be lowered by an order amount at all.
Google Ads does not report the value of a single conversion, but it does report the value per conversion action per day. AdPage compares the average value per conversion with the average order value from your order webhooks, including and excluding VAT, for each two weeks of the last eight weeks.
Order value incl. VAT
The new value is what the customer kept, including VAT
Order value excl. VAT
The new value is what the customer kept, excluding the VAT of that order
Not the order value (e.g. profit)
Nothing: the action gets profit or a fixed value, so there is no correct new value
Varies between periods
Nothing: the two-week periods do not agree, for example because the tag changed what it sends. The preview shows the average of each period
Cannot be determined
Nothing: fewer than 50 conversions or orders in a period, VAT too low to tell the two apart, or Google Ads could not be read
Every two-week period with conversions has to point the same way. A tag that sent profit until last month and the order value since then can, on one average over both, look exactly like the order value excluding VAT. Lowering conversions on that basis would put them at a value that is wrong in both periods.
Full returns are always retracted, whatever a conversion action gets as value.
How it decides
Only completed returns count: the product is back or the return has been processed. A return that is only registered sometimes never arrives.
A return counts as full when every item came back, or at least 90% of the order value (shipping is usually not refunded).
Exchanges and repairs do not count here: the revenue stays.
A return is linked to its order by the order number. The returns platform does not always write it the way your webshop does: Returnless can give 265100 where Shopify shows the order as #2265100. AdPage recognises both. When the returns platform gives the order date, as Returnless does, it must match the order in your webshop within two days. If it does not, or if a number fits more than one order, the return is left alone: a retraction is final, so AdPage would rather skip a return than adjust the wrong order.
Google accepts adjustments from 24 hours until about 54 days after the conversion. AdPage waits 25 hours and stops at 53 days to stay inside both limits. The age counts from the order, not from the return.
A conversion is retracted only once. A lowered value is sent again only when the return changes, for example when a second item comes back.
If Google has no conversion for an order, AdPage tries again the next day while the order is less than three days old, because the daily AdPage upload can arrive after the run. After that it stops. If Google refuses an adjustment three times for another reason, AdPage stops trying for that order as well.
Check the result
In Google Ads, adjustments show up in the Conversions and Conv. value columns with the same delay as regular conversions, on the date of the original conversion. Google does not show individual order IDs in its reports, so you see the effect in the totals per conversion action.
In AdPage, the Returns to Google Ads section shows the last run: how many conversions were adjusted, how many orders had no Google Ads conversion, and how many adjustments Google refused. Under Last sent you see the most recent adjustments Google accepted, by the order name in your webshop, such as #2265100. Hover over a name to see the number the returns platform uses for it.
Related
Profit on Ad Spend: bid on margin instead of revenue
Webhook Matching: get every order to AdPage and your ad platforms
Returnless: connect Returnless
Returnista: connect Returnista
Was this helpful?

