Skip to content

Merging duplicates

How the system finds the same product across several vendors, what exactly a merge does, and how to undo it.

Available to roles Admin, EditorOpen in the app (Opens in a new tab)
On this page

This module solves one situation: the same physical product arrives from several vendors' feeds as several separate records. The system offers two different answers to that, and it matters not to confuse them.

Linking versus merging

OperationWhat it doesReversible?
Link (duplicate reference)Both products go on existing. The secondary one simply stops appearing in the shop and carries a reference to the primary. Nothing is copied.Any time, with Remove link.
MergeThe secondary's variants, images, parameters and categories move into the primary. The secondary is archived.Yes — through Un-merge, with conditions.

The primary product is the one that survives a merge. The secondary is the one that gets archived. That split decides everything else, which is why the manual returns to it in several places.

The module at a glance

You will find it under Products → Duplicates (Opens in a new tab). It opens on the Overview tab.

The Overview tab of the Duplicates module, with status figures and the detection rules table
Fig. 1 Overview: the state of the module and the rules detection searches by.

Controls on this screen

  1. Find duplicatesRuns automatic detection across the whole catalogue.
  2. OverviewThe state of the module and the detection rules.
  3. Linked duplicatesPairs that are already linked.
  4. SuggestionsThe queue of found pairs waiting for your decision.
  5. Manual searchSearching by fields you choose, plus saved searches.
  6. Merge historyWhat can still be undone, plus the permanent log.
  7. Linked groupsHow many pairs are linked but not yet merged.
  8. Secondary productsHow many products are currently hidden as secondaries.
  9. Pending suggestionsHow many pairs are waiting for a decision on the Suggestions tab.
  10. Link all suggestionsLinks every pending suggestion at once. It links, it does not merge.
  11. Detection rulesThe five strategies and the field each one compares.

Automatic detection

Find duplicates walks the catalogue with five strategies. Each compares one specific field and carries its own level of certainty:

StrategyFieldLevelCertainty
Same product GTINproduct.gtinProduct95 %
Same variant GTINproduct_variant.gtinVariant90 %
Same MPNproduct.mpnProduct80 %
Same manufacturer SKUproduct.manufacturer_skuProduct75 %
Same variant SKUproduct_variant.skuVariant60 %

A GTIN is a globally unique barcode, hence the highest certainty. A variant SKU, by contrast, is invented by each vendor, so a match can be pure coincidence — that is the reason for 60 %, and also for the rule that this strategy only compares across vendors, never within one. On screen it carries the Vendors only label.

Manual search and saved searches

When automation is not enough — because two vendors put their identifiers in mismatched fields, say — use manual search.

The Manual search tab, showing the side A and side B definition and the saved searches panel
Fig. 2 Manual search: defining sides A and B, and the saved searches panel.

Controls on this screen

  1. Save searchStores the current form. Enabled once the form is filled in.
  2. Saved searchesEach shows when it last ran and how many matches it found.
  3. Side A — primaryProducts from this side become the primaries, so they survive.
  4. Side A vendorThe vendor whose products are treated as primary.
  5. Side A comparison fieldWhich identifier to compare.
  6. Side B — secondaryThese products attach to side A as secondaries.
  7. Side B vendorIt need not be a different vendor, though usually it is.
  8. Side B comparison fieldIt need not be the same field as side A — that is the point of manual search.
  9. Link directlySkips the Suggestions queue and links the found pairs immediately.
  10. Run searchRuns a one-off search without saving it.

Which fields can be compared

Each side offers eleven fields, and they need not match — that is exactly the power of manual search: vendor A's GTIN against vendor B's variant SKU.

  • At product level: code, external ID 1–3, GTIN / EAN, MPN, manufacturer SKU, name.
  • At variant level: variant SKU, variant GTIN, variant external ID.

The right mapping for a particular catalogue is knowledge that otherwise lives in one person's head. A saved search records it, and turns the search into one click. It also removes the most common mistake: swapping sides A and B, which quietly inverts which product becomes the primary.

Suggestions: what to do with a found pair

The queue of found pairs is on the Suggestions tab. Nothing happens here on its own — every pair waits for your decision. Each row offers three actions:

  1. Reject

    The pair is not a duplicate. It leaves the queue and detection will not propose it again.

  2. Link

    You confirm it is the same product, but nothing is copied and nothing is archived. The safest choice.

  3. Compare and merge

    Opens the single-pair merge screen.

Each pair shows the match type — which rule found it, and the actual value — and the certainty from the table above. The row checkboxes select pairs for a bulk merge; the selection survives paging.

