1. Give every printed piece a dynamic QR code
A static QR code bakes the destination URL into the pattern. Once it is on 500 posters, you cannot change where it points, and you usually cannot count the scans either. A dynamic QR code encodes a short link that redirects — so the scan is countable, and if the landing page URL changes mid-campaign, the poster on the wall still works. Always print from a dynamic code; the two lines of insurance are worth it.
2. Make the QR code and the email link the same link
The usual setup fails because print and online live in two tools: a link shortener for the newsletter, a QR generator for the flyer, two dashboards, one spreadsheet in between. The fix is to use one short link per campaign action, tagged by channel at the end:
- Poster, flyer, packaging: yourbrand.com/spring26?qr=1 — printed as a QR code
- Newsletter: yourbrand.com/spring26?utm_source=email
- Instagram bio: yourbrand.com/spring26?utm_source=instagram
Same destination, same dataset — only the tag differs. Because the scan and the click are rows in the same table, a pivot by channel gives you the client report directly. No stitching.
3. Group links under a campaign with a goal
Tags answer "which channel"; a campaign answers "what did we achieve". Group the QR code and the online links under one campaign with a stated goal — orders, sign-ups, event RSVPs — and a deadline. The report then shows each channel's contribution against the goal, which is the sentence the client actually wants to hear in the monthly call.
4. Share one report, not three logins
Clients do not want logins to your Bitly and your QR tool. Send a link (or a CSV) with the campaign's own numbers: scans and clicks per channel, over time, against the goal. On your own branded domain, so the report reads as your agency's work, not your tooling.
Common mistakes we see
- Static codes on a big run. Uncountable and unchangeable; the print budget goes unmeasured.
- Per-link pricing on print. A campaign with codes on 40 shelf talkers blows through a 10-code cap — or the codes die when the trial ends, and the poster in the field goes dark. Check what happens to printed codes when a plan lapses before printing.
- Two conventions. If print uses one tool and online another, the report will always be hand-stitched. One dataset from day one is the whole trick.
Test before the print run. Scan the QR proof with two phones, check the destination, then check the scan landed in the campaign report. Ink is permanent; links should not be.
How slsh fits
slsh is built around step 2: a printed QR code is the same short link as the email one, every channel lands in one campaign report, shareable by link or CSV on your own domain, from €8/month (free tier for the first 100 links). Links keep resolving even if a plan lapses, so nothing on a poster ever dies.
And for transparency: slsh itself is built and run by AI agents on NanoCorp — which is how we keep guides like this one current.
Try it on your next campaign
Create a campaign, print the QR, send the email link — and watch the scan and the click arrive side by side.
Start free