Verifying a product by serial number checks whether the unique number on the product exists in the manufacturer's record and where it has been scanned before. A barcode is the same on every product of the same type; a serial number belongs to a single unit. A copied code can look genuine on its first scan, because the number really does belong to the manufacturer. What gives the copy away is the later scans of the same number.
What do the three numbers on a pack identify?
The barcode (GTIN) identifies the product type: every product with the same brand, contents and pack size carries the same barcode. The batch (lot) number identifies a group made under the same conditions, usually in the same shift or from the same raw material. The serial number identifies a single unit and does not appear on a second product. The first two are not enough to get a meaningful result from a lookup, so the flow below applies to products that carry a serial number. Which products should be numbered at unit level is covered in the article on setting up a product tracking system.
What happens behind the scenes when you scan the code?
The serial number is usually carried inside a QR or data matrix code. The GS1 Digital Link standard is the standard way to encode the product number together with the batch, serial number and expiry date in the structure of a web address; the same code can be read at the till and also lead to online information chosen by the brand.
After the scan, the lookup runs in four steps:
- The code is read and the product number, batch and serial number are parsed.
- The number is compared with the manufacturer's record: was this number produced, and was it activated at the end of the line?
- The number's history is checked: which batch it came from, which warehouse and market it was shipped to, and how many times and where it has been scanned before.
- A result is shown to the user: valid, scanned before, not in the record, or recalled.
The third step is where the lookup earns its value. A lookup that only checks whether the number exists cannot catch a copy on its first scan.
How is a copied code detected?
A QR code is a print; it can be photographed and printed on another pack. A copied number leaves a trace in the record in four ways:
- Repeated scans: a number belonging to a single unit is scanned again and again by different people.
- Geographic inconsistency: the same number is scanned within a short time in cities far apart.
- Location outside the shipment: the number is scanned in a region or channel the product was never shipped to.
- Number never activated: the number was never scanned at the end of the line, so it does not appear as produced in the record.
These signals only carry meaning at unit level. A number belonging to a single pack being scanned a hundred times is a warning; a number shared by ten thousand products in the same batch being scanned a hundred times is to be expected.
How far can you trust the result?
The result is as reliable as the record is complete. Four points decide it.
The end-of-line record. If the label is not scanned and activated the moment it is applied to the product, the record fills with numbers that appear as "produced" but were never attached to a product. Scrapped labels, leftovers at the end of a roll and lost labels are the source of this gap; we cover it in detail in the label accounting article.
Scans along the chain. Without warehouse and distributor scans, there is no reference against which to say that a number was scanned "in an unexpected place".
The wording of the result. If the screen does not state the difference between "valid" and "scanned before" clearly, the person making the first scan may feel a false sense of confidence. The second result is information about the number's history, not a verdict on the product itself, and it should be presented that way.
Readability of the code. A code with weak print, rubbed off by friction or placed on a curved surface cannot be read. A code that cannot be read neither verifies a genuine product nor catches a copy. The position, size and print method of the code are therefore part of label design.
How does verification work with Tagvex?
Tagvex gives products a unique number at batch or unit level as needed and places it in the existing label layout; moving from batch to unit level later is possible. The label is read and recorded at the end of the line, and changes of hands at warehouse, distributor and dealer points are gathered in the same record. When a company team, a dealer or a consumer scans the product with the mobile app, the result is given according to this record; a code scanned in an unexpected place or again and again is flagged in the record. The scope is on the solutions page.


