Monday, 08:41. Your regular supplier sends over the new price list. One cell has shifted a row: where 249 should be, it now reads 24.90. In the same file, 340 rows have an empty stock field, and your import reads empty as no longer available. Without a check it is live within ten minutes. Bargain prices that cost you money on every order, and 340 products that vanish from your shop and from your Google feed.
The frustrating part: nobody did anything that does not happen every week. Suppliers shift cells, leave fields empty, export EANs in scientific notation. That is normal. The problem is not the error itself, it is that the error goes live unchecked. Guarding data quality is therefore not about perfect data. It is about exactly one thing: no change reaches your shop unseen.
The error is not in your shop, it comes in through the feed
Your own catalogue is usually tidy. The trouble comes in from the outside, every time a new file arrives. And it pays to take that seriously, separate from the question of whether you even need a classic PIM: even without a big system you want that gate in front. Gartner estimates that poor data quality costs organisations an average of 12.9 million dollars a year in wasted resources and missed opportunities. Research by MIT Sloan Management Review with Cork University Business School even puts it at 15 to 25 per cent of revenue that companies lose annually to poor data quality. Those are big numbers, but the mechanics behind them are small: a shifted decimal, an empty field, a duplicate row.
According to Productsup, price and availability errors were still among the most common feed errors in 2025, and they arise precisely when you are busiest: during promotions, dynamic repricing and currency conversion. That is exactly when you do not want to wave a file through blind.
- A supplier file goes into the import blind, errors and all
- A shifted decimal turns 249 euros into 24.90 in an instant
- An empty stock field is read as unavailable, 340 products offline
- Every file first passes a gate that holds back anomalies
- A price that drops or jumps tenfold is blocked pending your approval
- A mass deletion first asks for your sign-off, not a returns process
What one shifted decimal really costs
This sounds like an edge case until it happens to you, and the big names show it really does happen. Through a pricing error, 6pm.com, part of Zappos, once capped every item at a maximum of 49.95 dollars. They decided to honour all orders anyway and were out more than 1.6 million dollars. A decimal error put FIFA 23 in India at less than 1 dollar instead of 60, and EA Sports honoured those purchases. At Best Buy the decimal on expensive items shifted one place to the left.
For a furniture or retail shop it need not even be that dramatic. A wrong price increases cart abandonment, which already sits above 70 per cent across the board, and it erodes trust and margin. Every order at a bargain price is an order you either fulfil at a loss or cancel with an awkward email. Both cost you a customer.
The problem is never that a supplier makes an error. The problem is that the error goes live unseen.
Why Google is watching: price in feed = price on the page
There is another reason to hold back anomalies, and it sits outside your shop. Google Merchant Center requires the price in your product feed to match the price on your landing page and at checkout exactly. A discrepancy is treated as misrepresentation, in other words misleading. That is not a warning you can just click away.
A price or stock mismatch between feed and page can lead to products being disapproved and even to suspension of your Merchant Center account, according to Feedonomics and the Google documentation. An account review then typically takes around seven working days. Seven days in which your Shopping ads are on hold, all over a decimal you could have stopped at the gate.
Product data quality: a gate in front, not a clean-up after the fact
Most teams treat data quality as a clean-up job: scrolling through the catalogue weekly, hunting for odd prices, correcting by hand. That is mopping up. By the time you find the error, it is already live and a customer may already have ordered it. Guarding data quality only works if it is a gate that stands before the import, not a check that comes after it.
Such a gate is called a quality gate. Every incoming file is run past it, and anomalies are set aside rather than let through. You see what was held back, approve what is correct, and the rest does not go live until you have looked at it. In the flow from source to approved push that check is built in as standard.
The three anomalies you always want to stop
You do not need to dream up a hundred rules. Three types of anomaly catch the vast majority of the trouble, and you want these in every shop:
Here is what such a gate looks like when it does its job. Toggle between the file that is waved through blind and the same file that passes the quality gate:
// same feed, quality gate in frontIMPORT prijslijst-wk28.csv 3,412 rowsBLOCK sku EM-2049 price -90% (249.00 -> 24.90)BLOCK 340x stock -> 0 (empty field, mass)PASS 3,071 rows approved · snapshot #4471// 2 anomalies waiting for your approval
Toggle to switch: the same feed, once waved through blind and once stopped at the gate.
Strict, watching or automatic: you set the gate
Not every shop wants the same strictness, and it does not have to. At SyncRefine the quality gates can be set to three modes. Strict means anything that deviates waits for your sign-off. Watching lets the import run but flags what stands out, so you can quickly see afterwards what happened. Automatic lets trusted routines through on their own and holds back only the genuine outliers.
In practice it is usually a mix: price swings strict, because that is where your margin sits, and spelling variants on automatic, because they correct themselves to your standard anyway. You build that up with decision tables and find-and-replace that catch errors structurally, so the same anomaly does not demand your attention afresh every week.
A snapshot before every push: rolling back is one click
A gate holds back a great deal, but no check is perfect. That is why there is a second safety net. Every push automatically takes a snapshot of the situation as it was beforehand. If something does slip through that was not right after all, you roll back to the previous state instead of repairing by hand. And the very first push has extra protection against duplicate products, exactly the moment when that is most likely to go wrong.
That changes the nature of an error. An error without a snapshot is a disaster that costs you hours. An error with a snapshot is one click back. That is the difference between being afraid to push and simply getting on with your work.
$ push --channel woocommercesnapshot #4471 created (before push)3,071 records live · 2 blocked$ rollback #4471restored to state of 08:39 · 0 records lost
Rolling back is not an emergency operation but a routine action.
How you keep control, not just oversight
Quality control at SyncRefine starts as early as the merge. Sources are deduplicated on SKU, EAN, barcode and AI into a single golden record with per-field provenance, and spelling is normalised, from 47 colour variants back to your 12, where purple, lila and violet all become Purple. Then comes the gate: duplicate SKUs, price and stock swings and mass deletions are held back before they reach the shop.
What goes live goes out per channel in exactly the right format. WooCommerce and Magento 2 are live integrations; to Bol.com, Amazon, Google Shopping and Vergelijk.nl the feeds go in CSV, TSV and XML respectively, and only changes go out. That keeps not only your data clean but your pages fast too, and speed counts for Google: a good LCP is under 2.5 seconds. Wrong or heavy data harms both. If you are unsure about approving, rolling back or safety, most of it is covered in the frequently asked questions on approving and rolling back.
- The error comes in through the feed, not from your shop; stopping it at the gate is more effective than hunting for it after the fact.
- A price or stock mismatch with Google can lead to disapproval or suspension, with a review of around seven working days.
- Three gates catch most of it: duplicate SKUs, unusual price and stock swings and mass deletions.
- Set the gate to strict, watching or automatic per type of anomaly; you approve what goes live.
- Every push takes a snapshot beforehand, so rolling back is one click instead of an emergency operation.

