A code on the box that opens that product's setup.
Companion apps for physical products. The QR code on the box opens the setup, manual or refill screen for the thing in the box, and you see which products people scan.
- Who runs it
- Product, marketers
- Time to set up
- Minutes, after the SDK
- Plan
- Free
One link per product, one QR per link.
Make a link per product, and per spot on the packaging if there's more than one. Its data carries the product and what the code is for; the source tag says where it's printed.
- QR codes come with every plan.
- Change the destination later without reprinting.
The setup for the product in their hands.
They scan the card in the box. With the app, it opens on pairing that exact model. Without it, the store, then the same screen after install.
- Works with the phone's own camera.
- No model numbers to type.
Set-ups completed, by product.
Setup completion by product, from the event your app sends when pairing finishes. A product that gets scanned but not set up has an onboarding problem of its own.
- Scans, installs and set-ups per product.
- Compare a code on the card with one on the box.
One-time setup, then it's all yours.
Your developer adds the LinkTrail SDK once and opens setup from the link's data. New products only need new links.
LinkTrail.onLink(link => {
// link.customData = { sku: "K2-BLK", step: "pair" }
openSetup(link.customData.sku);
});The full walkthrough: Per-SKU packaging: a code on the box that opens that product's setup
Someone unboxes a product with a companion app. The box says 'download the app to get started'. They do. The app opens on a screen that asks which product they have, from a list of everything you've ever made. The answer was printed on the box they're holding.
What problem does this solve?
The code on the packaging should land on the setup flow for that exact product — or its manual, or its refill order, depending on where on the packaging the code is. The app should know what's in the box before the person is asked. And by SKU, you learn which products actually drive app adoption, which is usually not the ones you'd guess.
How do you set the links up?
One link per SKU, per placement on the packaging if there is more than one. The QR is generated from the link. The payload carries the SKU and what the code is for; the source tag carries where on the packaging it sits, so a code on the quick-start card can be compared with one on the box itself.
{
"deepLinkPath": "/setup/kettle-k2",
"customData": {"sku": "K2-BLK", "step": "pair", "src": "quick-start-card", "batch": "2026-08"}
}Why one QR code per placement, not per product?
| Placement | Lands on | Tells you |
|---|---|---|
| Quick-start card | Setup and pairing | How many buyers set up the app at unboxing |
| Inside lid | Manual for this SKU | Whether people look for help, and when |
| Refill pack | Reorder for this SKU | Whether packaging can drive repeat purchase |
| Retail shelf tag | Product page, pre-purchase | Whether the app sells the product |
Same product, four codes, four different questions answered. Printing one code and pointing it at the home screen answers none of them.
What about the batch field?
Packaging is printed in runs. Putting the run in the payload costs nothing and means that when a batch has a printing defect, a wrong insert, or a product recall, you can see exactly which owners were affected and reach them in the app. It's one of the rare cases where a tracking field is also a safety feature.
Which metric should you watch?
Setup completion rate by SKU, from the code. Products where the code is scanned but setup isn't completed have an onboarding problem specific to that product, and you'll only see it if each product has its own link.
Which teams own per-SKU packaging?
- Mobile product teams
- Growth marketers
Which LinkTrail features does per-SKU packaging need?
- QR code generation
- Deferred deep linking
- Smart routing
- Per-link source and placement tagging
Packaging questions.
Do I need a different code for every product?
One per product, and one per spot on the packaging if there's more than one. That's what lets you see which product, and which spot, people scan.
Can I change where a printed code goes?
Yes. The code points at a link, and you can change the link's destination at any time without reprinting.
What if the customer doesn't have the app yet?
The code goes via the store, and the app opens on that product's setup after install.
If you're doing this, you'll probably want these.
Posters, receipts and packaging
QR codes that open the right screen after install, and tell you which poster or product did it.
Support links
Support replies with a link that opens the exact settings screen, instead of "tap Profile, then Billing, then…".
Onboarding that matches the ad
If the ad promised 20% off, the first screen shows 20% off. Nobody has to find the code again.
Make your first product code.
Free for your first 5,000 users. No card, no sales call.