A couple weeks ago, I was talking with some people I know about driving engagement and linking the physical world with the digital world, and in that discussion, the topic of QR codes came up. It's my opinion that everyone uses QR codes wrong, and I had a lot to say on the topic, things that I thought might be interesting to share here as well.
Let's start with a quick experiment - sharing the link to a website. If I asked you to, without the aid of a computer, write the URL down and to draw the QR code for the same URL, it would be trivial for you to do the first thing, and impossible to do the second. Why is that? Simple, QR codes are machine representations of information, which means that they are meant to be consumed by machines, not humans. QR codes mean nothing to humans. Even if you know what they are, you wouldn't be able to glean any information from them without using a computer, so they are useless without one.
Now, let's talk about engagement. It's actually pretty hard to get people to move from the analog world in to the digital world. For example, you can probably count on one hand the number of times you saw a URL or phone number on something and followed through on it later. QR codes take an already difficult context switch and make it more complicated by requiring people 1) to know what the hell that little symbol is and 2) to install and use a special application on your phone. If you can't get users to call a number of type in a URL, what do you think the chances are that they'll use a special app to get at your information? Effectively zero.
But that's another important point too; all QR code engagement, all of it, will be coming from a cell phone. So, if you're linking to a webpage, it better be mobile optimized. If you're linking to other kinds of content, like a video or a document, it better work on a phone. If you're linking to a page that isn't optimized or to content that can't be consumed on a phone (flash video, for example), you're doing it absolutely wrong.
Another issue with QR codes is information density, or the amount of information being represented in the code. You can tell the amount of information in a QR code by how large or small the size of the squares in it are. Larger is less dense, small is more dense. This plays a big roll in how easy it is for your phone to read this information; if those squares are too small, and especially if the printed code is poor quality, the camera won't be able to make it out easily, or possibly at all. This usually isn't a problem until someone decides to, say, embed a vcard on a conference badge. It's hard to scan, poorly printed and would work better if you just sent the end user to a website to download that vcard data.
Which brings me to content; most QR codes are simply URLs. And as I stated in the beginning, they are machine representations of those URLs, which means they are unreadable by humans. At the very least, if you feel compelled to use QR codes, include the human readable version of that information; if it's a URL, put the URL there with the QR code. That way, if someone happens to want to engage with your information but don't know what a QR code is or don't have an app to consume it, they can at least type that URL in.
I'm generally of the opinion that any time you want to use a QR code, you're wrong about it being a good idea. There may be situations where they make sense (registration for a conferences seems to work well, when scanned from and email on phones), but often times they are the wrong medium. But, if you're going to use them, at least try to use them correctly.