GTIN, MPN and SKU: matching products across retailers
GTIN, MPN and SKU: matching the same product across retailers
Two retailers list the same headphones with different titles, photos and descriptions. How do you know they are the same product? This guide explains GTINs, MPNs and SKUs, how check digits work, a sensible matching order, and the pitfalls that lead to wrong price comparisons.
One retailer calls them "Wireless Noise Cancelling Headphones, Black". Another says "Over-Ear ANC Bluetooth Headset (Midnight)". The photos are different crops and the descriptions share barely a sentence. If you want to compare prices, or stop a shopping assistant recommending the same item twice, you need a better test than "the titles look similar". That test is product identifiers.
The three identifiers you will meet
Identifier
Who assigns it
Scope
Good for matching?
GTIN (barcode number: EAN, UPC, ISBN)
The brand owner, using a GS1 company prefix
Global, one number per trade item
Yes, the strongest signal when valid
MPN (manufacturer part number)
The manufacturer
Unique only within that brand
Yes, but only together with the brand
SKU (stock keeping unit)
Each retailer, for its own stock system
One retailer only
No, not across retailers
GTIN
The Global Trade Item Number is the number under the barcode. It comes in 8, 12, 13 and 14-digit forms: GTIN-12 is the UPC common in North America, GTIN-13 is the EAN used across most of the world, and books use ISBNs that sit inside the same system. GS1, the not-for-profit standards body behind barcodes, publishes the neutral reference for how they are structured and allocated.
Because GTINs share one numbering system, it is good practice to store them in a single normalised form, usually left-padded with zeros to 14 digits. A 12-digit UPC and the same number padded to 13 or 14 digits refer to the same item.
MPN
The manufacturer part number is the model code a brand uses internally, often printed on the box or the product itself. Two brands can use the same MPN for unrelated products, so an MPN means nothing on its own. It only identifies a product as a pair: brand plus MPN.
SKU
A SKU is a retailer's own code for something it stocks. It is useful for linking back to that retailer's listing, but one shop's SKU 10482 has nothing to do with another shop's SKU 10482. Never use SKUs to decide that two retailers sell the same thing.
How do you check a GTIN is valid?
The last digit of every GTIN is a check digit calculated from the others. Validating it rejects most typos and many scraped or truncated values before they cause a false match. The method is short:
Take every digit except the last.
Starting from the right, multiply digits alternately by 3 and 1.
Add the results.
The check digit is the amount needed to reach the next multiple of 10.
For 501234567890 the weighted sum is 90, so the check digit is 0 and the full GTIN-13 is 5012345678900. GS1 also publishes a worked check-digit example and an online calculator if you want to test your own code against them.
Why brand plus MPN is a fallback
Plenty of listings have no GTIN, or have one that fails validation. Brand plus MPN is the next best key, but it is weaker for several reasons. Retailers format MPNs differently, with or without hyphens, spaces or regional suffixes. Brand names vary in spelling and capitalisation. And manufacturers sometimes use one MPN for a family of colours or sizes, while the GTIN changes for each one.
Normalise before comparing: lower-case, strip spaces and punctuation, and map brand aliases to one canonical name. Then treat a brand plus MPN match as likely, not certain.
A practical matching order
1. Valid GTIN equals valid GTINNormalise to 14 digits and validate the check digit on both sides. This is your strongest match.
2. Brand plus normalised MPNUse when either side lacks a valid GTIN. Confirm variant attributes such as colour and size also agree.
3. Attribute match for reviewBrand, model name and key specs agree but no identifier does. Flag as a candidate, do not merge automatically.
4. Title similarity aloneNever enough to merge. Use it only to suggest candidates for a stronger check.
Keep the reason for each match alongside the record. When a shopper or a reviewer asks why two offers were compared, you can answer, and you can undo weak matches if they turn out wrong.
Common pitfalls
Bundles and multipacks: a kettle sold with a matching toaster, or a four-pack of batteries, has its own GTIN. Do not compare its price with the single item.
Variants: each colour and size usually has a separate GTIN. Matching on the parent product hides price differences between them.
Regional versions: the same model sold in different countries can carry different GTINs and different plugs or chargers.
Leading zeros dropped: spreadsheets often turn 0012345678905 into 12345678905. Store identifiers as text, never as numbers.
Placeholder values: fields filled with all zeros, "N/A" or the retailer's SKU in the GTIN column. Validation catches most of these.
Simlir returns GTIN, MPN and SKU as separate fields in its structured results, and has an exact lookup for when you already hold an identifier. Over REST that is GET /api/v1/lookup with an identifier, its type (for example gtin) and a market. Over MCP it is the simlir_lookup_products_by_identifier tool. An exact lookup costs 1 credit. Details are in the Simlir docs.
Frequently asked questions
Is an EAN the same as a GTIN?+−
Yes. EAN-13 is the 13-digit form of GTIN, and UPC is the 12-digit form. They belong to one numbering system and can be compared once normalised to the same length.
Can I match products on retailer SKUs?+−
No. A SKU is only meaningful inside one retailer's systems. Use it to link back to that retailer, not to match across retailers.
What if a product has no GTIN at all?+−
Fall back to brand plus normalised MPN, confirm variant attributes agree, and treat the match as likely rather than certain. Without either, flag the listing for review instead of merging it.
Do different colours of the same product share a GTIN?+−
Usually not. Each colour and size normally has its own GTIN, so a different colour of the same headphones is a different trade item and its price should be compared separately.