Ecommerce & retail
QR codes for serialised products
Serialisation gives every unit its own QR code carrying an opaque serial that your server resolves. One investment powers authentication, recalls, warranty, and resale provenance simultaneously. Keep serials random and meaningless, put data server-side, and use GS1 SGTIN-style identifiers if codes must also serve retail scanning.
From "this product" to "this unit"
A per-SKU code answers "what is this?"; a serialised code answers "which one is this?", and that difference is what unlocks the interesting use-cases. Serialisation means every unit leaving the line carries a unique code:
example.com/u/7f3k9q2m
The same physical label process, one variable field, and suddenly the code can speak about this unit's batch, history and status rather than the product in general.
The use-case stack
The economics of serialisation are that one investment powers every unit-level use-case at once:
- Authentication: a serial that exists in your database, with scan-anomaly detection for copied codes.
- Recalls: the scan page can say "your unit is affected" instead of making customers parse batch ranges; the highest-stakes payoff, covered for food on the allergens page.
- Warranty registration, the serial arrives prefilled; support knows the unit's manufacture date and firmware.
- Resale provenance: second-hand buyers verify age and history, which supports resale value for premium goods.
- The EU Digital Product Passport: unit-level identity is the prerequisite the coming rules assume; building it now is the future-proofing step.
Any one of these might not justify the operational change; the stack usually does.
Data model: opaque serial, server-side everything
The design rule that saves you later: the code carries an opaque pointer, the server holds the facts.
- Random, sparse serials, 8+ characters from a large alphabet, so valid serials cannot be guessed or enumerated. Sequential serials hand a counterfeiter your entire namespace and leak production volumes to anyone who buys two units.
- No meaning in the serial, no encoded dates, plants or SKUs. Meaning lives in the database row, where it can be corrected; a meaning-bearing serial printed wrong is wrong forever.
- Short payloads, an 8-character serial in a short URL yields a version 2–3 code with big modules that survives small-label printing; a JSON blob does not.
- Your domain, forever, the packaging permanence rules compound at unit level: millions of printed serials cannot be re-pointed if the domain dies.
GS1 framing, when retail is in the picture
If the serialised code must also serve tills and supply chains, use the GS1 shape: SGTIN (the GTIN plus a serial) expressed as a GS1 Digital Link URL:
https://id.example.com/01/09520123456788/21/7F3K9Q2M
01 is the GTIN, 21 is the serial. POS and logistics scanners parse the identifiers;
phones resolve the URL; and the same code satisfies the direction
retail 2D migration and DPP planning are
both heading. A purely direct-to-consumer brand can skip GS1 and use bare short URLs
(simpler and fine), but changing artwork later costs more than adopting the shape early.
Generating at production scale
Per-unit codes mean volume. The routes, in ascending order:
- Batches:
POST /api/v1/qr/batch(up to 1,000 codes per request, keyless) fed from your serial export; loop requests for larger runs. Patterns in bulk generation at scale. - On-line printing: the label printer renders codes at line speed from your MES: generation happens locally, serials are committed to the database at print time.
- Either way, verify decode as a production check, not a one-off: sample units per shift, scan, confirm the serial resolves. A misconfigured printer producing undecodable codes for a day is a recall of its own.
FAQ
What is a serialised product QR code?
A unique code per unit, carrying an opaque serial your server resolves. Unlike a per-SKU code it identifies the individual item, enabling authentication, unit-level recalls, prefilled warranty registration and resale provenance from one label change.
Should serial numbers be sequential?
No. Random, sparse serials of eight or more characters prevent guessing and enumeration, and avoid leaking production volumes. Sequential serials give counterfeiters your whole namespace and tell anyone with two units how many you make.
What is an SGTIN and when do I need one?
SGTIN is GS1's serialised identifier (GTIN plus serial) expressed in a QR as a Digital Link URL. Adopt it when codes must also serve retail scanning or Digital Product Passport requirements; direct-to-consumer brands can use plain short URLs.
How do I generate thousands of unique QR codes?
Export serials and call a batch endpoint (UseQR's takes up to 1,000 items per keyless request), or render codes at the label printer from your production system. Sample-scan printed output every shift as a quality check.
Try it: free, no signup
Related
- QR codes for product authentication: what works and what doesn't, Anti-counterfeit QR tiers compared (shared codes, unique per-unit codes, signed codes), and the honest limits: a copied code copies the authentic page.
- QR codes for warranty registration, Cut warranty registration to one scan: put the serial number in the QR URL so the form arrives prefilled, and be honest about what the data is for.
- The EU Digital Product Passport and QR codes, What the DPP under ESPR actually requires, why the data carrier will commonly be a QR code, the battery-first timeline, and what to prepare now.
- Bulk QR generation at scale, Generating hundreds to millions of QR codes: the batch API and its limits, local generation with worker pools, determinism as a caching strategy, and manifests.