Google Ads conversion adjustments are a built-in feature that lets advertisers modify or remove a recorded conversion after it has been reported — correcting the data that Google's bidding algorithms use to set bids. For South African Shopify stores running target ROAS or target CPA campaigns, this is consequential for SA operators running Smart Bidding: every unretracted return teaches the algorithm that a cancelled sale was real revenue, and bids shift accordingly. If you're building a serious ecommerce operation — and SA online retail is on a forecast trajectory of R159 billion in 2026 — accurate post-return conversion data is part of the infrastructure, not an afterthought.
This guide covers how the two adjustment types work, when each applies to specific SA return scenarios, the timing windows that determine whether an adjustment actually influences bidding, and the exact upload steps for Shopify stores. A working understanding of Google Ads conversion tracking for Shopify — specifically that dynamic order IDs are passed with each purchase event — is the only prerequisite.
Quick Answer
Google ads conversion adjustments come in two types: Retract removes a conversion from your count and sets its value to zero (use for full returns and cancellations), while Restate changes the conversion value without removing the count (use for partial refunds). Upload a six-column spreadsheet via the Goals icon → Conversions → Uploads in Google Ads. To affect your bidding algorithm, the adjustment must arrive within 7 days of the original conversion; the outer window for reporting corrections is 54 days (per the Google Ads Help Centre).
Jump to a Section
What Are Google Ads Conversion Adjustments?
Why Your Return Rate Distorts Bidding
Retract or Restate: A Decision Table for SA Stores
Not Sure If Your Conversion Data Is Clean?
Send us your current Google Ads conversion setup and we'll show you exactly where return data is inflating your ROAS — and what to fix first.
Get a Free Conversion AuditWhat Are Google Ads Conversion Adjustments?
Google Ads conversion adjustments are post-import modifications to conversion records that have already been reported and potentially acted on by Google's Smart Bidding systems. Where a standard conversion import records an event once and leaves it, the adjustment feature lets you reach back into that record and either remove it entirely or update its value — without creating a duplicate or a new conversion event.
Google's documentation describes two types:
| Type | What It Does | Affects Count? | Affects Value? | Best For |
|---|---|---|---|---|
| RETRACT | Permanently removes the conversion; sets value to zero | Yes — removed from count | Yes — set to zero | Full returns, full cancellations, unpaid orders |
| RESTATE | Updates the conversion value to a new amount | No — count unchanged | Yes — updated to new value | Partial refunds, partial returns |
One important limit: once a conversion is retracted or restated to a value of zero, it cannot be adjusted further. Any subsequent attempt to modify that conversion will be silently ignored — no error message, no confirmation. If you retract something in error, the fix is to re-upload the original conversion as a new event with a modified Order ID (appending a suffix such as -reupload).
Prerequisite check: For adjustments to work via the spreadsheet upload method, your Google Ads purchase conversion event must pass a dynamic order_id (or transaction ID) with every recorded purchase. Without it, matching the adjustment to the original conversion becomes unreliable. Google Ads conversion tracking Shopify stores implement via Google Tag Manager or the native Google Ads app — check that the purchase event populates transaction_id dynamically, not with a static placeholder.
Why Your Return Rate Distorts Bidding
Smart Bidding strategies — target ROAS and target CPA in particular — are trained on the conversion data your account accumulates. When a customer buys a clothing order and returns most of it three weeks later, Google's algorithm still sees the original purchase value unless you upload an adjustment. Your reported ROAS climbs; your bidding strategy interprets the campaign as performing well; your bids on that product category increase. The actual margin on those orders may be much lower.
This creates a compounding measurement gap. Globally, fashion category returns run at 18–22% of orders; electronics average 10–14%; health and beauty 8–12% (Statista, 2024 global ecommerce benchmarks). Categories with the highest return rates also tend to produce the most inflated ROAS figures without adjustments — which can cause bidding to shift spend toward segments that look strong before refunds but underperform once net revenue is measured.
South Africa's ECTA Section 44 gives online buyers a 7-day cooling-off right from date of delivery for most categories (perishables, personalised goods and unsealed digital media are exceptions), which means a meaningful portion of SA returns happen within that first week. That window aligns directly with the 7-day bidding impact window for adjustments — so SA stores that act on returns quickly can actually keep their bidding data clean in real time. Most don't, because the upload process feels manual. The steps below make it repeatable.
The problem extends beyond returns. SA ecommerce stores processing payments via EFT through PayFast or Ozow sometimes record a conversion when the shopper completes the checkout flow — before EFT payment is confirmed. If that EFT is never paid, the conversion sits in your account as revenue that never arrived. A RETRACT adjustment corrects it.
The core measurement gap: Google's bidding algorithms see gross revenue at point of purchase. If your store processes returns through Aramex, The Courier Guy or any other courier — and those returns take weeks to resolve — the gap between what Google sees and what you actually earned can run for weeks before it's corrected. Conversion adjustments are the mechanism that closes it.
Retract or Restate: A Decision Table for SA Stores
Choosing the wrong adjustment type is the most common implementation error — either retaining a full return as a conversion with a restated lower value, or retaining the conversion count on a full cancellation. This table maps the specific scenarios SA ecommerce operators encounter to the correct type and timing:
| SA Scenario | Adjustment Type | Upload Timing | Notes |
|---|---|---|---|
| Customer returns full order | RETRACT | Within 7 days for bidding impact; within 54 days for reporting | Removes from count and sets value to zero |
| Customer returns part of order (keeps some items) | RESTATE | Within 7 days for bidding; within 54 days for reporting | New value = original value minus returned items |
| ECTA cooling-off cancellation (days 1–7 post-delivery) | RETRACT | Same day or next business day after cancellation confirmed | Acting within 7 days keeps bidding data clean in real time |
| EFT via PayFast/Ozow — payment never received | RETRACT | Within 7 days of recorded conversion | Prevents bidding optimising to revenue that never arrived |
| Partial exchange (customer swaps some items) | RESTATE | Within 7 days preferred | Restated value = value of items kept; count stays as one sale |
| Order cancelled before dispatch | RETRACT | Same day as cancellation | Fastest action, clearest data; no courier delay involved |
Right approach — Partial refund on a clothing order: A customer buys two items and returns one. You upload a RESTATE adjustment with the value of the kept item as the adjusted value, within 7 days. Your target ROAS bidding trains on the revenue that actually cleared — the conversion count correctly reflects one genuine sale, at its true net value.
Wrong approach — Using RETRACT for a partial return: The same scenario, but you upload a RETRACT. The full sale is removed from your conversion count entirely. Your bidding algorithm loses the signal from a genuine, if partial, transaction — understating campaign performance and potentially cutting bids on a product line that still converts profitably.
For more on how bidding strategies interact with your conversion data, the post on Google Ads bidding strategies for SA campaigns covers the mechanics of how target ROAS and target CPA use conversion history to set bids.
The Two Timing Windows
Two timing rules govern how useful an adjustment actually is, and they serve different purposes.
The 7-day bidding window is the window within which an adjustment can change what Google's bidding algorithms are actively optimising toward. Google's Smart Bidding systems look at recent conversion history to calibrate bids. Adjustments arriving within 7 days of the original conversion are incorporated into that active training signal. Adjustments arriving later may still be processed — but their influence on bidding behaviour is significantly reduced because the model has already made decisions based on the unadjusted data.
The 54-day reporting window is the outer limit set by Google within which adjustments are accepted at all. Anything beyond 54 days from the original conversion date will be rejected. Adjustments in this outer zone still improve your historical reporting accuracy — which matters for analysing campaign performance and planning — but they no longer feed into real-time bidding decisions.
| Window | Time Limit | What It Does | SA Relevance |
|---|---|---|---|
| Minimum upload gap | At least 24 hours after the original conversion | Ensures the original conversion has fully processed before adjustment | Don't adjust same-day |
| Bidding impact window | Within 7 days of original conversion | Adjustment feeds active Smart Bidding training | Align with ECTA cooling-off and EFT confirmation timelines |
| Reporting correction window | Within 54 days of original conversion | Adjustment improves historical accuracy; no active bidding effect | Catches courier-delayed SA returns from The Courier Guy or Aramex |
| Outer limit | Beyond 54 days | Adjustment rejected; no impact on data | Long-tail returns (e.g. electronics warranty) cannot be adjusted |
Practical implication for SA stores with long return windows: If your return window extends beyond 7 days — which many SA clothing and electronics stores allow — consider pairing adjustments with a conservative starting ROAS target or using product-category custom labels to separate high-return lines. Adjustments beyond 7 days still clean your historical data, even when they can't retroactively change bidding decisions already made. The Google Ads conversion value rules feature can also help if you want to apply different valuation multipliers by category without waiting for returns to settle.
Key rule: Upload adjustments within 7 days if you want them to change active bidding. Upload within 54 days if you need accurate historical reporting. An adjustment after day 7 is still worth doing — it matters when you pull campaign data to evaluate performance or plan budgets. It just won't change what the algorithm is doing in real time.
Running Smart Bidding on an Ecommerce Store?
Tell us about your current return rate and upload cadence, and we'll assess whether your bidding data is clean enough for tROAS to work as intended.
Book a Campaign AssessmentUpload Your Refund Data: A Shopify Step-by-Step
A conversion adjustment for Shopify stores in South Africa follows the same spreadsheet method as any other Google Ads advertiser — but your source of return truth is Shopify's refund report rather than a separate CRM. Manual spreadsheet upload is the method most SA operators start with before moving to automation. It requires no developer access — only your Shopify admin and a Google Ads manager account with conversion edit access. The prerequisite is that your Google Ads conversion tracking passes a dynamic order_id with every purchase event.
Step 1: Export Refunded Orders From Shopify
In Shopify Admin, go to Orders and use the Status filter to select "Refunded" (full returns → RETRACT) and then separately "Partially refunded" (partial returns → RESTATE). Filter by date range — stay within the last 54 days, as Google will reject adjustments older than that. Note the Order ID and the refund amount for each qualifying order.
Step 2: Build the Adjustment Spreadsheet
The Google Ads conversion adjustment upload requires a file with exactly six columns, in this order, with column headers matching Google's template exactly:
| Column | Format | Example |
|---|---|---|
| Order ID | Matches the order_id passed at purchase | SHO-12345 |
| Conversion Name | Exact name from your Google Ads conversion action, case-sensitive | Purchase |
| Adjustment Time | yyyy-MM-dd HH:mm:ss | 2026-10-01 14:30:00 |
| Adjustment Type | RETRACT or RESTATE (uppercase) | RESTATE |
| Adjusted Value | Numeric; the new value, not the difference | The new total value after refund (not the refund amount — the value of what was kept) |
| Adjusted Value Currency | 3-character ISO code | ZAR |
When you retract a conversion in Google Ads, the Adjusted Value and Adjusted Value Currency fields can be left blank — the retraction sets the value to zero automatically. When you restate the conversion value in Google Ads, enter the amount the customer actually kept, not the refund amount. The adjusted value is what the order is now worth, not the amount removed.
Do not mix new conversion imports and adjustments in the same file — Google requires separate uploads for each.
Step 3: Check for Duplicate Order IDs
If the same Order ID appears more than once (for instance, a Shopify order that was partially refunded twice), deduplicate using a SUMIF in Excel or Sheets to calculate the final adjusted value, then upload one row per Order ID. Duplicate Order IDs in the adjustment file will be rejected.
Step 4: Upload in Google Ads
Navigate to the Goals icon → Conversions → Uploads in your Google Ads account. Select your file, run the preview to check for column errors, then apply. Processing typically takes a few hours; occasionally up to 24 hours. An HTTP 200 response on upload does not guarantee successful processing — check the upload history for actual row-level errors.
Step 5: Verify
Once processing is complete (allow a day or two), review the Conversions report in Google Ads. Filter by the date range of the adjustments. You should see the retracted conversions removed from count and the restated conversions with updated values. Cross-reference against your Shopify refund report totals.
Automation option: For stores processing more than a handful of returns monthly, manual uploads become error-prone. Dedicated apps (such as Pinpointed, which connects Shopify refund data to Google Ads automatically) can handle this on a daily schedule, removing the spreadsheet step entirely. The same outcome can also be achieved via the Google Ads conversion adjustment upload guide if your developer resources allow server-side triggers on Shopify refund webhooks.
Four Mistakes SA Advertisers Make With This Feature
Most of the implementation failures in this area follow predictable patterns.
1. No dynamic Order ID in the original purchase event. If your conversion tag fires with a static or null order ID, there's nothing to match the adjustment to. The fix happens at tracking setup, not at upload time. Audit your Google Ads purchase conversion tag in Google Tag Manager to confirm transaction_id is populated dynamically per order.
2. Uploading adjustments monthly, not weekly. A monthly upload cadence means the majority of adjustments arrive outside the 7-day bidding window. Your ROAS target is being calibrated on gross revenue for most of each month. Weekly uploads — or automated daily uploads — are the standard that keeps bidding data representative of actual net revenue.
3. Using RETRACT for a partial refund. This removes the conversion from count entirely, understating true campaign performance. A partial refund means some revenue was genuine — RESTATE preserves the signal value of that transaction. Applying a RETRACT to a minor partial return removes the full original sale value from your data rather than just the refunded portion, which overstates the performance problem.
4. Attempting to adjust an already-retracted conversion. Google silently ignores these attempts — no error, no confirmation. If you need to reverse a retraction (because you retracted in error, or the customer returned the returned item), re-upload the original conversion data as a new event with a modified Order ID. The same-Order-ID path is permanently closed once retracted.
For advertisers running Performance Max or Shopping campaigns alongside Search, the conversion data quality issue from unretracted returns compounds further — PMax uses conversion value to optimise product-level bids. The conversion lag post covers the related topic of how delays between click and conversion affect bidding in the interim period before a return is processed.
Why South African Businesses Choose Growth Pulse Media
Growth Pulse Media builds conversion tracking architecture — including the adjustment workflow most agencies skip — as the first step of every engagement, not a cleanup item six months later. Our Shopify marketing work starts with the measurement layer because Smart Bidding without clean conversion data is an expensive approximation. Founder Dirk van Greuning built and scaled a large South African ecommerce operation before founding the agency, which is why tracking and return adjustment are operational priorities rather than add-ons.
We work with a limited number of clients at any time so that every account gets senior attention rather than a junior who follows a checklist. We are a registered Shopify Partner and Omnisend Certified Partner, and all work is executed in-house by the team you brief.
Who This Is NOT For
Stores with no dynamic order IDs in conversion tags. If your purchase events fire without a unique transaction_id per order, the spreadsheet adjustment method won't work — there's nothing to match. Fix the tracking before investing in the adjustment workflow.
Campaigns running manual CPC bidding only. Manual CPC doesn't use conversion data to set bids, so adjustments have no real-time bidding effect. They will still clean your reporting data, but the primary value of this feature is the bidding accuracy it restores for Smart Bidding strategies.
Stores with very low return volumes. As a working rule of thumb, when your store processes fewer than a handful of returns per month, the distortion to your ROAS target is minimal and the setup and upload effort may not match the bidding accuracy improvement at low volumes. The feature scales in value with return volume — it pays for itself when returns are a regular part of operations.
Operators expecting adjustments to fix a fundamentally wrong ROAS target. If your target ROAS is set relative to gross revenue and your net margin after fulfilment, returns and payment processor fees is much lower, adjustments correct the measurement but not the target. The correct fix is resetting the ROAS target to reflect actual margin — adjustments are data plumbing, not a strategy layer.
Is Your ROAS Target Built on Clean Data?
Share your current campaign structure and we'll audit whether your Smart Bidding target reflects net revenue or gross — no obligation, response within 24 hours.
Request a Free AuditFrequently Asked Questions
What is the difference between RETRACT and RESTATE in Google Ads conversion adjustments?
RETRACT permanently removes the conversion from your count and sets its value to zero — use it for full returns and cancellations. RESTATE updates the conversion value to a new amount without removing the conversion from your count — use it for partial refunds where the customer kept some items. Applying the wrong type (RETRACT on a partial refund) overstates the data problem and removes genuine conversion signal from your account.
How long do I have to upload a Google Ads conversion adjustment?
Two windows matter. The adjustment must be uploaded at least 24 hours after the original conversion. To influence active Smart Bidding, it must arrive within 7 days of the original conversion. You can still upload an adjustment within 54 days of the original conversion for reporting accuracy, but adjustments beyond 7 days will not materially change what the bidding algorithm is currently optimising toward.
Can I undo a retracted conversion in Google Ads?
Not directly. Once a conversion is retracted, it cannot be adjusted further — subsequent attempts are silently ignored. To restore a retracted conversion, re-upload the original conversion data as a new event with a modified Order ID (for example, appending -reupload to the original ID) and a slightly different timestamp. This creates a new conversion record rather than reversing the original retraction.
Does my Shopify store need to pass an order ID for conversion adjustments to work?
Yes. The spreadsheet upload method matches your adjustment to the original conversion using the Order ID you pass in the purchase conversion event. If your conversion tag fires without a dynamic transaction_id — or with a static placeholder — there is nothing to match. Verify in Google Tag Manager or your Shopify Google Ads app that the purchase event populates transaction_id with the actual Shopify order number for every transaction.
Do conversion adjustments affect Smart Bidding in Google Ads?
Adjustments uploaded within 7 days of the original conversion are incorporated into the training data that Smart Bidding strategies (target ROAS, target CPA) use to set bids. This means retracting a full return or restating a partial refund within that window directly corrects the revenue signal the algorithm is working from. Adjustments after 7 days improve historical reporting accuracy but are largely not reflected in active bidding decisions already made on the earlier, unadjusted data.
What should I do if Google Ads silently rejects my conversion adjustment?
Silent rejections typically happen for two reasons: the Order ID doesn't match the one passed during the original conversion, or the adjustment is for a conversion that has already been retracted. Check that the Order ID in your spreadsheet exactly matches the transaction_id field from the original purchase event — including any prefix or suffix your Shopify theme may have added. For a retracted conversion, re-upload the original data as a new event rather than attempting to adjust the retracted record.
Get Your Google Ads Conversion Data Right From the Start
Growth Pulse Media sets up and audits Google Ads conversion tracking for SA Shopify stores — including the adjustment workflow that most agencies skip. We're a registered Shopify Partner working with a limited client load, so every account gets senior-level attention. No obligation — we'll get back to you within 24 hours.
Book a Free Audit

