You have a file called "Category X_Prices_FINAL_v3.xlsx", 400 of your products and three competitor price lists copied from their websites. Someone suggests pasting it all into ChatGPT or Claude and asking which products are the same. It's tempting. It's half right.
ChatGPT product matching works well on a small batch. A large language model (LLM) reads messy and multilingual titles better than any keyword rule, and it can compare brand, model and size when there's no EAN.
It goes wrong in four ways: it invents matches, its answers change with the prompt and between runs, it mixes up pack sizes and variants, and checking its answers gets slow fast. This guide explains each, gives you a 50-product test to run on your own range, and shows the workflow that holds up at scale.

Can ChatGPT match products to competitors' products?
Yes, for small batches and hard cases. In published research, GPT-4 matched product offers better than a fine-tuned model on three of four e-commerce benchmarks. But it leans towards saying "match", it can guess when facts are missing, and the same pair can get a different answer on a second run. Treat its output as suggestions that a person checks, not as finished matches.
Product matching is the work of pairing each product in your range with the same product at each competitor, so you compare prices on like-for-like items. The AI product matching pillar guide explains how matching tools work in general. This post is narrower: what happens when you hand the job to a general chatbot.
What does ChatGPT get right when matching products?
LLMs are good at reading. Three things a keyword rule struggles with are easy for them: messy titles, titles in other languages, and comparing attributes when no barcode is shown.
Messy titles. Competitor titles put words in a different order, drop the brand, add marketing words or shorten model names. An LLM reads an example like "GSR 18V-55 2x2Ah case" and "Bosch Professional drill GSR18V-55 with 2 batteries" as the same kind of thing without a rule for each pattern.
The research backs this up. Researchers at the University of Mannheim tested GPT-4 on product benchmarks with no task-specific training. According to Peeters, Steiner and Bizer (EDBT, March 2025), GPT-4 scored an F1 of 89.61 on WDC Products, 95.78 on Abt-Buy and 89.67 on Walmart-Amazon. Ditto, a model fine-tuned for matching, scored 84.90, 91.31 and 86.39 on the same sets, though GPT-4 trailed on a fourth set, Amazon-Google.
F1 is one number that combines how many accepted matches were right and how many real matches were found.
Titles in other languages. This matters a lot in Europe. A brand selling across the Nordics and DACH sees the same product named in German, Swedish and Finnish on different shops. A keyword rule needs a dictionary per language. An LLM doesn't.
| Shop language | How the same (example) product might be titled |
|---|---|
| German | Isolierkanne Edelstahl 2 l, schwarz |
| Swedish | Termos i rostfritt stål 2 liter svart |
| Finnish | Termoskannu ruostumaton teräs 2 l musta |
| English (your master file) | Vacuum jug stainless steel 2 L black |
Illustrative example, not real listings.
Attributes when there's no EAN. Many shops don't show the barcode. An LLM can pull brand, model, size, colour and pack count out of a title and compare them field by field. If you ask it to explain each decision, you can see why it said yes.
Where does ChatGPT go wrong when matching products?
Four problems show up as soon as you move past a handful of products: invented matches, answers that change with the prompt or run, pack size and variant mix-ups, and the time it takes to check the output.
It makes up matches
OpenAI describes hallucinations as "plausible but false statements" and explains that standard training rewards guessing over saying "I don't know" (OpenAI, September 2025). In matching, a guess looks like a confident pair that isn't real, or a competitor product name that isn't in the list you pasted.
The earlier Mannheim study on ChatGPT saw the same lean. In Peeters and Bizer's tests (2023), most ChatGPT prompts reached a recall of 98% or higher. The model found almost every real match, partly by saying "match" too readily. For pricing, a wrong match is worse than a missing one, because it creates a price gap that isn't there.
Its answers change with the prompt and between runs
Ask the same question twice and you may get two answers. Anthropic's own guidance on hallucinations suggests running the same prompt several times and comparing, because "inconsistencies across outputs could indicate hallucinations" (Anthropic docs). The same page says these techniques reduce hallucinations but "don't eliminate them entirely".
The wording of your request matters too. In the EDBT 2025 study, when the prompt was reworded, GPT-4 was the least sensitive model to prompt wording, with a mean standard deviation of 2.26 F1 points across prompts. The other models tested ranged from 6.18 to 18.54. So if a colleague rewords your prompt next month, your matches can shift.
It mixes up pack sizes and variants
A 6-pack and a single, 400 g and 500 g, black and white, the 2024 and 2025 model. These are the pairs that look almost the same in text. The barcode system treats them as different products.
GS1, which runs the EAN/GTIN system, says any change to the declared net content printed on the pack needs a new GTIN (GS1). Its example is a diaper pack that goes from 14 to 12.
The EDBT 2025 error analysis on Walmart-Amazon found the same weak spots. Of 15 false negatives, 9 involved small model-number differences and 7 variant or accessory differences, and 8 of 26 false positives came from misreading accessory or variant information (one error can fall into several categories).
In the EU this has a price consequence. Under the Price Indication Directive, shops show a selling price and a unit price (EUR-Lex summary). If a 4-pack is matched to a single, your price comparison is off by a factor of four. Our guide to comparing prices across pack sizes covers how to normalise them.
Checking gets slow at scale
2,000 products against 5 competitors is 10,000 product-and-shop pairs, before you count the wrong candidates the model has to rule out. In a chat window you paste, wait, copy and check, batch after batch.
Cost is not the main issue. The EDBT 2025 paper put a zero-shot GPT-4 prompt at about 0.474 US cents per zero-shot prompt on WDC Products, and GPT-4o at 0.024 cents (August 2024 prices). The issue is time. In Estonia, category managers often have assistants who collect competitor prices by hand. A chatbot doesn't remove that job. It moves it from typing to checking.

