Skip to content
SyncRefine
SyncRefine

Product data quality: stop bad data at the gate

Product data quality starts with a gate, not a clean-up: quality gates block pricing errors, duplicate SKUs and mass deletions before they go live.

Kenneth Dekker
7 min read

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.

Without SyncRefine
  • 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
With SyncRefine
  • 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.
The heart of guarding data quality

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.

Where this goes wrong
Feed and page drift apart, and Google notices first
The moment the same price comes from two places out of two sources, they drift apart at some point. SyncRefine sends only changes out per channel, in exactly the right format, so your feed and your page do not start floating free of each other. See how every source comes into one clean structure with the quality gates in front of it.

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:

1
Duplicate SKUs
The same SKU, EAN or barcode coming in twice. Without a gate it becomes two products with two prices; with a gate it is flagged before it splits.
2
Unusual price and stock swings
A price that drops or jumps tenfold, or stock that crashes from 200 to zero. Suspicious enough to hold back first and have approved.
3
Mass deletions
A file that suddenly marks hundreds of products as discontinued, often because of an empty field. The gate blocks the bulk offline and asks for your sign-off.

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:

import-monday-0841.log
// same feed, quality gate in front
IMPORT prijslijst-wk28.csv 3,412 rows
BLOCK 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.

rollback
$ push --channel woocommerce
snapshot #4471 created (before push)
3,071 records live · 2 blocked
 
$ rollback #4471
restored 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.

In short
  • 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.
Want to see how no change reaches your shop unseen?
Written by
Kenneth Dekker
Automation & data integration
LinkedIn
Keep reading

Curious what SyncRefine can do with your product data?

Book a no-obligation demo and we will show it live on your own data.

Kenneth Dekker
Automation & data integration

“Automating with AI is happening now. In half an hour we will show you what it means for your business.”

No obligation and fully tailored