How to Measure QR Code Marketing ROI and Attribute Offline Media to Online Conversions
To measure QR code marketing ROI, route each printed placement through a unique dynamic QR code carrying UTM parameters and a retargeting pixel, then divide the revenue attributed to those scans by the campaign’s total cost. The QR code is the bridge: it turns an anonymous flyer, billboard, or package into a trackable click with a timestamp, a location, a device, and a downstream conversion you can read in your analytics and ad platforms.
That single move closes the gap most marketing teams live with. Only 32% of marketers globally say they measure their media spending holistically across both digital and traditional channels — and just 23% in Europe (Nielsen, 2025). Print, out-of-home, and packaging sit squarely in that unmeasured majority. This guide shows how to move them out of it.
Key Takeaways
- A dynamic QR code with UTM tags plus a retargeting pixel is the cheapest, most reliable way to attribute offline media to online conversions.
- Track five metrics in order: total scans, unique scans, conversion rate, cost per acquisition (CPA), and return on ad spend (ROAS).
- ROI formula:
(Revenue attributed to scans − Campaign cost) ÷ Campaign cost × 100.- Pick an attribution model deliberately — last-touch undercredits print; position-based or data-driven models are fairer to top-of-funnel media.
- The most common mistake is one QR code across every channel: you lose the ability to compare placements.
Why print has been “blind spend” for so long
A digital ad reports impressions, clicks, and conversions the moment it runs. A billboard, a magazine insert, or a cereal box reports nothing. For decades the workaround was a vanity URL, a discount code, or a post-purchase survey question — each lossy, each easy for customers to ignore. The result is a structural blind spot: physical media still commands large budgets — US out-of-home advertising revenue hit a record $9.46 billion in 2025 (OAAA, 2025) — but its contribution to pipeline is mostly inferred, not measured.
QR codes change the economics of that problem because adoption is no longer a barrier. About 83.4 million US adult smartphone users scanned a QR code in 2022, a figure forecast to grow at an 8.7% compound annual rate to reach 42.6% of US smartphone users by 2025 (eMarketer via MediaPost, 2022). Scanning is now a default consumer behavior, which means a code on a poster is a viable, high-intent entry point rather than a novelty — and marketers know it: 46% already place QR codes on product packaging and 40% on print ads or in-store displays (Bitly, 2025).
What to measure: five metrics, in order
Measuring ROI is not one number. It is a short funnel, and each stage answers a different question.
| Metric | What it tells you | How to read it |
|---|---|---|
| Total scans | Raw reach and exposure | Volume signal; inflated by re-scans |
| Unique scans | Actual people reached | The true top-of-funnel number |
| Conversion rate | Quality of the audience and offer | Conversions ÷ unique scans |
| Cost per acquisition (CPA) | Efficiency of the spend | Campaign cost ÷ conversions |
| Return on ad spend (ROAS) | Revenue efficiency | Revenue ÷ campaign cost |
Total scans tell you the placement was seen and acted on. Unique scans strip out the same person scanning twice — the number you should compare against impressions. Conversion rate is where the offer and landing page get judged. CPA and ROAS translate everything into the language your CFO uses. QRPix scan analytics capture scans, unique scans, location, device, and time in real time, which gives you the first three rows without any extra instrumentation.
Static vs. dynamic: only one is measurable
A static QR code encodes the destination directly, so it can never be edited and reports nothing about who scanned it. A dynamic QR code points to a short redirect URL you control, which means you can change the destination after printing and log every scan. That editability is not theoretical: 69% of marketers update or redirect their dynamic codes at least monthly (Bitly, 2025). For attribution, dynamic is not a preference — it is a requirement. If you are weighing the two, our static vs. dynamic QR code comparison breaks down the trade-offs.
How to set up tracking: UTMs plus a pixel
Two layers do the work. UTMs tell your analytics where the visitor came from. The pixel tells the ad platforms who they are, so you can retarget and let those platforms attribute downstream conversions.
Step 1 — Tag the destination URL with UTMs
Every dynamic QR code should resolve to a URL carrying consistent UTM parameters:
https://yourbrand.com/offer
?utm_source=billboard
&utm_medium=ooh
&utm_campaign=spring_launch
&utm_content=times_square_panel_3
Keep a naming convention and stick to it. utm_content is where offline attribution gets granular: a distinct value per physical placement (panel, store, magazine, SKU) lets you compare locations against each other, not just channels.
Step 2 — Fire a retargeting pixel on the landing page
When the scanner lands, a Meta or Google pixel drops a cookie or matches the visitor. Now the person who scanned your packaging is in a retargeting audience — your printed media has become a measurable, addressable top-of-funnel. QRPix supports Meta and Google retargeting pixels on its dynamic codes natively, so the same scan that you count in analytics also feeds your ad platforms.
Step 3 — Define the conversion
Decide what counts: a purchase, a signup, a booking, an add-to-cart. Set it as a conversion event in GA4 and in the pixel. Without a defined conversion, you have traffic, not ROI.
A simple ROI formula, with a worked example
The formula is deliberately plain:
ROI (%) = (Revenue attributed to scans − Campaign cost) ÷ Campaign cost × 100
Consider a restaurant chain running a table-tent QR campaign to drive online orders. Here is the full calculation:
| Line item | Value |
|---|---|
| Campaign cost (printing + design) | $4,000 |
| Unique scans | 12,000 |
| Conversion rate to online order | 6% |
| Conversions (orders) | 720 |
| Average order value | $34 |
| Revenue attributed | $24,480 |
| CPA | $5.56 |
| ROAS | 6.1× |
| ROI | 512% |
Revenue is 720 × $34 = $24,480. ROI is ($24,480 − $4,000) ÷ $4,000 × 100 = 512%. The point is not the headline percentage — it is that every input is observed rather than estimated, so the result is a number you can defend in a budget review and improve campaign over campaign.
Choosing an attribution model
Attribution decides which touchpoint gets credit for a conversion. The model you pick changes how print looks on the scoreboard.
- Last-touch gives 100% of the credit to the final click before conversion. It systematically undercredits print and OOH, which usually sit early in the journey. Avoid it for top-of-funnel media.
- First-touch credits the first interaction. Generous to QR-driven discovery, but it ignores everything that closed the sale.
- Linear splits credit evenly across touchpoints. Simple and fairer to print than last-touch.
- Position-based (U-shaped) weights the first and last touch most heavily (often 40/40, with 20% spread between). A practical default when a scan kicks off the journey.
- Data-driven uses your platform’s modeling to assign fractional credit. Best when you have the volume to support it.
For a QR campaign whose whole purpose is to start the relationship, position-based or data-driven attribution will value the scan honestly. Last-touch will tell you print did nothing — which is the very illusion you are trying to escape.
Common mistakes that break QR attribution
- One QR code for everything. A single code across billboard, flyer, and package collapses three channels into one undifferentiated number. Use a distinct dynamic code (or at least a distinct
utm_content) per placement. A bulk QR code generator makes per-placement codes practical at scale. - Static codes. They cannot be edited or tracked. One typo in the URL and the whole print run is dead spend.
- No pixel. Without a retargeting pixel you measure the scan but forfeit the audience — the most valuable asset offline media can hand you.
- Counting total scans as people. Re-scans inflate the number. Report unique scans for reach.
- Undefined conversion. Traffic is not ROI. Tie every campaign to a revenue event before it prints.
- Last-touch by default. It buries the contribution of the media you are trying to prove out.
FAQ
How do I attribute an offline sale to a QR code?
Route the printed placement through a dynamic QR code whose destination URL carries UTM parameters and fires a retargeting pixel. The scan is logged with a timestamp, device, and location; the UTMs flow into your analytics; the conversion event ties the resulting purchase, signup, or booking back to that specific code and placement.
What is a good ROAS for a QR code campaign?
There is no universal number — it depends on your margins, average order value, and channel. The better approach is to make your first dynamic-QR campaign the baseline, then optimize toward the placements with the lowest CPA and highest ROAS. Because the codes are measurable rather than estimated, you are comparing real outcomes, not guesses.
Do I need dynamic QR codes, or will static ones work?
Static codes cannot be tracked or edited, so they cannot support attribution. Dynamic codes redirect through a URL you control, logging every scan and letting you change the destination after printing. For any ROI measurement, dynamic is required.
Which attribution model is best for offline media?
Avoid last-touch, which undercredits top-of-funnel print and OOH. Position-based (U-shaped) or data-driven models give fairer weight to the QR scan that often starts the customer journey.
Sources
- Nielsen, 2025 Annual Marketing Report (2025) — https://www.nielsen.com/news-center/2025/nielsen-releases-its-2025-annual-marketing-report-looking-at-the-power-of-data-driven-marketing/
- Outdoor Advertising Association of America (OAAA), OOH Advertising Revenue Reaches Record $9.46 Billion (2025) — https://oaaa.org/news/out-of-home-advertising-revenue-reaches-record-9-46-billion/
- eMarketer (Insider Intelligence), via MediaPost, QR Code Scanning Forecast (2022) — https://www.mediapost.com/publications/article/371193/
- Bitly, QR Code Statistics (2025) — https://bitly.com/blog/qr-code-statistics/