Static and dynamic, and why it matters
A static code encodes the destination directly. Scan it and the phone reads the URL out of the pattern itself. Change the destination and you have a different pattern, which means new artwork and a new print run.
A dynamic code encodes a short link instead. The pattern points at digily.uk/something, and that short link points wherever you say. Move the destination and the printed code keeps working.
Anything going to print should be dynamic. The cost is nothing and the alternative is a bin full of leaflets the first time a page moves.
Making it actually scan
Most codes that fail in the wild fail for boring physical reasons rather than technical ones.
- Size: about 2cm across for something held in the hand, larger for anything read from a distance. A code on a shop window needs to be scannable from the pavement.
- Contrast: dark pattern on a light background. Inverted codes and low contrast colour pairs are read by fewer phones than you think.
- Quiet zone: leave clear space around the code. Text or artwork pushed right up against the edge breaks the read.
- Surface: matte rather than gloss where you can. Reflections under shop lighting cost more scans than any design decision.
Test the printed proof with two or three different phones before the full run. Screen tests pass things that paper fails.
Branding without breaking it
Codes carry error correction, which is why a logo in the middle usually still reads. Usually is the operative word. The higher the correction level, the more of the pattern you can cover, and the denser the code gets.
Keep the logo small, keep it central, and keep the corner squares untouched. Those three markers are what the camera uses to find and orient the code, and covering any of them is the fastest way to a code that scans on your phone and nowhere else.
Download as SVG for print so the code stays sharp at any size, and PNG for screens.
Tell people what they are scanning
A bare code on a wall is an invitation to nothing. People scan when they know what they get.
Put a short line above or beside it: see the menu, book a table, leave a review, get the guide. Add a frame if the code is competing with other artwork.
Print the address underneath as well. Some people will not scan at all, and typing digily.uk/menu is a reasonable thing to ask. A random code is not.
Knowing whether anyone scanned it
Because a dynamic code runs through a short link, every scan is a click you can see. That turns printed material from an act of faith into something measurable.
You get the count, the country and city, the device and the time. Give each printed piece its own link and you can tell the leaflet from the window sticker from the packaging insert.
That is the single most useful thing about running codes this way, and it costs nothing extra.
Before it goes to the printer
- Confirm the code is dynamic, pointing at a short link you control.
- Give this print run its own link so its scans are separate from everything else.
- Check size, contrast and quiet zone on a printed proof, not on screen.
- Add a line saying what the code does, and print the address underneath it.
- Scan the proof with at least two phones, including an older one.
Five minutes here saves a reprint, and the reprint is always the expensive part.