Skip to content

Batches & scan labels ​

This section exists for stores that put a scannable code on physical products — a printed code, a QR, or an NFC tag. The customer scans it, the app confirms the item is genuine, and rewards them.

If you don't put codes on products, you can skip this whole page.

The hierarchy ​

Product                     synced from Shopify
  └── Batch                 a production run: "JULY-2026", 500 units, made 2026-07-01
        └── Label           a range of codes inside that batch: codes 1–200
              └── Auth codes    the actual codes customers scan

You work down this tree in the app: pick a product, add a batch to it, then add label ranges to the batch.

Products page ​

Click Batches in the menu.

  • Sync Products (top right) pulls your Shopify catalogue into the app. Run it after adding or changing products. You'll see "Products syncing started, Refresh to check products."
  • The table lists Brand, Product, Category and Sub Category, 15 rows per page with arrows to page through.
  • Click any product row to open its detail page.
  • An empty table shows "Products Not Available or Not synced yet" with a Sync button.

Product detail ​

Shows the product's Title, Vendor, Category and Sub category, plus a Switch product button to go back to the list. Underneath is the Batches table for this product.

Batches ​

ColumnMeaning
ActionEdit (pencil) and Delete (bin).
IdThe internal batch ID. You'll need it when creating labels — it's filled in for you.
Batch UIDYour own name for the batch, e.g. "JULY-2026".
UnitsTotal units in the batch.
LabelsHow many units have been used by label ranges so far.
Manufacturing DateWhen the batch was made.
AttributeAny batch attributes, shown as badges.

Creating a batch ​

Click Create Batches and fill in:

FieldRules
Batch UIDYour reference for this production run. Required.
Total UnitsHow many items are in it. Must be more than 0.
Manufacturing DateRequired, and it cannot be in the future.

Press Save.

Use the calendar, not the keyboard

Typing a date into the date box doesn't always register — the text appears but the form doesn't accept it, and you get "Manufacturing Date is required" despite a visible value. Always pick the date from the calendar.

To edit: the pencil icon on the row. To delete: the bin icon, then confirm Yes — this also clears the labels shown for it.

Check the date when editing

When you reopen an existing batch, the manufacturing date can display with the day and month swapped. Re-pick it from the calendar before saving so you don't write the wrong date back. See Things to watch out for.

Labels (ranges of scan codes) ​

Click a batch row — on the Id or Batch UID — to select it. The batch table collapses to just that batch and a Labels table appears below it. Switch Selected Batch takes you back to the full list.

ColumnMeaning
ActionDelete (bin).
Created OnWhen the range was generated.
Start Range / End RangeThe first and last code in the range.
Total UnitsHow many codes it covers.
CollectibleThe collectible attached to these codes, if any.

Creating a label range ​

Click Create Label and fill in:

FieldWhat it means
Batch IDFilled in for you, read-only.
# of unitsHow many codes this range covers. Required.
Assign NFCTick if these codes go onto NFC tags. When ticked, the generated codes stay on screen after saving instead of the window closing, so you can hand them to whoever writes the tags.
CollectiblesTick to attach a digital collectible — scanning one of these codes gives the customer that collectible. Then pick it from the Collectible dropdown.
Master groupTick to identify the range by a master group name instead of a number range, then type the name.
Sub group(Only when Master group is off) Tick to identify the range by a sub group name, then type it.
Start label / End label(Only when neither group option is ticked) The first and last code number in the range.

Press Save. The app creates the range, generates its auth codes, and shows "Batch range added successfully".

Label ranges can't be edited

Only created and deleted. If a range is wrong, delete it and create a new one.

Numbered range, master group or sub group? ​

  • Numbered range — the normal choice. You know the codes run 1–200, so enter those.
  • Master group — you'd rather identify the whole run by a name than by numbers.
  • Sub group — a named subdivision within a run, e.g. a specific case or pallet.

Pick whichever matches how your production line labels things. It doesn't change what the customer experiences.

What a scan actually does ​

  1. The code on the product points at yourstore.com/auth/THECODE.
  2. A theme block quietly redirects that to yourstore.com/pages/auth?authcode=THECODE.
  3. That page verifies the code and shows the matching product.
  4. If the customer is signed in, they're paid the scan reward set on their tier — see tier options 6 and 7 in Tiers.
  5. If a collectible is attached to the label range, a Claim Collectible button appears with the artwork.
  6. Any Authenticator Scan campaign the customer qualifies for moves forward by one.

The two failure screens ​

What the customer seesWhat it means
A soft in-page message with Contact us / Check rewardsThe code is real but has already been claimed.
A full-page "Authentication failed!"The code isn't recognised — a typo, a damaged label, or a counterfeit.

Setup checklist for scan codes ​

  1. Sync products.
  2. Create a batch for the production run.
  3. Create one or more label ranges inside it, attaching a collectible if you want one.
  4. In every tier, turn on Allow rewards on scan and set the scan reward type and value — this is the step people forget, and without it scans verify but pay nothing.
  5. Keep the Auth Redirect (Head) block enabled in your theme, see Storefront.
  6. Optionally create an Authenticator Scan campaign so scanning also drives a challenge.

Batch platform, Shopify app and API documentation