Saturday, 14 May 2011

QR Code Geolocation Tracking

The topic of QR Code geo-location tracking has been kicking around the office and amongst a few of our users for a few weeks so we thought we'd put some notes in the blog. Thoughts and feedback welcome as always.

The discussions have been centered on two key areas. Firstly, how available is QR Code geo tracking and secondly, is it worth doing. We'll start with availability.

There are a number of methods for calculating where the QR Code has been scanned. The first is from the app that scanned the QR Code. For iPhones and similar up to date devices, this usually means taking a latitude and longitude from any inbuilt GPS system and passing this via the app to a website that will log this data along with the scan. The second method is to use HTML5's built in functions to find the latitude and longitude co-ordinates. This method is likely to use GPS but may use cell tower triangulation (aGPS).

Importantly, apps don't pass geo information to sites other than the company that made the app - which as you don't know which app will scan your QR Code, substantially limits any general usefulness.

Also worth noting that in the case of GPS scans, GPS systems take time to create an accurate position. Put simply, this means that either the scan will need to be delayed until the GPS is locked or the accuracy is likely to be vague.

Crucially, both these methods require user authorisation. In the case of apps, that means that authorisation ('xx app would like to user your current location' -> allow/don't allow) will be requested probably during install. In the case of HTML5, this is likely to be at the point of first scan. This is important. Partly because the user can block any request but also because it puts a possible negative in front of the user - especially with the current issues around iPhone/Android location tracking.

The third way is using IP location which, in the case of mobile phones, is realistically country level. That's not to say you can't get better granularity for many IP addresses, it's simply that as you won't know what is accurate and what isn't, the data set in general is pretty worthless. However, no user authorisation is required.

Therefore, generally, the most comprehensive way to collect QR Code geo-location information is via an HTML5 page level request. (Note for techies - the geo-location of HTML5 will almost certainly be where the page was loaded rather then necessarily where the QR Code was scanned. Unlikely to be significantly different unless your user scanned on the underground but technically important.)

Is it worth it
The question that gets the arguments going. Simply put, for the average marketing campaign or QR code use, the information may be interesting but is not important. In effect, it'll make a pretty map but not change much. Would you use the QR Code differently if you knew which city it was being scanned in ? Which country even ?

Is the cost of asking your user for the data (and the possibility that they'll not visit you or have a bad opinion of you because of that request) worth the data you'll get back ?

Additionally, while it's possible to understand the accuracy of geo-location data, would you want someone scanning your QR code to wait so you can get better information ? Probably not.

Our current position is that we are still considering whether to implement geo-location tracking on our stats. If we do, we'll enable it with a default-off setting which means that Kimtag users can make the choice to turn it on knowing the implications.

Here at Kimtag, we tend to get extremely excited about all things techie. However (most of us) still aren't convinced that it's ultimately valuable data for most QR Code implementations. Obviously, there are some instances where city level or certainly country level might allow you to create more specific content. However, these instances may be equally well served using the less intrusive IP geolocation method or, in fact, just different QR Codes.

Note : some of the people involved in this debate would concede that location based QR Code scanning may also be of use if you could take location to a level where you understood the environment of the location. For example, train station, coffee shop, Glastonbury festival, etc. In many instances a separate QR Code would work just as well, but some of us accept the benefits in those specific instances. However, the issue of accuracy/speed would clearly be vital within this argument.