TL;DR
- GS1 Digital Link writes GS1 identifiers as web addresses: the GTIN for a product, with its batch, serial number and expiry date, the SSCC for a shipment and the GLN for a location.
- The gains come from the batch and expiry travelling inside the code: warehouses can pick by expiry, 2D-ready checkouts can refuse a recalled or expired batch, and a recall can target one batch instead of a whole product.
- GS1 Digital Link identifies things. Recording what happened to them, such as shipped or received, is the job of a separate GS1 standard, EPCIS, which can use the same identifiers.
GS1 Digital Link improves supply chain traceability by giving every product, case and pallet a machine-readable identity at the level you choose: product, batch or single item. With the batch and expiry date inside the code, read the same way by every partner, you can record where each batch went, recall a single batch and manage stock by date. The same code opens a web page on a phone, so a recall notice reaches anyone who scans an affected pack.
GS1 Digital Link in the supply chain at a glance
| What it identifies | Products (GTIN), batches and single items, shipments (SSCC) and locations (GLN) |
| What travels in the code | The identifier, plus an optional batch, serial number and expiry date |
| Where it is read | Packing lines, warehouse scanners, 2D-ready checkouts and phones |
| What needs the internet | Only opening the web address: scanners read the identifiers from the code itself |
| What records the movements | Your ERP and warehouse systems, shared with partners through GS1 EPCIS |
Which identifiers a supply chain uses, and what each enables
GS1 Digital Link reuses the GS1 keys supply chains already rely on, each written after its Application Identifier (AI). The basics guide has the full glossary.
| What is identified | GS1 key and AI | Example in the address | What it enables |
|---|---|---|---|
| A product | GTIN, 01 | /01/09506000134352 | Ordering, pricing, product data, the default product page |
| A batch or lot | GTIN plus batch, 10 | /01/09506000134352/10/LOT42 | Batch recalls, expiry checks, batch quality and origin records |
| A single item | GTIN plus serial number, 21 | /01/09506000134352/21/A7K29Q | Authentication, warranties, returns, item-level passports |
| Its expiry date | Attribute 17 | ?17=271231 | First-expired-first-out picking, markdowns, blocking expired stock |
| A shipment | SSCC, 00 | /00/095060001234567893 | Following a pallet or case from dispatch to receiving |
| A location | GLN, 414 | /414/9506000123455 | Naming the plant, warehouse or store in shipment and event records |
Batch level is what most supply chains need: precise enough for recalls and expiry, and it changes once per production run. Serial level, which product authentication depends on, needs variable-data printing for every unit.
How batch and expiry reach the warehouse and the checkout
The batch and expiry date are printed into the code at the end of the packing line, by a variable-data printer fed from the production system. From then on, every scan reads them from the code:
| Step | What is scanned | What the batch and expiry make possible |
|---|---|---|
| Packing | Units, cases and pallets as they are coded | A record of which batch went into which case and SSCC |
| Dispatch | The SSCC on the pallet | A shipment record listing the batches inside and the receiving GLN |
| Receiving | The SSCC, checked against the despatch advice | Stock booked in by batch and expiry, not just by product |
| Picking | Cases or units | First-expired-first-out picking, early warning on short-dated stock |
| Checkout | The unit, on a 2D-ready scanner | Refusing a recalled or expired batch, or a date-based markdown |
The checkout reads all of this locally, so it keeps working offline (see do 2D barcodes work offline). What the till does with the batch depends on the retailer's point-of-sale software, which needs its own list of blocked batches and markdown rules. Sunrise 2027, the industry initiative for checkouts to read 2D barcodes by the end of 2027, is met by a 2D code carrying only the GTIN; adding the batch and expiry is what brings these gains (what's mandatory and what's optional).