Linked duplicates

The Linked duplicates tab holds the pairs you confirmed but have not merged. Each row shows the primary, the secondary (hidden in the shop) and the match type that created the pair. From a link you can move to a merge at any time, or remove it — which puts the secondary back in the shop.

The list deliberately hides pairs where one product has already been archived by a merge. Such a row would offer buttons that cannot succeed.

Merging a single pair

The comparison screen is where you decide exactly what the resulting product looks like. Field by field you pick the value the result keeps, and switching the primary source decides which product survives the merge.

What the strategies mean

AreaChoiceResult
VariantsCombine allEvery variant of the secondary is added to the primary, with its prices and stock.
Take from sourceOnly one chosen product's variants are kept.
ParametersMerge allThe parameters of both are combined. Where the same parameter carries different values, both remain.
Take from sourceOnly one chosen product's parameters are kept.
ImagesAdd the secondary's imagesThe primary's gallery gains the secondary's images.
Keep only the primary's imagesNothing is copied. The main-image choice is hidden then — it would have nothing to do.

Bulk merge from a pattern

With dozens of pairs, clicking each one is unthinkable. So a bulk merge works differently: you configure it once on one sample pair, and the system repeats that same recipe across everything you selected.

A partial result is a normal outcome

One bad pair does not cancel the other ninety-nine — pairs already merged stay merged. That is why a run reports each pair separately: merged, skipped (with a reason) and failed (with the message).

Skip reasonWhat it means
Record no longer foundThe suggestion disappeared in the meantime — a colleague resolved it, for instance.
Suggestion already resolvedThe pair is no longer in the "pending" state.
Group does not contain two productsThe suggestion lost a member, so there is no pair to form.
Group has too many productsOne merge handles at most 10 source products.
A product no longer existsThe product was deleted in the meantime.
Product was archivedAnother merge archived it first.
Product already merged in this batchTwo selected pairs shared the same product.
Kept as the result in this batchThe pair would archive a product that an earlier merge in the same batch kept as its result. That would make it impossible to undo, so it is skipped.

History and un-merging

The Merge history tab holds two lists, answering two different questions:

  • Merges that can be undone — answers “what can I still take back?”. The row disappears once un-merged.
  • The merge and un-merge log — answers “what happened here?”. It stays forever.

What exactly comes back

An un-merge is a true inverse. It restores:

  • the archived secondary products — to the state they were in before the merge (a published product comes back published, not as a draft);
  • the primary's original field values;
  • the variants, images, parameters and categories the merge added — these are removed;
  • the primary's main image, if the merge overwrote it;
  • the duplicate links the merge removed or repointed;
  • duplicate suggestions go back to pending.

Every one of those steps is guarded so that a newer decision by an admin always wins. If you changed something by hand after the merge, the un-merge will not overwrite it.

The log, by contrast, never disappears. It is the one record that survives an un-merge — who did what, when, which products it touched, and whether it came from a bulk run.

Limits, permissions and constraints

Who may do what

OperationRole
Viewing every tab and the logAdmin, Editor, Viewer
Detection, linking, removing links, rejectingAdmin, Editor
Manual search and saved searchesAdmin, Editor
Single-pair and bulk mergeAdmin, Editor
Reject all suggestions at onceAdmin
Un-mergeAdmin

Numeric limits

LimitValue
Pairs in one bulk run100
Source products in one merge10
Saved searches per company50
Bulk merge runs5 per 15 minutes
Detection or manual search runs10 per 15 minutes
Single-pair merges and un-merges30 per 15 minutes

If you select more than a hundred pairs, the system stops the selection at a hundred and says so. If a larger number reaches the page address, the first hundred are taken and the screen warns you — merge the rest in a second run.

I merged two products by mistake. Can it be undone?

Yes, through Merge history → Un-merge, but only if you are an Admin and no newer merge over the same products happened since. The newer one has to be undone first.

Why did detection turn up nothing in Suggestions?

Either the catalogue has no matches in the compared fields, or the candidates are already linked or archived — detection skips those. Try Manual search with the pair of fields your vendors actually populate.

What is the difference between “Link all suggestions” and a bulk merge?

Link all suggestions only links — nothing is copied, nothing is archived, and it can be undone at any time. A bulk merge genuinely combines the data and archives the secondary products.

Does a product vanish from the shop if I only link it?

The secondary stops appearing in the shop and in the transfer to an ERP. The primary stays. Removing the link brings the secondary back.