Which Printed Materials Get the Most QR Code Scans?
A business puts the same QR code on flyers, posters, and business cards, runs the campaign for a month, and stares at a total scan count with no idea where those numbers came from. Here's how to build the structure that fixes that — before the next print run goes out.
Sarah Johnson
Content Strategist
How do I measure which printed materials get the most QR code scans? It's a question that comes up constantly, and the answer usually exposes a setup problem most businesses don't realize they have. A business prints flyers, posters, and business cards, puts the same QR code on all three, runs the campaign for a month, and then stares at a total scan count with no idea where those numbers came from. Was it the flyer stack at the register? The poster in the window? Nobody knows, so nobody can act on it.
The problem isn't the print budget or the materials themselves. It's that one shared code collapses all your data into a single number you can't learn from. The fix is a system: assign a unique, trackable QR code to each printed piece, tag your destination URLs properly, and use a platform that feeds everything back to one dashboard. Once that structure is in place, every campaign gives you a per-format performance report instead of a mystery total. This guide walks through exactly how to build it, and how to measure QR code scans by printed material so your next print run is guided by real data.
Why reusing one QR code across all your printed materials ruins your data
When every printed piece points to the same QR code, every scan pools into one count. You might see 340 total scans after a four-week campaign, but there's no way to tell whether those came from the counter cards inside your store or the posters you placed in six neighborhood windows. That ambiguity doesn't just frustrate curiosity, it makes every budget decision a guess. You end up continuing to print everything because you can't prove which format is working.
This isn't a tool problem. It's a setup problem that exists before a single piece goes to print. The measurement system has to be designed before materials are distributed, not retrofitted after the campaign ends. The structure that fixes it is straightforward: one unique QR code per printed format, each pointing to a tagged destination URL, with all scan data feeding back to a central dashboard organized by source.
Once that structure is in place, vague totals turn into per-material performance reports. When you can see that your window posters are generating three times the scans per distributed copy compared to your counter flyers, you have something concrete to act on in the next print cycle.
Assigning a unique dynamic QR code to each printed piece
Each printed format reaches a different person in a different context with a different amount of time to scan. A flyer handed out at an event, a poster mounted in a storefront window, and a menu sitting on a restaurant table all carry different audience mindsets and dwell times. Treating them as the same channel because they share a destination creates an attribution blind spot: your data merges into one number that can't tell you what's actually working. Each format needs its own code, labeled clearly with the format type, location, and campaign name so reports stay readable when you're reviewing data months later.
Dynamic QR codes are the only practical choice for any ongoing print campaign. Static codes bake the destination into the code at print time, which means changing the URL requires reprinting everything. Dynamic codes use a redirect layer, so you can update the destination, swap landing pages mid-campaign, or fix a broken link without touching a single physical piece. For businesses running rolling campaigns or managing materials across multiple locations, that flexibility alone justifies the switch.
To make source-level attribution work at scale, you need a QR code management platform that handles per-code analytics and campaign organization out of the box. QR Breeze is built around exactly this workflow: each printed piece gets its own code tagged with a source label, Why Every Business Flyer Should Have a QR Code | QR Breeze, poster, billboard, menu, business card, and the platform tracks scan data at that source level automatically. Print run tracking is also built in, so you can log how many copies of a given piece were distributed and calculate an actual scan rate per piece, not just a raw count.
The scan analytics that reveal which formats are pulling their weight
Raw scan count is your baseline, but scan rate is the number that actually tells you how well a format converts. The formula is simple: scans divided by distributed copies, multiplied by 100. If 200 flyers generated 47 scans, your scan rate is 23.5%. If those same 200 flyers at a different location generated only 11 scans, that's 5.5%. That comparison is a specific, actionable finding, it tells you the downtown location is worth more print investment, or that something about the suburban context isn't working.
Time-of-day data adds useful context that's easy to overlook. A restaurant menu QR code gets scanned during lunch and dinner rushes; a gym flyer might spike on Monday mornings. Knowing when your audience scans tells you when they're most receptive, which informs both design decisions and distribution timing. Device breakdown matters too. If 85% of your scans come from iPhones but your landing page renders poorly on Safari mobile, you're losing conversions after the scan, not before it.
Location data is especially useful for multi-location businesses. If a citywide print run is performing well overall, geographic breakdown tells you whether that performance is spread evenly or if one neighborhood is carrying most of the weight. That insight directly changes how you allocate the next distribution run.
Tagging your landing pages so every scan tells a complete story
UTM parameters are the bridge between your QR code and your web analytics platform. For print campaigns, a clean naming convention works like this: utm_source carries the material type (poster, flyer, business-card), utm_medium stays fixed as "qr-code" across every printed piece so GA4 doesn't fragment your channel data, and utm_campaign identifies the specific initiative (summer-promo, grand-opening). Use utm_content when you're testing two design versions of the same material.
UTM naming convention for print QR codes
A practical example looks like this: utm_source=poster&utm_medium=qr-code&utm_campaign=summer-promo-2026. Keep everything lowercase, GA4 is case-sensitive, and mixing "Poster" and "poster" creates duplicate rows that inflate or fragment your reports. Avoid spaces and special characters; use hyphens or underscores instead. Document your approved naming list in a shared spreadsheet so everyone creating codes follows the same convention.
Before printing anything, test the full chain on a real device. Scan the code, confirm the UTM parameters appear in the URL bar on the landing page, and verify they show up in GA4's real-time report. Two common failure points: a redirect layer that rewrites the URL before GA4 loads, and a landing page that's missing the GA4 tag entirely. Both look like "scans with no data" in your dashboard. Both are fixable before materials go to press, and impossible to fix after 2,000 copies are already in the field.
Running a fair comparison test between two printed formats
If you want to know whether a poster outperforms a flyer in the same location, the test design matters as much as the result. Keep everything else identical: QR Code Coupon, Smarter Promotions, Zero Printing Costs | QR Breeze, same landing page, same audience segment, same distribution window, same tracking method. Change one variable. Run both versions simultaneously rather than weeks apart, because timing effects can skew results and make one format look better simply because it launched during a busier period.
Assign a distinct QR code to each version so scans are cleanly separated from day one. Decide on a fixed run length before you start, typically two to four weeks for local campaigns, and don't check results early. Stopping a test when one version briefly leads is a common mistake that produces false conclusions.
Sample size and benchmark expectations
Print tests require enough distributed copies to generate meaningful data. QR scan rates on most formats run in the low single digits, and industry data suggests direct mail pieces with a QR code see roughly 6.4% response rates, while in-hand formats like business cards can run higher depending on context. Small sample sizes produce directional results, not conclusive ones, and are worth replicating before you commit budget.
When both versions have run their course, compare scan rates using a two-proportion test. If your flyer (version A) generated 47 scans from 200 copies and your poster (version B) generated 29 scans from 200 copies, you calculate the proportions, compute a pooled proportion, and run a z-test to determine whether the difference is statistically real or within normal noise. If the p-value falls below 0.05, the result is significant at the 95% confidence level. If your sample sizes are small, treat the result as directional and repeat the test before acting on it.
Using scan data to make smarter print budget decisions
A scan rate in isolation doesn't tell you much without context. Oversized formats and personalized pieces tend to outperform standard letter-sized materials, while QR Code on Billboard, Make Every Impression Count | QR Breeze generate lower scan rates per impression but reach a much larger audience. The relevant comparison isn't billboard vs. flyer in raw scan numbers, it's cost-per-scan across formats, which requires knowing both the scan count and the total production and distribution cost for each piece.
QR code campaign tracking compounds in value over time. Run one campaign with properly tagged codes, collect scan data by format, identify the one or two formats with the best cost-per-scan, and reallocate the next print budget toward those. Retire formats that consistently underperform, or test a redesign before cutting them entirely. After two or three campaign cycles, you'll have your own baseline scan rates for your specific audience, locations, and materials, benchmarks that make every future print decision faster and more confident than any industry average could.
Putting the system to work
So how do you measure which printed materials get the most QR code scans? It comes down to one discipline: every piece gets its own code, and every code feeds data back to a single source of truth. From there, QR code analytics do the work. Scan volume, device type, time of day, and geographic location combine to paint a clear picture of where your print budget is earning its place.
QR Breeze handles source-level attribution and print run tracking automatically, so the measurement infrastructure is in place from the moment you create your first code, no manual data stitching after the campaign ends, no spreadsheet archaeology to figure out which format drove which result. The free plan gives you enough to run your first properly tracked campaign and see what the data actually looks like.
Find the formats that convert, measure QR code scans by printed material with every campaign, and let the data drive where the next print run goes. After a cycle or two, you'll trade guesswork for a system that gets sharper every time you use it.
Enjoyed this article?
Share it with your network
Was this article helpful?
Let us know if this article was useful to you
Written by
Sarah Johnson
Content Strategist
Sarah is a content strategist with 8+ years of experience in digital marketing. She specializes in helping businesses leverage technology to improve customer experiences.




