QRStuff.com - QR Code Generator

Using Google Analytics With QR Codes

Posted: May 1st, 2011 | Author: | Filed under: General | No Comments »

As QR code use and implementation becomes more sophisticated, the reasons for having your own URL in the QR code, rather than a URL provided by an external shortening service, become more compelling:

  • You want your customer to have the confidence of seeing your branded website address when their scanning app asks them if they want to click through, rather than a URL from a shortening service they may not be familiar with.
  • You want to collect direct scan event data within your own analytics program, rather than just “seeing” the referral details of the shortening service associated with the URL redirection.
  • Having your QR code analytics data quarantined on someone elses website (whether it’s the QR code service or the URL shortening service) makes integrated analytics reporting awkward.

But having your own URL in the QR code, and hence not being able to rely on someone else to collect your analytics data for you, brings with it the challenge of exactly how to collect the analytics data relating to visitors arriving at your website from the QR codes you have out there.

Obviously using a URL shortener to keep the density of the QR code under the control when long URL’s are involved is a big plus for going in the other direction, and there will also be users who prefer to outsource the task of collecting analytics data to a third party, but knowing what your options are helps with choosing the one that’s right for you and your circumstances.

With Google Analytics installed on your website, there are 3 reasonably simple ways to keep track of who is coming in via your QR codes, and how effectively your various QR code programs are working.

Use Unique Landing Pages

Having every QR code simply linked to the front page of your website won’t give you any opportunity to split out the traffic from each one. All you will see is an increase in traffic from smartphone devices with very little other specific information to go on.

If you give each one its own unique landing page so that the only way a visitor can get to a particular page is by scanning the QR code, then you can assume that all traffic metrics associated with that page are as the result of that particular QR code being scanned.

For example:

Link your first QR code to http://www.qrstuff.com/qrcode1.html
Link your second QR code to http://www.qrstuff.com/qrcode2.html
Link your third QR code to http://www.qrstuff.com/qrcode3.html

This also gives you the unique opportunity of being able to tailor the content of that page to the context of the QR code that links to it. The QR code published in a magazine can point to a page of special offers, while the QR code on the packaging can point to a different page that contains an instructional video for the product itself.

Append URL Parameters

If the landing page for each of the various QR codes doesn’t need to be content specific, but there’s still the need to for individually reporting the analytics data associated with multiple QR codes, adding a parameter string onto the end of the URL will send everyone to the same place on your website but will report as different pages in Google Analytics.

For example, when linked from 4 different QR codes, all of the following will send the user to the front page of the website (http://www.qrstuff.com/index.html) without any modifications to the website at all, but will report as traffic to different pages in Google Analytics because of the ?id=xxxx bit at the end:

http://www.qrstuff.com/index.html?id=magazine

http://www.qrstuff.com/index.html?id=billboard

http://www.qrstuff.com/index.html?id=packaging

http://www.qrstuff.com/index.html?id=flyer

Google Analytics Campaign Tracking

A more sophisticated method is to use Google Analytics Campaign Tracking which involves combining URL parameters into a query string, adding the query string to the end of the URL, and then putting the whole extended URL into the QR code.

Google Analytics is set up to recognize this query string, extract the data the query strings contains, and report it uniquely. In this way you can transfer specific information from the QR code into the reporting framework of Google Analytics every time the QR code sends a visitor to your website.

The campaign tracking parameters that you can use are:

utm_campaign – The broad campaign title eg; “Spring Sale”
utm_medium – How the campaign is being “pushed”. Just “QR Code” in most cases
utm_source – Where the QR code was placed eg; “Flyer”, “Magazine”, “Billboard”, etc
utm_content – Convenient for sub-dividing the source or campaign parameter eg; “April 2011”

When these parameters, and your chosen descriptive variables, are all put together into a query string, and that query string is then added to the website address, the whole thing looks something like this:

http://www.qrstuff.com/?utm_campaign=spring&utm_medium=qrcode&utm_source=flyer&
utm_content=apr2011

…and that’s what goes into your QR code.

If this looks a bit tricky, Google Analytics has a handy tool to help you build URL’s containing campaign tracking query strings.


Not All QR Code Scanning Apps Are Created Equal

Posted: May 1st, 2011 | Author: | Filed under: General | No Comments »

The reason this post came about was that a few days ago Roger Smolski over at 2D Code posted about Color Card Administrator (CCA) setting up a QR Code Test Suite to determine the accuracy and sophistication of QR code scanning apps.

The test suite presents an array of QR codes containing a variety of data types and is intended to set a benchmark standard of readability and interpretation that all scanning apps should aspire to. Testing begins on 01 May 2011 and is open to all QR code scanning app developers. Apps that pass the test will be given an official CCA seal of quality to indicate that it’s able to properly deal with the various established standards that are currently being used in QR codes.

CCA QR Code Test Suite

After reading the article, I thought to myself “about time!” and recalled the regular emails I get from users of the QRStuff website that begin “I made a QR code on your website and my scanning app won’t read it”, with the immediate assumption being that the QR code is broken, and no consideration given to the possibility that scanning app was at fault by not being standards compliant.

Further investigation usually leads to the same outcome each time – the scanning app used was one of several “suspect” apps that lurk amongst the majority of reputable apps in the iTunes App Store or the Android Marketplace, the developers of said app not even appearing to be able to spell “standards compliance” let alone put the concept of it into practice, and which stumbled badly when confronted with a QR code that had anything more complex than a website address in it.

Now when I say regular, I mean out of the 100,000 people that used the QR Stuff website last month I probably received about a dozen emails, but I’m sure there were others who didn’t bother emailing. It concerns me when the blame for someone else playing loose-and-fast with the technology behind QR codes (either by design or through ignorance) is dumped on an innocent third party, so….

MEMO TO (SOME) APP DEVELOPERS:

Just thought I’d drop you a few suggestions on how to give your users a better experience when using your scanning app:

  • There’s an ISO standard for QR codes – please familiarize yourself with it.
  • There are RFC’s for the main data types used in QR codes – please read them. They aren’t suggestions, they’re actually the rules.
  • QR codes will often contain more than just a simple URL, contact details or SMS message – please make your app is smart enough to cover the possibilities.
  • People have been using colour in QR codes for some time now – please make sure your app scans (and also interprets) in colour rather than in shades of grey. In a black and white world many colours look the same.
  • If there are apps on the smartphone you’re coding for that handle different types of content better than the default browser, please use them – there’s a native YouTube player available for a reason, and Twitter sucks in Safari on an iPhone.

Oh, and learning what UTF-8 means, and the significance of reserved characters in URL’s, would be appreciated as well.

One final matter – I suppose error messages that indicate that your app didn’t understand the QR code, rather than blaming the QR Code for the failed scan, are out of the question, but then again if you were to follow the suggestions shown above, the actual content of the error messages would become a moot point because there would be significantly less of them to display.

There are indisputably many fine apps out there that are a credit to the expertise and diligence of their developers, and definitely worth every cent you pay for them (even the free ones!). While I’m not going to name the apps that are usually mentioned in conjunction with scan failures (although a quick flick through the review scores in the iTunes App Store and the Android Marketplace is quite telling), I am going to take the opportunity to highlight a few that I very rarely hear anyone mention anything negative about – they’re also the ones I use myself for my own in-house testing.

This post was never intended to be a rant – it just ended up veering in that direction because there’s not enough hours in each day as it is, and having any of them sidetracked unnecessarily because someone else didn’t do their job really annoys me.

It would be great if app developers took advantage of the CCA QR Code Test Suite now that a compliance standard has been made available – I understand that QRafter has already done so and has passed with flying colours (congrats Kerem).