A retailer's checkout only needs to know which product it is selling. But a warranty service, a loyalty programme or a recall team often needs to know which unit. This article explains how one physical pack gets an identity of its own by combining two numbers you may already have.
The identifier ladder
- GTIN“What product?”The product type — every bottle of the same 100 ml fragrance shares it.
- Batch / lot“Which production run?”Units made together, usually sharing a production date and expiry.
- Serial“Which exact unit?”Combined with the GTIN, one individual bottle.
- SSCC“Which logistic unit?”A specific carton or pallet as it moves through the supply chain.
- GLN“Which party or place?”A company, factory, warehouse, store or dock door.
If you are new to the idea of serialization, start with the cornerstone: what is product serialization?
Two numbers, one identity
The GTIN (Global Trade Item Number) is created by a brand from its GS1 Company Prefix. It identifies a product type: every unit of the same product, size and variant shares it. We explain the GTIN fully in what is a GTIN and why does it matter?
A serial number is assigned by the brand (or its systems) to one unit of that GTIN. On its own, a serial means very little — "X7KQ94MZ2RTA" could be anything. Paired with a GTIN, it becomes a unit-level product identity:
GTIN 09512345678901 + serial X7KQ94MZ2RTA = one specific 100 ml bottle of one specific perfume.
Think of a hotel: the hotel's address tells you the building, and the room number tells you which room. Room 214 exists in thousands of hotels; it only means something once you know which hotel. The serial is the room number; the GTIN is the address.
The uniqueness rule
Because the GTIN is part of the identity, the rule for serials is simple: a serial must be unique within its GTIN.
That has two consequences people often miss:
- The same serial value can appear under two different GTINs. Serial 000123 on a 50 ml bottle and serial 000123 on a 100 ml bottle are two different identities, because the GTINs differ. Many organisations still choose to make serials unique across their whole range, because it simplifies databases and reduces confusion — but that is a design choice.
- A serial must never be reused under the same GTIN. Even if a unit is destroyed, recalled or never sold, issuing its serial again would create two physical units with the same identity. Records would merge, and a genuine scan could look like a duplicate.
A third rule is about where the serial isn't: batch and expiry are not part of the key. A unit from batch A and a unit from batch B must not share a serial under the same GTIN, even though their batches differ. Batch describes the unit; it does not identify it. See batch-level vs unit-level identification.
How the pair is encoded
GS1 defines standard labels for each piece of data, called Application Identifiers (AIs). The ones that matter here are:
| AI | Meaning | Format |
|---|---|---|
| (01) | GTIN | 14 digits |
| (10) | Batch or lot | up to 20 characters |
| (17) | Expiry date | 6 digits, YYMMDD |
| (21) | Serial number | up to 20 characters |
The same identity can then be written in two ways.
As GS1 element strings
This is the traditional syntax, used in a GS1 DataMatrix and common in factories, logistics and healthcare:
(01)09512345678901(17)281231(10)LOT2610A(21)X7KQ94MZ2RTA
The brackets are shown for human readability; inside the barcode, the AIs act as labels so a scanner knows where the GTIN ends and the serial begins.
As a GS1 Digital Link
A GS1 Digital Link writes the same data as a web address, so a phone can open it while a GS1-capable scanner can still extract the GTIN:
https://id.maisonardent.example/01/09512345678901/10/LOT2610A/21/X7KQ94MZ2RTA?17=281231
Note three rules from the Digital Link URI syntax. The GTIN is always written as 14 digits, padded with leading zeros if needed. The qualifiers follow a fixed order — consumer product variant (22) if used, then batch (10), then serial (21) — so a path with the serial before the batch is invalid. And attributes such as expiry go in the query string after ?, not in the path.
Element strings and Digital Link are different encodings of the same identity, not different identities. For more on the URI form, see what is GS1 Digital Link?
A worked example on the line
Volta Cables, a fictional manufacturer, sells a boxed coil of 2.5 mm² cable. The box has one GTIN. Volta wants electricians to scan each box to earn loyalty points, so every box needs its own identity.
- Before the shift, Volta's serialization system issues 20,000 random serials for that GTIN and today's batch, and marks them as reserved.
- On the line, a line controller takes the next serial from the pool and sends the full identity — GTIN, batch, serial — to the coder, which prints a QR code carrying a GS1 Digital Link on the box.
- A camera reads each printed code and checks that it matches the serial that was sent. Mismatches and no-reads are rejected, and their serials are marked as rejected and never reissued.
- At the end of the shift, the system records which serials were printed and accepted, which were rejected, and which were never used.
- In the market, when an electrician scans a box, the platform looks up that exact GTIN-and-serial pair, sees it is a valid, active unit that has not yet been claimed, and credits the points once.
The GTIN alone could not support step 5: every box of that cable would look the same. For the factory mechanics in more depth, read the journey of a serialized product through a packaging line.
Choosing a serial format
GS1 sets the container (up to 20 characters in AI 21) but leaves the content to you. A few practical principles:
- Use random, non-sequential values for anything consumers or channel partners will scan, so valid codes cannot be guessed.
- Avoid meaning inside the serial. Encoding the date, line or plant into the serial seems convenient but makes serials predictable, and that information belongs in your records instead.
- Avoid easily confused characters if people may ever type the serial by hand — for example, O and 0, or I and 1.
- Size to the pack. Every extra character makes the 2D code larger. On a small cosmetics tube, a 12-character serial may fit where a 20-character one would not.
- Pick one serial authority per GTIN. If both an ERP and a separate platform can issue serials for the same GTIN, duplicates are only a matter of time.
Where this fits
The GTIN-plus-serial pair is the foundation for everything unit-level: per-unit loyalty, warranty registration, scan-based anomaly detection and carton-to-unit traceability. It is also only an identity. It says which unit something claims to be, not that the physical item in front of you is genuine — the subject of why a QR code does not automatically prove authenticity.
For a broader view of how GTIN, batch, serial, SSCC and GLN fit together across the supply chain, see GTIN, batch, serial, SSCC and GLN explained.
See how your GTIN and a serial look as a GS1 Digital Link