What QR Code Attribution Is
QR codes connect the physical world to your app: packaging, posters, store counters, restaurant tables, event badges, TV screens and print ads. QR code attribution answers the question every offline campaign raises: did this placement bring in users, and were they worth it?
The answer depends on what the code points to. A QR code that opens a store URL directly records nothing. You may see a bump in installs, but you cannot separate the poster from the billboard from organic growth. A QR code that encodes an attribution link records every scan as a click, then credits the install and later events to that specific code.
How Scans Become Attributed Installs
When a user scans the code, the phone's camera opens the encoded link. The link service records the click with its campaign, placement and platform details, then routes the user. If the app is installed, the link opens it to the intended screen through Universal Links or App Links. If not, the user goes to the App Store or Google Play.
After install, the app's MMP SDK reports the first open. The MMP matches that install to the QR click, deterministically where a signal such as the Google Play Install Referrer is available, otherwise through IP and user-agent matching close to the time of the scan. Deferred deep linking then delivers the original destination, so a user who scanned a code for a specific offer lands on that offer, not on the home screen.
From there, every event the app tracks, such as sign-up, first order or subscription, rolls up to the QR code that started the journey.
One Code per Placement
The most useful habit in QR measurement is to give every placement its own code. One link per store, per table, per poster design, per city or per print run turns a vague offline channel into a set of comparable rows. You can see that the counter display outperforms the window poster, or that one city's flyers drive installs that retain twice as well.
Naming matters here as much as with UTMs. Encode the channel, location and creative in the campaign fields so the reports group cleanly. Because the code points to a server-side link, you can change the destination later, for example to a new offer, without reprinting anything.
ABCoffee uses this approach to track offline users from a QR scan through to the app. Read how ABCoffee tracks every offline user from a QR to the app.
Designing QR Codes That Get Scanned
Measurement only works if people scan. Give the code a reason: a line such as "Scan for 20% off your first order" outperforms a bare code. Size it for the viewing distance, keep a clear margin around it, and use dark modules on a light background. Adding your app logo in the centre helps recognition, as long as the code keeps enough error correction to scan reliably.
Test on several devices and in poor light before printing. Check that the scan opens the app for existing users and the store for new ones, on both iOS and Android.
QR Codes in Linkrunner
Every Linkrunner link comes with a QR code that you can download with your app logo as PNG, SVG or JPEG. The code carries the same routing, deferred deep linking and attribution as the link itself, so offline scans show up next to your paid and owned channels. See QR codes for setup and placement ideas.
Common Mistakes
The most common mistake is pointing a QR code at the store. It is the fastest to set up and leaves you with no data. The second is reusing one code everywhere, which hides the difference between placements. The third is using a third-party QR shortener whose links expire or start showing ads after a trial ends, which breaks printed material you cannot recall. Use links on a domain you control, and keep a list of where each code was printed.