QR code on the product packaging: instructions, landing page, and replacement after launch
How to create a QR code for packaging that leads wherever you want once printed: a good landing page, scannable print, and changing the destination after launch without reprinting.
I will tell you something that I have seen a few times up close. A company prints 5000 pieces of boxes, does it nicely, QR code in the corner, everything ready. The launch. And a week later someone notices that the landing page under the code has an old price and leads to a page that no longer exists. Five thousand pieces. You cannot undo the print.
This is exactly that moment when the QR code on the packaging stops being a cool extra and becomes a commitment for the entire print run. But don't worry. If you set it up smartly at the beginning, the same printed code can point to whatever you want, for the entire life of the product and beyond.
I will show you how.
The most important thing you are doing wrong before you even begin
I guess what you will do reflexively: you will paste https://twojafirma.pl/promocja-jesien-2026 into the generator and send it to the printing house. Don't do that.
After the season, this page will disappear. And the jar that someone buys six months later will still have a code on it leading to nowhere. Or to a classic 404.
The rule to follow: in the code, you embed a short intermediary link, not the destination address. The physical code remains exactly the same forever, and you control where a person actually ends up.
Na opakowaniu (na zawsze): cutty.dev/sok-malina
Cel w dniu premiery: /landing/premiera
Cel 3 miesiące później: /sklep/sok-malinowy
Cel po wycofaniu produktu: /info/skladniki
In a cutty, such a link has a replaceable destination. You change the redirect in the panel, and the QR code doesn't budge. It is the difference between "reprint the entire batch" and "click Edit". You know which one you prefer.
One more small detail that few people think about. The address ends up under the code anyway, often printed as text so it can be manually transcribed. So let it look like your own. cutty.dev/eco-mydlo is much easier to read than a random string of characters, and a customer looking at premium packaging will notice it.
A person scanned it. And what do they see now
It is worth stopping for a moment here and thinking about who scans and when at all. From my experience, there are three situations. Someone is standing in a store and hesitating. Someone has unpacked a product at home. Or someone is looking for instructions because something isn't working and they are slightly annoyed.
The landing page must handle all three. No logging in, no wall of text.
A layout that works:
- One sentence: what this product is and for whom. No beating around the bush.
- Instructions or how to use, briefly, preferably with a graphic or a very short video (30 seconds is perfectly sufficient).
- Ingredients, origin, certificates. Increasingly, this is exactly the reason why someone reached for their phone.
- Call to action: "Buy again", "Register warranty", "Report a problem".
- Contact. So that a complaint reaches you, and not a one-star review.
And what should you avoid like the plague? A PDF that opens in your phone's browser. Intro animations. And that horror where before a person can see anything, they have to sign up for a newsletter.
How to replace the target after the premiere
This is the core of the whole fun, so I will write it out in detail. You know the scenario: for the premiere, you direct to a loud landing page with a promotion, and after two months, you want that same code to lead to a regular product page in the store.
- One permanent short link remains on the packaging. You print it now and you don't touch it anymore.
- To start, you set the destination to the launch page.
- The season passes, you enter the panel, and change the destination to a shop card. The code on the shelf continues to work; the customer notices nothing.
- Product is being discontinued? You redirect to a page with the ingredients or to its successor.
The profit is that you separate two things that are normally stuck together. The print lifecycle is measured in years. The content lifecycle is measured in weeks. And you go to the printing house only once.
Watch out for this, because everything is falling apart here
The best plan in the world won't help if the code doesn't scan. Before you send a file to print, go through this list.
- Download the code in vector format, i.e., SVG. Raster PNG will fall apart at a large format and will be a mess.
- Leave a margin, that white strip around (professionally: quiet zone). Minimum four modules of empty background, otherwise readers will go crazy.
- Maintain contrast: dark code, light background. Otherwise, some scanners simply won't catch it.
- Size. On food packaging, the real minimum is about 2 cm per side. Less than that and it becomes a lottery.
- Not on a fold, not on a curve. Code on the edge of a bottle will never scan evenly.
- And most importantly: print a sample, take three different phones and scan it before the entire print run starts. Five minutes of work, and it saves you from a five-thousand-dollar disaster.
And what will the scans themselves tell you
Here is a nice part. Scanning is a great signal of product life. You see whether people are actually using the code, at what hours, how numbers jump up after entering a new shelf in a new chain. Facts instead of fortune-telling.
With Cutty, you have these numbers without building a customer database in the process, which then has to be monitored and GDPR-compliant. You see scans and clicks, but you don't profile the people behind them. For a product under the "eco" or "clean" banner, this even aligns with the rest of the story: a scan that doesn't spy fits a brand that sells honesty.
Anyway, the moral of the entire text is one. Print once, and control the content for as long as the product lives. If you want to put this together right away, you can make a replaceable QR code in cutty.dev and get back to designing the box.