Tracking QR codes with UTM Parameters in Analytics
This article will teach you how to craft QR codes that use URLs that contain UTM parameters that allow you to track specific QR codes in analytics reports.
Creating a trackable QR code is very easy once you understand how to add UTM parameters to the URL you are using to create the code.
In simple terms, we are using the URL of the page we want the QR code to go to, and then adding a bunch of identifying text to the end of the URL that doesn’t change where the users go, but lets analytics know exactly which QR code brought the user to this page.
For our example, let’s say we have an eSports promotion we are doing that we want to track. Let’s say we want to use a QR code that we are going to place on the side of a bus wrap or a flier in a common area. This is where we want our customers to end up:
Now we could make a QR code that just takes them directly to that URL. That’s what this one does below if you scan it with your phone:
That’s a great use of a QR code. But we can make it even better if we include UTM parameters for better tracking of particular QR codes and campaigns.
What is a UTM parameter?
UTM (Urchin Tracking Module) parameters are a simple code that you can add to the end of a URL to track the performance of campaigns and content, using an analytics tool such as Google Analytics. There are 5 types of parameters you can track - source, medium, campaign, term and content. You can also define your own custom UTM parameters.
Literally speaking, a UTM Parameter is a string of text that contains a “key” and a “value” and looks like this:
In this case, “utm_mwr_tracker” is the key, and “esports_qr_code_dec_2021” is the value.
So the way you can add a UTM parameter to your URL is by adding a question mark (?) and then your key/value pair, like this:
We are just combining the URL and then tacking on the UTM parameter at the end after a question mark.
We could plug that into a QR code like this one. If you scan it with your phone, you will end up at that URL with those parameters also set.
Why is this useful?
This is useful because now, in analytics reports, you can create a report that just returns all visits that were referred by this specific link with this specific UTM Parameter, and you now know exactly how many users engaged with this specific QR code (or codes, if you created multiple of the same code with the same parameter and placed it in multiple places).
You can use whatever you want for your key and your value.
If for some reason you want to use multiple UTM Parameters (this is fairly common as marketers like to decorate links with all kinds of dimensions to get super exact tracking data) you can do that, you just have to use the ampersand (&) instead of the question mark for every key-value pair following the first. See the following example:
This would pass along two things to analytics that you could filter on: The utm_mwr_tracker value (“esports_qr_code_dec_2021”) and utm_medium (“qr_code”).
So you could potentially apply the utm_medium UTM parameter to all your QR codes if you wanted to so you could create a report that was every QR code you’re using (though you would probably want to filter by other values to make it a little more targeted - this is just an example case).
There are also 5 standard UTM parameters analytics tools use that you can also add (source: https://support.google.com/analytics/answer/1033863):
utm_source: Identify the advertiser, site, publication, etc. that is sending traffic to your property, for example: google, newsletter, billboard.
utm_medium: The advertising or marketing medium, for example: cpc, banner, email newsletter.
utm_campaign: The individual campaign name, slogan, promo code, etc. for a product.
utm_term: Identify paid search keywords. If you're manually tagging paid keyword campaigns, you should also use utm_term to specify the keyword.
utm_content: Used to differentiate similar content, or links within the same ad. For example, if you have two call-to-action links within the same email message, you can use utm_content and set different values for each so you can tell which version is more effective.
You can now make trackable QR codes - and trackable links you can use anywhere for much more focused analytics targeting.