---
title: "GS1 Digital Link QR codes with Linkbreakers"
description: "Put your GTIN and batch in the QR code on your packaging, in the GS1 Digital Link format checkout scanners read, and let Linkbreakers run the page shoppers open: one link per product for every batch, batch saved on the visitor, recall routing from the first scan."
canonical: "https://linkbreakers.com/help/article/gs1-digital-link-qr-codes-with-linkbreakers"
last-updated: 2026-10-30
---

# GS1 Digital Link QR codes with Linkbreakers

> Put your GTIN and batch in the QR code on your packaging, in the GS1 Digital Link format checkout scanners read, and let Linkbreakers run the page shoppers open: one link per product for every batch, batch saved on the visitor, recall routing from the first scan.

:::try-ai-prompt {"prompt":"Create a link on my custom domain with the slug 01/09506000134352/10/{batch} that sends visitors to https://example.com/product, and add a visitor data condition that sends batch LOT42 to https://example.com/recall","description":"Set up a GS1 Digital Link with the Assistant.","target":"assistant"}:::

## Short answer

**GS1 Digital Link** is the GS1 standard for writing a product's identifiers into a web address, such as `https://qr.brand.com/01/09506000134352/10/LOT42`, where `01` introduces the GTIN (the number under the barcode) and `10` the batch. Encoded in a QR code on the pack, that one code serves two readers: a shopper's phone opens the address, and a store's checkout scanner reads the GTIN straight from the code's text.

Linkbreakers runs the phone side on your own domain. With a [dynamic slug](/help/article/dynamic-slugs-capture-data-from-the-url-path) such as `01/09506000134352/10/{batch}`, one link answers every batch of a product, saves the batch on the visitor, and can route a batch under recall to its own page from the first scan. It works on every plan with a custom domain, Free included.

## What GS1 Digital Link is

GS1 assigns product numbers worldwide. GS1 Digital Link puts them in a URL using GS1 Application Identifiers as path segments:

| Segment | Identifier | Example |
|---|---|---|
| `01` | GTIN, the product number | `01/09506000134352` |
| `10` | Batch or lot | `10/LOT42` |
| `21` | Serial number | `21/SN987654` |

The batch and serial always follow the GTIN, batch before serial. Other data, such as an expiry date (`17`), goes in the query string. The domain can be your own, so the address is `qr.yourbrand.com/01/...` rather than a GS1 address.

### Why brands are moving to it

The industry initiative known as **Sunrise 2027** aims for retail checkouts to read 2D codes, GS1 Digital Link QR codes and GS1 DataMatrix, alongside traditional barcodes by the end of 2027. It is driven by retailers rather than law, and linear barcodes are not being withdrawn. For brands, it means one QR code on the pack can replace both the barcode the checkout needs and the marketing QR code shoppers scan.

## Phones and checkout scanners read it differently

- **A shopper's phone** opens the address like any QR code. That visit reaches Linkbreakers: it runs your workflow, is counted and can capture a lead.
- **A checkout scanner** never opens the address. It decodes the code, finds the `01/` segment and looks up the GTIN in the store's own system. Nothing reaches Linkbreakers, and nothing needs to.

So the address has to follow the GS1 format to satisfy the checkout, and it has to be served by something useful to satisfy the shopper. That is the part Linkbreakers does.

## Set it up

1. **Get your GTINs from GS1.** Your GS1 member organization issues them. Linkbreakers does not assign or check them.
2. **Connect a custom domain**, such as `qr.yourbrand.com`. See [how to create branded links](/help/article/how-to-create-branded-links-in-linkbreakers).
3. **Create one link per product** on that domain, with the slug `01/{your GTIN}/10/{batch}`, for example `01/09506000134352/10/{batch}`. Use the 14-digit form of the GTIN that will be printed.
4. **Build the page shoppers see**: product information, registration form, recipes, a review request.
5. **Generate the codes per batch.** On the link's page, fill in the batch to get the exact address and its QR code. For production runs, have your packaging or printing system generate the GS1 Digital Link QR code for each batch from the same pattern.

If some packs carry only the GTIN, with no batch, create a second link with the exact slug `01/09506000134352`. It does not conflict with the dynamic one.

### One link for every product

A single link with the slug `01/{gtin}/10/{batch}` answers every product and batch on your domain and saves both `gtin` and `batch`. It suits a catalogue where every product gets the same page. It cannot coexist with per-product dynamic links on the same domain, because both would match the same addresses.

## Route a batch under recall

Add a [visitor data condition](/help/article/how-to-use-visitor-data-conditions) right after the scan:

- `batch` equals `LOT42` or `LOT43`: redirect to the recall notice and its form
- everything else: the normal product page

The condition sees the batch captured on that very scan, so it works for a shopper scanning the pack for the first time. When the recall ends, delete the branch: printed packs keep working.

## Analytics per product and batch

- Each product's link has its own scans, countries and devices in the dashboard.
- Every visitor carries the `batch` they scanned, visible on their profile and in exports, so you can count scans per batch or see where a batch ended up.
- Webhooks and Slack notifications include the batch, so a scan of a recalled batch can alert your quality team.

## What Linkbreakers does not do

- **No GS1 certification.** Linkbreakers serves the address; it does not register GTINs, check their check digit, or certify your codes.
- **No checkout data.** Checkout scans happen in the store's system and never reach us.
- **Path only.** Data in the query string (expiry date `?17=`) is not saved, and the compressed form of GS1 Digital Link is not read.
- **Your own domain.** The shared Linkbreakers domain does not serve dynamic slugs.
- **Print quality is yours.** Size, contrast and placement on the pack follow GS1's guidance and your printer's tests.

## Frequently asked questions

### Will the checkout read a QR code made with Linkbreakers?

The checkout reads the address inside the code, not where the code was made. If the code encodes a valid GS1 Digital Link address with your GTIN and the store's system knows that GTIN, it reads it. Test with your retailers' scanners before a production run.

### Do I need a link per batch?

No. One dynamic link per product answers every batch.

### Can I add a serial number too?

Yes: `01/09506000134352/10/{batch}/21/{serial}` saves both. Create it on its own; it does not overlap a slug with fewer segments.

### Is it available on the Free plan?

Yes. It needs a custom domain, and the Free plan includes one.

### Can my agent or script create these links?

Yes, through the REST API, the [MCP server](/help/article/mcp-server-setup), the CLI and the SDKs: send the pattern as the link's `shortlink` with your domain's `custom_domain_id`.

## Sources

- GS1 Digital Link quick start guide: https://ref.gs1.org/docs/2024/digital-link-quick-start-guide
- GS1 UK, how to create a GS1 Digital Link URL for a QR code: https://www.gs1uk.org/standards-services/get-market-ready/connect-to-consumer/guides-resources/how-to-create-a-gs1-digital-link-url-for-a-qr-code
- GS1 UK, data you can encode in QR codes powered by GS1: https://www.gs1uk.org/knowledge-hub/what-additional-data-can-you-encode-in-qr-codes-powered-by-gs1
- Videojet, GS1 Sunrise 2027: https://www.videojet.com/us/homepage/resources/learn/gs1-sunrise-2027.html
- Linkbreakers dynamic slugs, checked in the product on 2026-10-30.

## Last reviewed

2026-10-30 by Laurent Schaffner.
