Merchant Center

How to Fix Duplicate Products in a Merchant Center Product Feed

What counts as a duplicate in Merchant Center, the setups that create them, and how to clean them up without losing product history.

Duplicate products usually aren’t a typo. They come from a setup where two sources send the same items, where IDs change or collide, or where variants are modeled the wrong way. Fixing them is mostly about deciding which source owns each product and keeping IDs stable.

This guide explains Google’s ID rules, the common setups that create duplicates, how to tell variants from duplicates, and a safe order for cleaning up.

Short answer: Duplicates appear when the same product is submitted more than once in an account, usually through two primary data sources (for example an app and a file, or separate online and local sources) or IDs that change. Keep one primary source per product, give each product one unique, stable ID, and model variants with item_group_id rather than repeating products.

Key Takeaways

  • Every product needs a unique, stable ID of 1 to 50 characters; Google recommends the SKU.
  • Changing an ID overwrites the product and its history, so don’t change IDs to fix duplicates.
  • Don’t send the same products in separate online and local primary sources; Google recommends one primary source.
  • Casing doesn’t make IDs unique: abc123 and ABC123 can be confused.
  • Using the same IDs across separate Merchant Center accounts is fine and won’t cause duplicate disapprovals.

Google’s ID rules in brief

Every product needs an id between 1 and 50 characters. Google’s ID specification recommends using the SKU and sets out these rules:

RuleWhat it means in practice
Unique per productTwo different products (or variants) can’t share an ID
StableChanging an ID overwrites the product and its performance history
Same product, same IDUse the same ID for a product across countries and languages
Don’t rely on casingabc123 and ABC123 may be treated as the same, including when matching supplemental data
No reuseDon’t reuse IDs for different products, variants, a rotating “deal of the day” item, or new products
Clean charactersAvoid whitespace, use UTF-8, and avoid invalid Unicode such as control characters
Separate accounts are fineThe same IDs in different Merchant Center accounts won’t cause duplicate product disapprovals

Don’t “fix” duplicates by renaming IDs in bulk. A new ID is a new product to Google, and the old history is lost.

Common causes of duplicate products

These are the setups that create duplicates most often, roughly in order of how often they come up in practice.

Two primary sources sending the same products

Only primary data sources can add products. If a platform app and a manually uploaded file (or two apps, or an old feed nobody switched off) both add the same catalog, you get two copies. Google’s data source guide recommends keeping all products in a single primary source and excluding them from destinations with excluded_destination rather than splitting them.

Separate online and local primary sources

Google says not to submit the same products in separate online and local primary sources. If you sell the same items online and in stores, manage them in one primary source rather than duplicating them.

IDs that changed

A platform migration, a feed plugin swap or a new ID template (for example switching from a numeric post ID to the SKU) can resend the whole catalog under new IDs while the old items still exist. Each product then appears twice until the old ones are removed.

IDs that differ only by case or whitespace

IDs like “SKU-100” and “sku-100 ” may look different to your system but can be confused by Google. Normalize them at the source.

Reused or recycled IDs

Assigning an old ID to a new product, or rotating a single ID across a daily deal, makes Google treat different products as one, and mixes their data and history.

Variants modeled as separate products

If sizes or colors are sent as unrelated products with near-identical titles and the same image, they can look like duplicates. That’s a variant setup problem, covered below.

Variants vs duplicates

Variants are legitimate separate products. According to the item_group_id specification, each variant has its own unique id and shares an item_group_id. Three sizes in three colors are nine products.

Variants (correct)Duplicates (problem)
IDsOne unique ID per variantSame product under two IDs, or one ID for two products
item_group_idShared by all variants of one productMissing, or used for unrelated items
Landing pageDistinct URL per variant that preselects itTwo items pointing to the same page and options
Attributescolor, size and similar values differValues identical
ImagesEach variant shows its own color or finishSame image reused

Google also says not to submit the parent product as a separate item; use the parent SKU as item_group_id. See how to manage product variants in feeds.

How to find duplicates

  1. In Merchant Center, list your primary data sources under Settings > Data sources. Note every source that adds products and what feeds it.
  2. Compare the product count in Merchant Center with the number of sellable items (including variants) in your store. A count close to double is a strong signal.
  3. Download the product list and sort by title, link and GTIN. Rows with the same link and variant values but different IDs are duplicates.
  4. Lowercase and trim the IDs in a spreadsheet copy and look for collisions.
  5. Check Products > Needs attention for duplicate-related issues and note the affected IDs.

