Why does Google Merchant Center keep rejecting my products as duplicates because of a missing shipping weight?
Google Merchant Center is disapproving products as duplicates and flagging missing shipping weight, and it's not obvious which problem to fix first.
What's going on
A merchant syncing products to Google through Shopify's Google & YouTube sales channel starts seeing disapprovals in Merchant Center for missing shipping weight, but only on some products, often ones that look identical to other listings that are approved just fine. Digging in, it turns out some of the disapproved items are actually duplicates of other products already in the feed: the same item exists twice, one copy has a weight and the other doesn't, and Google is rejecting the incomplete copy while flagging both as duplicate content.
This tends to happen after a product was duplicated in Shopify admin, re-imported in bulk through a CSV, or migrated over from another platform, without every variant's weight carrying over, or after two different apps end up submitting overlapping feeds for the same catalog. Because the Google & YouTube channel pulls shipping weight straight from each variant's Weight field, any variant left blank breaks that one listing even if the rest of the product data is complete, and merchants often don't realize a stray duplicate product exists until Merchant Center's diagnostics call it out.
Why it happens
Google Merchant Center requires a valid shipping weight, or an equivalent shipping configuration set at the account level, for physical products so it can calculate shipping costs in Shopping ads and free listings. Shopify's Google & YouTube channel generates that value from each variant's Weight field, so any variant that never had a weight entered, whether it was added manually, imported via CSV, or created by duplicating an existing product, fails that check even though the rest of the listing looks fine.
The duplicate flag is a separate check: Google compares details like title, GTIN, and product URL across your feed, and sometimes across feeds submitted by other apps connected to the same Merchant Center account, and rejects items it considers redundant. When a product gets duplicated in Shopify to test a change and the copy is never removed, or when two different apps both push the same catalog to Google, the same product effectively gets submitted twice. Whichever copy is missing data, like weight, tends to be the one that surfaces as the visible error, even though the underlying issue is that it shouldn't have two listings in the first place.
5 ways to fix it
Add weight to every variant, not just the one that looks fine
Shopify's Google & YouTube channel pulls the shipping weight for each listing from the variant's Weight field on the product page. If a product was duplicated, edited by hand, or brought in through a CSV import, it's common for weight to be missing on one or more variants even though the first variant looks complete. Open the product and check every variant individually, adding a weight and unit to each one. If dozens of SKUs are affected, exporting the product CSV, filling in the weight column, and re-importing it is much faster than editing listings one by one.
Confirm it's actually a duplicate, and remove the extra copy instead of fixing both
A duplicate disapproval in Merchant Center usually means Google sees the same product submitted more than once, often with a matching title, GTIN, or URL. This tends to happen after a failed import, a platform migration, or a merchant using Shopify's product duplicate feature to test a change and forgetting to remove the copy afterward. Adding a weight to both copies just trades one error for a duplicate-content violation. Work out which listing you actually want live, remove or unpublish the other one from the sales channel, and only fix the weight on the copy you're keeping.
Set a default shipping rate at the account level if some products genuinely have no weight
If certain products don't have a meaningful physical weight to report, you don't have to enter a number on every one just to satisfy the check. Google Merchant Center lets you configure shipping settings, such as a flat rate or a shipping service, at the account or shipping-group level. Once shipping is set up there, Merchant Center can use that configuration to fill the gap for products with no weight on file, so you're not forcing a weight value onto items where it doesn't really apply.
Check whether more than one app is submitting the same products to Google
If you've connected the native Google & YouTube channel along with a separate marketing or feed app that also pushes products to Google, both can end up submitting the same catalog under different feed identifiers, which Merchant Center reads as duplicates. Check your store's connected sales channels and apps for anything else with an active link to Google Merchant Center, and disconnect the redundant one so only a single feed is being submitted.
Give the feed time to re-sync, and recheck Merchant Center rather than assuming it's fixed
Merchant Center doesn't re-approve products instantly after you correct the data. It can take anywhere from a few hours to a couple of days for the feed to be re-crawled. After fixing weights and removing duplicates, look for an option to trigger a fresh sync rather than just waiting, and check back in Merchant Center's diagnostics a day or so later to confirm the disapprovals have actually cleared rather than simply scrolled off the first page of issues.
Bottom line
This is fundamentally a data-hygiene problem rather than a technical one: Google wants one unique listing per product with a real weight on every variant, so the fix is almost always cleaning up your product and variant data and sales-channel setup, not installing new software. If this keeps recurring on a large catalog, a dedicated feed-management app can help catch missing attributes and duplicates before Merchant Center flags them, but for most stores the native Google & YouTube channel plus an occasional variant-weight check is enough.
Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.