---
title: "Stop Counting Refunds - A Retailer’s Guide To Google Ads Conversion Value Adjustments"
description: "Retract or restate refunded and cancelled orders with Google Ads conversion adjustments, so ROAS, POAS and Smart Bidding run on the value customers keep."
canonical: "https://www.productmetrics.io/blog/google-ads-refund-conversion-adjustments"
pageType: article
language: en
publisher: "Product Metrics"
author: "Berend Vrakking"
datePublished: 2026-11-09
dateModified: 2026-11-09
image: "https://www.productmetrics.io/og/blog/google-ads-refund-conversion-adjustments.png"
---

> Content index: https://www.productmetrics.io/llms.txt

# Stop Counting Refunds - A Retailer’s Guide To Google Ads Conversion Value Adjustments

## Key takeaways

- For web conversions, Google requires an **order ID (transaction ID)** to adjust them later via conversion adjustments.
- Adjustments made within **7 days** of the original conversion can still be used by bidding algorithms when learning.
- Also, don’t try to handle refunds by sending **negative conversion values**.

When you look at Google Ads, your Shopping and [Performance Max](https://www.productmetrics.io/glossary/performance-max "Performance Max is a goal-based Google Ads campaign type that uses automation to reach customers across Google advertising channels.") campaigns might look wildly profitable.

Then your finance team closes the month, and a big chunk of that “revenue” has walked back through the returns desk.

If refunds and cancellations still show up as full‑value conversions, your [ROAS/POAS](https://www.productmetrics.io/blog/poas-vs-roas) is fiction—and [Smart Bidding](https://www.productmetrics.io/glossary/smart-bidding "Smart Bidding is a set of Google Ads bidding strategies that use Google AI to optimise for conversions or conversion value in every auction.") is optimising for customers who send you stock back.

This guide shows you how to fix that with **conversion value adjustments**, so:

- Reported revenue (or profit) in Google Ads matches commercial reality.
- Smart Bidding sees *net* value, not pre‑refund hype.
- Your [COGS and margin signals](https://www.productmetrics.io/blog/cogs-margin-google-shopping) stay clean for [true POAS bidding](https://www.productmetrics.io/blog/poas-conversion-value-bidding).

## 1. What Conversion Adjustments Actually Are (In Retailer Language)

Google Ads lets you modify conversions *after* they’ve been recorded using **conversion adjustments**. You can:

- **Retract** a conversion entirely when an order is cancelled or fully refunded.
- **Restate** its value when only part of the order is returned, or when lifetime value changes.

Google’s own help docs explicitly call out returned or cancelled purchases as prime use cases for conversion adjustments. (Source: [Google Ads Help – About conversion adjustments](https://support.google.com/google-ads/answer/7686447))

For Shopping and PMax retailers, this maps neatly to:

- Cancelled order → *never* should have been counted → **RETRACT**.
- Fully refunded order → customer bought, then undid it → **RETRACT** (or restate to zero).
- Partial return (one item in a basket) → order still has some value → **RESTATE** to the *remaining* revenue or profit.

![Diagram mapping three order outcomes to Google Ads conversion adjustments: a cancelled order gets RETRACT, a fully refunded order gets RETRACT or RESTATE to 0, a partial return gets RESTATE to the remaining value](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-retract-or-restate.webp)

_Cancelled and fully refunded orders leave the conversion columns; a partial return stays in at the value the customer kept._

Under the hood, Google Ads links a conversion adjustment to the original conversion using an order/transaction ID (for web conversions) or a click ID plus timestamp (for certain offline cases). (Source: [Google Ads Help – About conversion adjustments](https://support.google.com/google-ads/answer/7686447))

Developers can also upload these programmatically via the Google Ads API’s `ConversionAdjustmentUploadService`. (Source: [Google Ads API – Import conversion adjustments](https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments))

### Why This Matters For Smart Bidding

Google’s documentation notes two important timing windows:

- **Smart Bidding window:** Adjustments made within **7 days** of the original conversion can still be used by bidding algorithms when learning.
- **Reporting window:** You can usually adjust conversions for up to **54 days** after they’re first recorded, and reports will update accordingly even if bids don’t.

(Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

**Figure: How long after a conversion an adjustment still counts.** An adjustment inside 7 days still reaches Smart Bidding; up to 54 days it only corrects reports.

![Bar chart of the two Google Ads conversion adjustment windows: 7 days for adjustments Smart Bidding can still learn from, and up to 54 days for adjustments that only update reports.](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/conversion-adjustment-windows.webp)

| Window | Days after the original conversion |
| --- | --- |
| Smart Bidding window | 7 |
| Reporting window | 54 |

_Source: Google Ads Help: How to adjust your conversions_

[Google Ads Help](https://support.google.com/google-ads/answer/7686280)

So if you run in a [category with fast returns](https://www.productmetrics.io/blog/ecommerce-return-rate) (fashion, shoes, supplements), getting refunds and cancellations back into Google Ads inside that ~7‑day window is the difference between:

- Bidding on people who keep products vs
- Bidding on people who buy three sizes and send two back.

## 2. Prerequisite - Make Sure Google Ads Knows Your Order IDs

Before you can subtract refunds from Google Ads [conversion value](https://www.productmetrics.io/glossary/conversion-value "Conversion value is the amount you tell Google Ads a conversion is worth, such as sales revenue or profit margin."), Google has to be tracking conversions in a way that can be matched back to your orders.

For web conversions, Google requires an **order ID (transaction ID)** to adjust them later via conversion adjustments. (Source: [Google Ads Help – About conversion adjustments](https://support.google.com/google-ads/answer/7686447))<br />If you try to adjust a website conversion without one, you’ll hit errors like “Website conversion adjustment requires Order ID.” (Source: [Google Ads API – ConversionAdjustmentUploadError](https://developers.google.com/google-ads/api/reference/rpc/v26/ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadError))

Checklist:

1. **Your purchase tag must send an order/transaction ID to Google Ads.**
   - If you use Google’s global site tag, GA4, or [server‑side tagging](https://www.productmetrics.io/blog/what-is-server-side-tracking), confirm the order ID is mapped into the conversion event that’s linked back to Google Ads.
2. **That order ID must match your ecommerce platform’s order ID.**
   - This is what lets you join your refunds report back to the original conversion later.
3. **Avoid changing order IDs later in your backend.**
   - If your ERP overwrites or reformats them, you’ll struggle to match refunds reliably.

![Three-step diagram: a €150 order with order ID 10482, the Google Ads conversion with transaction ID 10482, and a refund adjustment with the same ID restating the value to 100; without an order ID the upload fails](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-order-id-match.webp)

_The same order ID in the shop, the conversion and the upload is what lets a refund find its conversion. Illustrative data._

At Product Metrics, our Full Signal tracking sends conversions server‑side with order IDs and other cart data, which then flow into Google Ads and Meta together with revenue and profit. (Source: [Product Metrics – WooCommerce server‑side tracking](https://www.productmetrics.io/platforms/woocommerce))

## 3. How To Subtract Refunds From Google Ads Conversion Value (Manual Uploads)

If you’re not ready for automation yet, you can clean things up with a simple weekly or monthly upload.

### Step 1 - Export Refunds And Cancellations From Your Store

From your ecommerce platform or data warehouse, export a file with at least:

- **Order ID** (matching what you send to Google Ads)
- **Original order date/time**
- **Refund or cancellation date/time** (when status changed)
- **Refunded amount** per order (and ideally per line item)
- **Status** (cancelled, fully refunded, partially refunded)

### Step 2 - Turn Business Logic Into Adjustment Rules

Decide how you’ll map real‑world outcomes to Google Ads adjustments:

- **Cancelled before fulfilment**<br />→ Treat as if the order never existed → **RETRACT**.
- **Fully refunded after fulfilment**<br />→ Either:
   - **RETRACT** the conversion entirely or
   - **RESTATE** the value to 0. In both cases, the order stops counting as value in your main conversion columns. (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))
- **Partial refund** (one of three items returned)
   - Keep the conversion; restate its **new total value** after the refund.
   - Example: Original revenue $150 $50 refunded → restated value $100.

Google is explicit that for restatements, you send the **new total value**, not the refund delta; if your adjustment brings the value down to zero, the conversion is removed from reports. (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

Also, don’t try to handle refunds by sending **negative conversion values**. Advertisers who attempted that found Google Ads didn’t subtract them from campaign conversion value; Google’s own community support points them back to conversion adjustments as the correct mechanism. (Source: [Google Ads Community – Can conversion value be negative?](https://support.google.com/google-ads/thread/108002888))

![Worked example of a €150 order with one €50 item returned: RESTATE to 100 is correct, RESTATE to 50 sends the refund instead of the total, and a new conversion of minus 50 is not subtracted](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-new-total-not-delta.webp)

_Send what the order is worth now: €100, not the €50 that came back. Illustrative data._

### Step 3 - Fill Out Google’s Conversion Adjustment Template

In the Google Ads UI you can download a CSV template specifically for conversion adjustments:

1. Go to **Goals → Conversions → Uploads**.
2. Click the **plus** button and choose to view templates.
3. Download the **Conversion adjustments** template (CSV or Google Sheet). (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

Key columns you’ll use:

- **Order ID** – your transaction ID from the original conversion.
- **Conversion action** – the specific purchase action you’re adjusting.
- **Adjustment time** – when the refund/cancellation happened.
- **Adjustment type** – `RETRACT` or `RESTATE`.
- **Adjusted value** – *only* for `RESTATE`: the new total value after any refund.
- **Currency** – if you operate in multiple currencies.

Google uses the combination of **order ID, conversion name, and adjustment time** to decide whether an adjustment is unique and should be applied. (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

![Example rows of a Google Ads conversion adjustments sheet: two RETRACT rows for a cancelled and a fully refunded order with no adjusted value, and one RESTATE row with an adjusted value of 100.00](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-template-rows.webp)

_Only a RESTATE row needs an adjusted value; a RETRACT row leaves it empty. Illustrative data._

### Step 4 - Upload And Schedule

Once your sheet is ready:

1. Upload it under **Goals → Conversions → Uploads** in Google Ads.
2. Check for any processing errors (e.g., unknown order IDs, invalid adjustment types).
3. Once you’re confident, you can set up **scheduled uploads** pulling from a cloud file. (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

Historically Google recommended waiting 24 hours after the original conversion before uploading adjustments, but an update to the Google Ads API in September 2024 removed that requirement—adjustments can now be uploaded as soon as the conversion is recorded. (Source: [Google Ads Developer Blog – Improvements to conversion adjustment uploads](https://ads-developers.googleblog.com/2024/08/improvements-to-conversion-adjustment.html))

### Step 5 - Expect Your Numbers To “Get Worse” (And Healthier)

Once refunds and cancellations are subtracted, your [ROAS](https://www.productmetrics.io/glossary/roas "Return on ad spend (ROAS) is the revenue your ads generate for every euro you spend on them.")/[POAS](https://www.productmetrics.io/glossary/poas "POAS (profit on ad spend) means contribution profit before advertising divided by ad spend: the profit each euro of ads leaves.") and conversion rate will usually drop.

In categories with high return rates, practitioners report noticeable increases in CPA after enabling refund adjustments—not because campaigns got worse but because Smart Bidding finally stopped getting credit for orders that came back. (Source: [Reddit – Your Google Ads ROAS is probably counting VAT and shipping as revenue](https://www.reddit.com/r/ecommerce/comments/1woufdo/your_google_ads_roas_is_probably_counting_vat_and/))

That’s the point: your bids and budgets are now tuned to customers who keep products and generate profit.

> **Send Google Ads and Meta the value customers keep.** Full Signal Tracking sends revenue and profit for every order, and a refund adjusts the same order, so bidding works on real revenue. Sends revenue, profit and new customers to Google Ads and Meta. [Book a demo](https://www.productmetrics.io/demo)

## 4. Automatic Conversion Adjustments For Refunds In Google Ads

Manual uploads are fine as a stopgap. Long‑term, you’ll want refunds and cancellations to flow back to Google Ads automatically.

Conceptually, every solution—home‑grown or third‑party—follows the same pattern:

1. **Listen for order‑status changes** in your ecommerce platform ([Shopify](https://www.productmetrics.io/platforms/shopify), [WooCommerce](https://www.productmetrics.io/platforms/woocommerce), Magento, etc.).
2. **Map each event to a Google Ads conversion** using the shared order ID.
3. **Decide whether to retract or restate** the conversion and compute the new value.
4. **Call the Google Ads API’s conversion adjustment endpoint** with those details.

The Google Ads API documentation shows how to send these adjustments via `ConversionAdjustmentUploadService`, using either order IDs for web conversions or click IDs plus timestamps for some offline cases. (Source: [Google Ads API – Import conversion adjustments](https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments))

![Four-step flow for automatic refund adjustments: an order status change in the ecommerce platform, a match to the Google Ads conversion by order ID, a retract or restate decision, and an upload through ConversionAdjustmentUploadService](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-automatic-pipeline.webp)

_Every automatic set-up runs the same four steps; what differs is who builds and maintains them._

Several specialised tools and plugins already do this. For example, the Omega Google Ads app for Shopify automatically uploads conversion adjustments when orders are refunded or cancelled, using `RETRACT` for full refunds and restating the value for partial ones. (Source: [Omega Help Center – Conversion adjustment for refunded and cancelled orders](https://help.omegatheme.com/en/article/omega-google-ads-conversion-adjustment-for-refunded-and-cancelled-orders-1rxd51l/))

### How Product Metrics Fits In

Product Metrics is an optimisation platform for Google Shopping and Performance Max that focuses on product‑level profitability, combining ad data with margin, stock, and other retail signals. (Source: [Product Metrics – Product‑level Google Shopping Optimisation](https://www.productmetrics.io/)) (Source: [AINave – Product Metrics overview](https://ainave.com/products/product-metrics))

Our **[Full Signal Tracking](https://www.productmetrics.io/server-side-tracking)** sends server‑side conversions into Google Ads and Meta that already include:

- Revenue
- Profit
- New vs returning customer status
- Lifetime value

—so you can [bid directly on profit (POAS)](https://www.productmetrics.io/poas-calculator) not just revenue. (Source: [Product Metrics – ROAS dashboard tools guide](https://www.productmetrics.io/blog/google-shopping-roas-dashboard-tools))

On platforms like WooCommerce, refunds are treated as **adjustments to the same order**, which means your net revenue and profit are updated for that order rather than counted as new negative events. (Source: [Product Metrics – WooCommerce server‑side tracking](https://www.productmetrics.io/platforms/woocommerce))

![Flow from the shop's order data through Full Signal Tracking, server-side from your own domain, to Google Ads and Meta with revenue, profit, new vs returning and lifetime value per order; a later refund adjusts the same order](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-full-signal-flow.webp)

_Full Signal Tracking sends one conversion per order with revenue and profit, and a refund lowers that same order instead of adding a negative event._

Paired with Google’s conversion adjustments, this lets you:

- Keep your **primary conversion value as profit** or net revenue.
- Automatically subtract returns and cancellations.
- Feed Smart Bidding a clean margin‑aware signal for every [Shopping and PMax](https://www.productmetrics.io/performance-max) click.

## 5. Google Ads Counts Cancelled Orders As Conversions - How Do We Fix It?

If you’re seeing cancelled or refunded orders still counted as conversions in Google Ads, run through this quick troubleshooting flow:

1. **Is the purchase conversion using an order ID?**
   - If not, add it to your tracking first; you can’t reliably adjust what you can’t identify later. (Source: [Google Ads Help – About conversion adjustments](https://support.google.com/google-ads/answer/7686447))
2. **Are you uploading adjustments for all cancelled/refunded orders, or just those you “know” came from Google Ads?**
   - Google recommends uploading adjustments for all orders you want to adjust, even if you don’t know whether Ads was the source; Ads will silently ignore ones that weren’t originally attributed. (Source: [Google Ads Help – About conversion adjustments](https://support.google.com/google-ads/answer/7686447))
3. **Are you using the right adjustment type?**
   - Cancelled order → `RETRACT`.
   - Fully refunded order → `RETRACT` or `RESTATE` to 0.
   - Partial refund → `RESTATE` to the remaining value.
4. **Are you adjusting within the allowed timeframe?**
   - Aim to send adjustments within 7 days for Smart Bidding impact; you can go up to 54 days for reporting corrections. (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))
5. **Are you trying to “undo” a retraction?**
   - Once a conversion is retracted or its value is restated to 0, there’s no direct “unretract” button. Google’s workaround is to re‑upload the conversion as a new event with a slightly different timestamp. (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

If you’re still stuck, check the processing errors in Google Ads for your uploads. Common issues include missing order IDs or conversion actions that aren’t configured for uploads. (Source: [withone.ai – Upload Conversion Adjustments guide](https://www.withone.ai/knowledge/google-ads/conn_mod_def%3A%3AGJ3rgzscfCk%3A%3AWxnAzHWfT0uPe3MGjI8IDA))

![Checklist of five checks when Google Ads still counts cancelled orders: order ID on the conversion, uploads for every cancelled or refunded order, the right adjustment type, the 7-day and 54-day windows, and undoing a retraction](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-troubleshooting-checks.webp)

_Work down the checks in order: without an order ID on the purchase conversion, none of the later fixes can match._

## 6. Bringing COGS And Margin Into The Picture

Cleaning out refunds is step one. Step two is making sure the **value you keep** is actually meaningful for profit.

### How Google Uses COGS For Shopping

Google Merchant Center supports a `cost_of_goods_sold` attribute that you can send alongside product prices. When you also send cart data with your purchase conversions, Google Ads can compute **gross profit and gross profit margin** (revenue minus COGS) for Shopping performance reporting. (Source: [Google Merchant Center Help – Cost of goods (COGS)](https://support.google.com/merchants/answer/9017895)) (Source: [Google Ads API – shopping_performance_view](https://developers.google.com/google-ads/api/fields/v26/shopping_performance_view))

Official docs highlight that this is used to provide **gross profit metrics** for retail advertisers in Shopping reports. (Source: [Google Ads API – Reporting for Shopping ads](https://developers.google.com/google-ads/api/docs/shopping-ads/reporting))

[Gross profit](https://www.productmetrics.io/blog/calculator-gross-profit) itself is simply:

> revenue – cost of goods sold (including product costs and other direct costs such as shipping to the customer, logistics fees, and some platform fees). (Source: [Wayflyer – Profits in Focus report](https://3rd-party-logos.s3.amazonaws.com/profits_in_focus.pdf))

Many advanced advertisers go a step further and send **profit (or net revenue)** as the conversion value itself, so that ROAS in Google Ads is effectively **POAS**—profit on ad spend. Practitioner discussions frequently recommend excluding VAT and shipping from conversion value for this reason. (Source: [Reddit – Your Google Ads ROAS is probably counting VAT and shipping as revenue](https://www.reddit.com/r/ecommerce/comments/1woufdo/your_google_ads_roas_is_probably_counting_vat_and/))

### Refunds And Profit Tracking - Getting To Commercially True Value

Once you’re tracking either:

- **Gross revenue minus shipping/VAT** or
- **Gross profit per order**

your conversion adjustments should restate **that same metric** when a refund hits:

- Full refund → restate value to 0.
- Partial refund → restate value to [remaining profit after returned items](https://www.productmetrics.io/blog/dropshipping-profit-margin-after-returns) and any refunded shipping/fees.

![Worked example of a €150 order excl. VAT with cost of goods €90 and one €50 item returned: the revenue value is restated to €100 and the profit value to €35 after the item's €30 cost and €5 return shipping](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-profit-restated.webp)

_The same partial return restates revenue to €100 but profit to €35, because the returned item and the return shipping both come out of profit. Illustrative data._

Product Metrics is built to help retailers do exactly this for Shopping and PMax: it combines cost prices margin data and cart‑level performance so you can track POAS at the product level and label products accordingly. (Source: [Product Metrics – Product‑level Google Shopping Optimisation](https://www.productmetrics.io/)) (Source: [AINave – Product Metrics overview](https://ainave.com/products/product-metrics))

Because Full Signal Tracking already sends profit to Google Ads and treats refunds as adjustments to the original order, your conversion values stay aligned with [real‑world margin](https://www.productmetrics.io/blog/ecommerce-profit-margins) without you having to maintain your own API integration. (Source: [Product Metrics – WooCommerce server‑side tracking](https://www.productmetrics.io/platforms/woocommerce))

## 7. A Practical Implementation Plan For Your Next 30 Days

To make this operational—not just theoretical—here’s a simple 30‑day plan you can hand to your team or agency.

### Week 1 - Make Conversions Identifiable And Margin Aware

1. **Confirm order IDs in conversion tracking** for your primary purchase action.
2. **Decide your value definition**: gross revenue net revenue or gross profit per order.
3. If you want Google’s built‑in gross profit reports, start populating `cost_of_goods_sold` in your Merchant Center feed. (Source: [Google Merchant Center Help – Cost of goods (COGS)](https://support.google.com/merchants/answer/9017895))

### Week 2 - Pilot Manual Refund Adjustments

1. Export the last 30 days of refunds and cancellations from your ecommerce system.
2. Map them into Google’s conversion adjustment template using `RETRACT`/`RESTATE`.
3. Upload once, validate the results, and document any data issues (missing IDs mismatched currencies etc.). (Source: [Google Ads Help – How to adjust your conversions](https://support.google.com/google-ads/answer/7686280))

### Week 3 - Automate The Pipeline

1. Work with your engineering or tracking partner to:
   - Subscribe to refund and cancellation events.
   - Generate adjustment payloads (order ID adjustment type new value timestamps).
   - Send them to Google Ads via the Conversion Adjustment API on a daily or near‑real‑time schedule. (Source: [Google Ads API – Import conversion adjustments](https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments))
2. Put monitoring in place for API errors and Google Ads upload logs.

![Three-week plan for refund-aware Google Ads conversions: week 1 order IDs and a value definition with cost_of_goods_sold in the feed, week 2 one manual upload, week 3 refund events sent to the API](https://www.productmetrics.io/images/blog/google-ads-refund-conversion-adjustments/google-ads-refund-adjust-30-day-plan.webp)

_Three weeks take you from identifiable orders to refunds that reach Google Ads by themselves._

If you’d rather not build all of this from scratch, Product Metrics can take on the heavy lifting of [**server‑side tracking profit‑aware conversion values and refund adjustments**](https://www.productmetrics.io/server-side-tracking) for your Shopping and PMax campaigns, so you can focus on using the cleaner numbers to grow profitable orders.

Cleaning up refund and cancellation data isn’t glamorous. But once Google Ads stops counting refunds as conversions, your [dashboards](https://www.productmetrics.io/blog/google-shopping-roas-dashboard) your bidding and your COGS/margin models all line up with what actually hits your bank account.

That’s when you can finally use Smart Bidding as it was intended: not to chase revenue but to compound profitable growth.

## Keep reading.

- [Enhanced conversions vs server-side tracking](https://www.productmetrics.io/blog/enhanced-conversions-vs-server-side-tracking)
- [Google tag gateway vs server-side tagging: how to choose](https://www.productmetrics.io/blog/google-tag-gateway-vs-server-side-tagging)
- [Google Ads Conversion Tracking Integration The End‑to‑End Playbook](https://www.productmetrics.io/blog/google-ads-conversion-tracking)

---

Written by Berend Vrakking, founder of Product Metrics. Last updated 2026-11-09.

1M+ products analysed · Nominated at the Dutch Search Awards for Best Measurement Campaign (2023) and Best Use of Data (2024)

HTML version: https://www.productmetrics.io/blog/google-ads-refund-conversion-adjustments