How a batch recall works
What the code carries sets how narrow a recall can be:
| The code carries | Scope of the recall | What the code can do |
|---|---|---|
| The GTIN only | Every unit, or a manual check of the dates on each pack | Show a general notice for the whole product |
| The GTIN and batch | Only the affected batch | Be refused at 2D-ready tills, and open a recall notice for that batch |
| The GTIN and serial number | Named units | Target single items, for example those registered for a warranty |
A recall has two halves. The trace follows the affected batch through your records to the SSCCs it shipped in and the GLNs of the sites that received it, so partners can quarantine that stock; if the batch wasn't captured at dispatch and receiving, the code can't fill that gap. The public side happens on the resolver: you switch the batch's destination to a recall notice, the link type GS1 calls gs1:recallStatus (see the resolver guide). Packs from that batch open the notice; other batches keep the normal page.
How event data is shared: GS1 EPCIS
GS1 Digital Link answers "what is this?". Traceability also needs "what happened to it?": that is EPCIS (Electronic Product Code Information Services), the GS1 standard for recording and sharing supply chain events. Each event answers four questions:
| Dimension | Question | Example |
|---|---|---|
| What | Which objects | 40 cases of batch LOT42, on one SSCC |
| When | Date, time and time zone | When the pallet was scanned at the dock |
| Where | Which location | The GLN of the receiving warehouse |
| Why | Which business step, and the resulting status | Receiving, with the stock now sellable |
Steps and statuses come from the GS1 Core Business Vocabulary, so partners use the same words. EPCIS 2.0, ratified by GS1 in 2022, added a JSON format and a REST interface, and lets events identify objects with GS1 Digital Link URIs, so the address on the pack and the identifier in the event record can be the same string. Partners exchange events by agreement; scanning the code doesn't publish them.
How to roll GS1 Digital Link into a supply chain: six steps
- Map your scan points. List where products, cases and pallets change hands, from packing to the store, and the system that records each scan.
- Choose the level for each product. Batch for most, plus the expiry date for perishables, and serial numbers where you need authentication. Check your printers can apply variable data at line speed.
- Assign the identifiers. GTINs for products, SSCCs for each pallet or case shipped, GLNs for your sites, all under your GS1 company prefix from your GS1 Member Organization.
- Set up the domain and the resolver. Use your own subdomain, give every GTIN a default page, and prepare the recall route for a batch before you need it.
- Connect the codes to your records. Make packing, dispatch and receiving capture the batch and the SSCC, and agree with your main partners how you will exchange events, using EPCIS where they support it.
- Test, then rehearse a recall. Scan printed codes on warehouse scanners, a 2D checkout scanner and phones. Then run a mock recall on one batch: trace it, switch its page, and check with a retailer that their tills refuse it.
Where the Digital Link platform fits
Digital Link, the platform behind this site, covers the product codes. A product's link can have variants with a batch or lot number, expiry date or serial number (how to create variants). Codes are generated in bulk from a CSV file or synced from an ERP or PIM, and from the Essential plan the API can feed batch, serial and expiry data to printers at the end of the line (integrations and bulk generation). A batch's destination can be switched to a recall notice without reprinting, and scans are reported per variant.
Create your first batch-level QR code
Frequently asked questions
How does GS1 Digital Link improve supply chain traceability?
It gives each product, batch or item an identity every partner reads the same way, with the batch and expiry date inside the code. Partners can record where each batch went, a recall can target one batch, and the code can open a recall notice on a phone.
Can a GS1 Digital Link carry a batch number and an expiry date?
Yes. The batch goes in the path after AI 10, as in /10/LOT42, and the expiry date after the ? as AI 17, written YYMMDD. A 2D-ready scanner reads both without an internet connection.
Can a checkout stop the sale of a recalled batch?
A 2D-ready checkout can read the batch from the code, so the retailer's point-of-sale software can refuse an affected batch, provided it holds the list of recalled batches. A linear barcode can't carry the batch.
What is the difference between GS1 Digital Link and EPCIS?
GS1 Digital Link identifies a product, shipment or location and links it to information online. EPCIS records and shares events about those things, such as shipping and receiving. EPCIS 2.0 can use GS1 Digital Link URIs as identifiers.
Do pallets and shipments use GS1 Digital Link?
They can. The SSCC, AI 00, identifies a pallet or case and is a valid GS1 Digital Link primary key, as is the GLN, AI 414, for locations. Most logistics labels still carry the SSCC in a linear barcode.