How do you test ChatGPT product matching on 50 of your own products?
Pick 50 of your products, find their true matches yourself, then run the chatbot three times in fresh chats and count. You need four numbers: correct matches, wrong matches, missed matches, and pairs that changed between runs. An afternoon is enough, and it tells you more than any vendor's accuracy claim.
Here is the protocol. It's a smaller version of the fuller test on the product matching accuracy guide on AI Product Matching, a guide site ScrapeWise runs, which suggests 200–500 products for a tool decision.
- Pick 50 products on purpose. Take about 20 easy ones (well-known brand, clear model), 20 hard ones (multipacks, sizes, colours, last year's model) and 10 you know the competitor doesn't sell.
- Write the answer key first. For each product, note the competitor's exact matching product, or "not sold". Do this before you run anything, so the chatbot's answer can't steer you.
- Paste a fixed competitor list. Give the chatbot the competitor's product names exactly as they appear, with a row number for each. Ask it to answer only with a row number or "no match", plus a one-line reason.
- Run it three times, in three new chats, with the same prompt word for word.
- Count per run: correct, wrong (paired with the wrong product), missed (said "no match" when there was one) and false "found" on the 10 not-sold products.
- Count across runs: how many of the 50 got a different answer at least once.
How to spot made-up matches quickly:
- The row number doesn't exist, or the name it gives isn't exactly in your pasted list.
- It "found" a match for one of the 10 products you know aren't sold.
- The reason mentions a size, colour or pack count that isn't in either title.
- The pair flips between runs. Treat any product that changes as unsure.

| What to count | How | Why it matters |
|---|---|---|
| Wrong matches | Chatbot pair ≠ your answer key | Each one is a false price gap |
| Missed matches | "No match" when one exists | Lower coverage of the market |
| False finds on not-sold items | Any match on the 10 control products | Direct sign of invented matches |
| Changed answers | Different answer in run 2 or 3 | Shows how much you can trust one run |
| Minutes spent checking | Time it, honestly | Multiply by your real range size |
Then do the sums: minutes spent on 50 products, times your full range and number of competitors, is the true cost of the chat approach.
What does a sensible product matching workflow look like?
Use the cheapest reliable signal first and send only the unsure pairs to a person. Match on EAN or another shared code where both sides show it. Then match the rest on title, brand, size and other attributes. Then use product pictures for what text can't settle. Anything still unsure goes to review.
- EAN or ID first. When both sides carry the same GTIN, the match is settled, and pack size comes with it because a different pack has a different code.
- Text and attributes next. This is where an LLM-style reader earns its place: messy and multilingual titles, brand, model, size, colour and pack count.
- Pictures for the rest. Photos help when titles are thin, for example fashion, furniture or own-brand goods.
- Unsure pairs go to a person. A matcher with only "yes" and "no" has to guess on the hard ones. A third pile of "likely, please check" is what keeps wrong matches out of your price table.
Matching tools work in this order. Pricefy, for example, describes matching by EAN, GTIN, UPC or SKU first, then comparing names, brands, descriptions and images when codes are missing.
ScrapeWise, which publishes this blog, does the same in its self-serve product matching: you upload your product list, it matches on a shared EAN or ID first, then on title, brand and size, then on pictures, and unsure pairs go to review. It costs €0.15 per 1,000 products for text and EAN and €1.50 per 1,000 for pictures (minimum €1 a run). The charge is live in the wallet: a run reserves the most it can cost and settles to what it actually used (November 2026).
A chatbot still has a job in this setup. Use it on the review pile, where a person wants a second opinion on 30 tricky pairs, not on 10,000 easy ones. Our LLM product matching guide goes deeper on prompting and where LLMs fit.
ChatGPT or a matching tool: which fits your team?
A chatbot fits a one-off check of a few dozen products. A matching tool fits a range you compare every week, because it is built to repeat its answer for the same pair and keeps a separate review list.
| ChatGPT or Claude in a chat | Matching tool | |
|---|---|---|
| Best for | One-off, under ~100 products | Whole range, repeated runs |
| Uses EAN when shown | Only if you paste it and ask | Yes, first step |
| Multilingual titles | Strong | Depends on the tool |
| Same answer every run | No | Built to repeat for the same input |
| Unsure pairs | Mixed into the answer | Separate review list |
| Your time | Paste, wait, check every batch | Check the review list |
The process matters more than the tool. In my experience the real pain isn't one wrong price. It's Excel files emailed back and forth, several people adding their input, and days lost before anyone acts. A chat window adds another copy of the file to that loop.
What should you do next?
Run the 50-product test this week. You'll know within an afternoon whether a chatbot is good enough for your range, or whether you need a matching step that uses EAN, text and pictures and hands you only the unsure pairs.
If you want to compare, scrape a competitor's product pages and match your own list against them: the first 5 requests are free and no card is needed. For more on the method, our guide site AI Product Matching covers algorithms, accuracy, LLM and image matching, and compares tools, ScrapeWise's among them.
Paste your first URL and get structured data
No code, no credit card. Most public websites, turned into a table you can export.
Not ready to sign up? See 12 rows of real Amazon data →
5 free requests no credit card · pay per page, no monthly plan · book a 15-min call →