How to Track QR Code Scans Across Flyers, Products, and Locations
Set up a separate dynamic QR code for each placement, compare scans fairly, and understand why a scan is not a sale.
To track QR code scans, create a dynamic code that records visits through its redirect, then review its analytics. To compare different flyers, products, or store locations, create a separate code for each placement before you print. Reusing the same image everywhere combines those scans into one result.
You can send all those codes to the same page. What needs to differ is the code people scan, so each placement has its own record.
Start with the decision you want to make
Suppose you want to compare a counter card with a flyer handed out at an event. The useful question is whether each placement brings people to your destination. Decide what visitors should do there: read a guide, book an appointment, or buy a product.
Scan analytics helps with the first part. Measuring the action on the destination page needs its own measurement. A recorded scan alone does not show whether someone read the page, submitted the form, or paid.
Use this worksheet before creating your codes. These are example names, not results from a customer campaign.
| Code name | Where it appears | Destination | What to measure next |
|---|---|---|---|
| autumn-counter-main | Main store counter | Public booking page | Completed bookings |
| autumn-event-flyer | Event handout | Same booking page | Completed bookings |
| autumn-product-insert | Product packaging | Public setup guide | Successful setup or support requests |
Keep a copy of the worksheet with your print files. A descriptive filename is useful, but renaming copies of the same QR image does not create separate tracking.
Set up a trackable QR code
- Check the destination. Open its public address while signed out. Check it on a phone too; a desktop editing link may not work for your audience.
- Open the generator and create a dynamic URL code. Keep access to the account that manages it. A static code points directly to its encoded address and does not create QRBliss redirect analytics.
- Give the code a placement-specific name. Use the campaign, location, and format in a consistent order.
- Check that scan tracking is enabled for the code. Review the code and its analytics in My QRs. Record a few test scans and allow for processing before checking the results.
- Download and test a printed proof. Confirm both the destination and the placement name before ordering the full run. Keep the test date in your worksheet so you can distinguish setup activity from the campaign period.
- Repeat for the next placement. Generate a separate dynamic code, even if the destination stays the same.
For a large list of destinations, bulk CSV generation can create the batch. It requires Business and currently supports up to 500 URL rows per upload. Start with a small sample and check the exported images against the spreadsheet.
Read the results without overclaiming
Choose the same date range for the placements you compare. Record when each was put out, whether it remained visible, and whether its destination worked throughout that period.
| Signal | What it helps you understand | What it does not prove |
|---|---|---|
| Recorded scans | Activity through a particular code | Number of unique people or purchases |
| Daily pattern | When activity increased or fell | Why the change happened |
| Device breakdown | Broad device mix | A person's identity |
| Approximate geography | Broad distribution of traffic | Exact physical location of the scanner |
QRBliss scan counts are approximate. Test scans, repeat visits, and differences in delivery can affect interpretation. A person can scan more than once, and a scan event can be lost. Avoid describing these totals as a count of customers.
More scans also do not automatically mean a better placement. A thousand flyers may produce more scans than a small counter card because more people encountered them. If you know the number of handouts, you can calculate scans per handout, but call it that: repeat scans mean it is not necessarily the percentage of people who responded. For a poster, the number of people who actually saw it may be unknown.
Connect scans to business outcomes
If your destination analytics supports campaign parameters, assign each placement its own campaign URL. Test that the destination preserves those parameters and that a completed booking or purchase is recorded correctly. Use the destination system's documentation for its attribution rules.
Keep the two measurements separate in your report. QR scans show redirect activity. Completed actions show what your destination system recorded. Comparing them can reveal a weak mobile page or a confusing form. It does not match each scan to a person.
For example, if a code receives scans but the booking page records no bookings, check the booking experience before ordering more flyers. If it receives no scans, inspect the physical placement, call to action, contrast, and printed size first. The print checklist covers those checks.
When does a paid plan help?
QRBliss Free includes 15 active dynamic codes and a 30-day analytics window. That can be enough for a small, short campaign. Pro provides unlimited dynamic codes and access to full recorded history; Business adds bulk CSV generation. Check current plans before choosing.
A paid plan does not turn scans into confirmed sales. Its value here is managing more placements and reviewing a longer period. Choose the plan for the workflow you need, then measure the outcome on your destination page.
Can I add tracking to a code already printed?
You cannot change the contents of a printed static QR pattern. If you control its destination website, that website can measure visits, but it may not distinguish QR traffic from other visits to the same address. Do not promise placement-level reporting for an old code unless the encoded URL already identifies that placement.
For a printed dynamic code, check which account and service controls it before changing anything. Keep its redirect active and test any destination change. For the underlying difference, read static versus dynamic QR codes.
The QR code tracking page covers the product side. Make a separate code for each placement, and keep the worksheet with the print files.
Create your first QR code.
Free tier. No signup required to start. Dynamic codes included.
Make a QR →