For a broader look at data source problems, see how to diagnose data source errors.

How to fix duplicates safely

  1. Choose one owner per product. Decide which primary source (app, file, API) should supply each product. Usually that’s the platform connection.
  2. Keep the IDs with history. Where two copies exist, keep the ID that has been live longer, unless it breaks the rules above.
  3. Remove the extra source or products from it. Delete or stop the duplicate primary source, or remove the duplicated items from it.
  4. Use supplemental sources for extra attributes. If the second source exists only to add data (custom labels, better titles), turn it into a supplemental source, which can update attributes but can’t add products.
  5. Fix the ID template at the source. Make IDs consistent in case and characters in the platform or feed tool, not by attribute rules alone.
  6. Fix variants. Add item_group_id, distinct variant URLs and variant attributes.
  7. Recheck counts after the next processing and compare with the store again.

Supplemental sources match products by ID exactly, and their feed label must match the primary source. ID casing problems can break that match. See supplemental feeds explained.

If you need to hide products temporarily while you sort this out, Google recommends pause (up to 14 days) or excluded_destination rather than deleting them, because re-added items take significant time to show again.

Platform notes: Shopify and WooCommerce

On both platforms, the most common duplicate setup is two tools adding the same catalog: the official app or extension plus a separate feed plugin, a feed management tool or an old scheduled file.

  • Shopify: the Google & YouTube app syncs products as a primary source. If you also upload a file or use another feed app as a primary source for the same products, remove one of them, or turn the extra one into a supplemental source.
  • WooCommerce: when switching from one feed plugin to another, check whether the new plugin uses the same ID format (for example SKU vs post ID). If it doesn’t, the switch resends every product under new IDs.
  • Both: after reinstalling or reconnecting an app, confirm the product count in Merchant Center before and after the first sync.

Platform connection details are in connecting Shopify and connecting WooCommerce.

Same IDs across countries and accounts

Google wants the same ID for the same product across countries and languages. You don’t need a separate copy per country; a single data source can target several countries. See how to handle multiple countries and currencies.

If you run more than one Merchant Center account (for example separate brands or a Multi-Client Account with sub-accounts), using the same IDs in each is acceptable and won’t cause duplicate products disapprovals, according to Google.

How to prevent duplicates

  • Keep a written list of which source owns which products, and review it when you add an app or feed tool.
  • Switch off the old connection before connecting a new one, and confirm counts after the first sync.
  • Freeze your ID format. If you must change it during a migration, plan the cutover and accept the loss of history.
  • Never recycle IDs for new products or rotating deals.
  • Compare Merchant Center product counts with the store each month.

A monthly routine is included in the Merchant Center account audit.

When to get help

Duplicates after a migration, or across several data sources and apps, can be tricky to unwind without losing history. If you’re unsure which source to keep, get a second opinion before deleting anything.

Our product feed optimization service covers data source structure, ID strategy and variant setup.

Frequently asked questions

Why are my products showing twice in Merchant Center?

Usually because two primary data sources add the same products, or because IDs changed and the old items still exist. Keep one primary source per product and stable IDs.

Can I use the same product IDs in two Merchant Center accounts?

Yes. Google says using the same IDs across multiple Merchant Center accounts is acceptable and won’t cause duplicate products disapprovals.

Are product variants considered duplicates?

No, if they’re set up correctly. Each variant needs a unique ID, a shared item_group_id, distinct attribute values and its own landing URL.

Should I change my product IDs to remove duplicates?

Avoid it. Changing an ID overwrites the product and its history. Remove the extra copy instead and keep the established ID.

Does Merchant Center treat ABC123 and abc123 as different IDs?

Don’t rely on it. Google says IDs that differ only by casing may be confused, including when matching supplemental data.

Need help untangling duplicate products?

We map your data sources and IDs, decide what owns each product and clean up duplicates without throwing away history.

Sources

Last reviewed October 10, 2026 against the official documentation listed above. Google changes Merchant Center features and policies regularly — always confirm details in your own account.

Similar Posts