Where a QR code actually gets scanned
The condition is always the same: the person is stationary, has a free hand, and is already looking in that direction. Almost every failed QR code breaks one of those three.
What works: a card on a table where people sit down, a form that goes home in a school bag, a printed receipt, a noticeboard at eye level near a door, the back of a card handed over at a counter, and a page on a website people are already reading.
What does not: a code on the side of a van, a code on a screen that changes, a code above head height, a code on a flyer pushed into the hand of someone carrying two bags and a coffee.
How big to print it
The working rule is roughly one inch of code for every ten inches of distance. A card someone holds needs about an inch square. A noticeboard people read from a few feet away needs three or four inches.
Leave white space around it. A code crammed to the edge of a design, or printed on a photograph, fails to scan far more often than one sitting in a clear margin.
Test the actual printed copy, not the file. Print it, walk to where the person will be standing, and scan it with an ordinary phone. This takes two minutes and catches almost every problem.
What to write next to it
Not the word scan. People know what a square of dots is. The space beside it should answer what they get and how often, because that is the question stopping them.
A working example: Text updates about Saturday's game. Two or three messages, then it stops.
Naming the frequency is the part most people leave out and the part that changes the sign-up rate. The reason someone hesitates is the fear of being messaged forever, and one short clause removes it.
The link matters as much as the code
Every QR code is just a link in a different shape, so both should go out together. Print the code and write the link underneath it in plain text.
That covers the person whose camera will not scan, the person reading a photocopy, and the person who wants to send it to their partner rather than sign up now.
It also means the same thing can be pasted into a group chat, an email footer or a website, which is usually how a list actually grows. School parent lists are the clearest example, where the chat reaches most families and the printed form reaches the rest.
Why lists stay empty
The usual cause is not a bad code. It is that the code was posted in one group chat on the day of purchase and never printed, never repeated, and never put anywhere people stand still.
The second cause is timing. A list needs days to fill, not hours, because people sign up when they next happen to be somewhere the code is.
If nobody has joined by the send date, the message goes out to nobody and the payment is not refunded. What happens when a message does not arrive covers the related question of why a text can fail even when the list is full.