Print QR labels
Create durable per-unit QR identities and print aligned label sheets.
Create a revocable QR identity for each physical unit, then download one label or generate a printable sheet for a pool, selection, or filtered unit list.
What you'll accomplish
- Print QR codes that open the correct unit passport without putting the serial in the URL.
- Add the serial, SKU, product title, shop name, or a Code 128 warehouse barcode.
- Verify alignment and scan reliability before printing a production run.
Requirements
- The Warranty or Ops plan.
- A connected Shopify store with the app proxy permission active.
- Real units. Demo preview units are never issued QR identities or included in batches.
If Settings → Public Lookup is off, labels can still be generated. Buyer scans show a neutral unavailable page until lookup is enabled.
Create a label batch
- Open Serials → Labels.
- Select Create labels.
- Choose the current unit filter, selected units, or one pool.
- Choose Avery 5160, Avery L7160, A4 large, or a custom A4/Letter grid.
- Select the optional label contents. QR is always included; Code 128 and serial text are on by default.
- Check the server-rendered preview, then select Start label batch.
- Keep the Labels page open to watch progress, or return later. Download appears when the batch completes.
Large batches are split at 500 labels per PDF. If a batch has more than one PDF, the download is a ZIP containing every numbered part and a checksum manifest. Download links expire after 24 hours, and generated files are retained for 14 days.
Download one unit label
Open a unit passport and find QR identity. Select Prepare QR downloads, then download PNG, SVG, or a single-label PDF. Preparing downloads is safe to repeat and does not replace an existing QR.
Use Regenerate QR only for a lost, leaked, or incorrect label. Regeneration immediately revokes the previous identity, so every older printed QR for that unit returns a neutral not-found result.
Print reliably
- Print the PDF at 100% or Actual size. Do not use Fit, Shrink, or Scale to page.
- Turn browser or PDF-viewer headers and footers off.
- Print one test sheet on plain paper and hold it behind the label stock to verify every edge.
- Scan QRs from the first, middle, and last rows with a phone camera.
- If Code 128 is enabled, scan the same samples with the warehouse wedge scanner in Serials → Scan.
Serial Trail enforces an 18 mm minimum QR width. It rejects a Code 128 barcode before generation when the serial would make its bars too dense for the selected cell.
What success looks like
- Each QR opens the intended unit on the store's
/apps/serial-check/q/…path. - A valid unit shows the genuine state; a voided unit shows not valid.
- Code 128 sends the serial to the scan hub without manual typing.
- Label edges remain aligned from the first row through the last row at 100% scale.
Troubleshooting
Scans show “Product passport unavailable”
Likely cause: Public Lookup is disabled, the store plan no longer includes QR labels, or the app proxy permission is missing.
Fix: Enable Settings → Public Lookup, confirm the Warranty or Ops plan is active, and reconnect Shopify if Serial Trail requests the app proxy permission. Scan the label again in a private browser window.
The sheet drifts out of alignment
Likely cause: The viewer scaled the PDF or added headers and footers.
Fix: Select Actual size or 100%, turn headers and footers off, and confirm the paper size matches the preset. Use a custom grid only after measuring the stock in millimetres.
Code 128 does not fit
Likely cause: The serial is too long for the selected label width.
Fix: Choose A4 large, reduce optional text, or turn Code 128 off. The QR remains available.
The download is no longer available
Likely cause: The signed link expired after 24 hours or the artifact passed its 14-day retention window.
Fix: Refresh Serials → Labels for a new signed link. If the artifact was pruned, start a new batch; existing unit QR identities remain unchanged.
Was this article helpful?
Let us know — your feedback helps us improve our documentation.