Offline Attribution with QR Codes: A Reporting Guide
By Diljit Ramachandran · Published · Last updated · 3 min read · AI-assisted guide
Offline attribution with QR codes connects a labelled physical placement to observed online activity: a QR interaction, a campaign-tagged session and, where measurement allows, a confirmed business action. Attribution assigns credit to recorded touchpoints; it does not prove how many sales would disappear without the placement.
This worksheet is for teams measuring flyers, packaging inserts and signs. Keep interaction counts, website records and confirmed outcomes separate. Record the reporting window and settings so later reviews use the same basis for comparison.
Three records, three questions
QR analytics records interaction with the managed destination. Website analytics records collected sessions and events. Business records confirm whether bookings or payments are valid. Consent, browser behaviour and collection failures can produce gaps between these layers.
| Layer | Question answered |
|---|---|
| Separate placement code | Which entry point was requested? |
| Tagged session | Which campaign labels accompanied the visit? |
| Confirmed booking | Was the defined action recorded and valid? |
A dynamic QR destination supports later URL changes. Static codes can also open tagged websites, but have no QRCodeStack scan reporting.
In QRCodeStack, each recorded scan of a dynamic code stores its time, device, operating system, browser, referrer and all five UTM parameters. The default People view leaves out bots, link-preview unfurls and repeat fires within seconds, so its totals are lower than raw hits. The UTM builder is on Pro and above.
Labelling and verifying each placement
Use a separate code per placement and consistent destination parameters. Google’s campaign URL guidance explains source, medium and campaign labels. Those labels do not install analytics or create completion events.
- Record each code and tagged destination in a campaign register.
- Scan the printed proof and check the final URL after redirects.
- Verify collected campaign traffic and complete an agreed test booking.
- Confirm the booking in business records and identify the test separately.
Use the UTM setup instructions for the product workflow. If an external form cannot provide completion records, document that measurement boundary.
How do you calculate cost per outcome?
Divide consistently defined campaign cost by confirmed outcomes under your reporting method. Keep the period, cost allocation and outcome definition visible.
Worked example with made-up figures: a flyer batch costs $240 and produces 8 confirmed bookings; a sign costs $90 and produces 5. Cost per booking is $30 and $18 respectively. The combined figure is ($240 + $90) ÷ (8 + 5) = $25.38.
These are illustrative calculations, not customer results. Bookings are not necessarily attended appointments or paid customers. Reconcile duplicates and cancellations before reporting a later business metric.
What attribution cannot tell you
Report observed paths without claiming incremental sales. Google describes attribution models as assigning touchpoint credit. Different audiences, exposure and placement duration limit direct comparisons; separate codes do not create a randomized test.
Budget for destination maintenance and continued service. QRCodeStack’s paid plans start at $9/month; live dynamic service requires an active trial or paid plan. After the trial, fund the subscription for material still circulating.
Give each placement its own code
Create one dynamic code per flyer, sign or insert, then compare each against confirmed bookings.
Start with one code per placementFree 7-day trial, no credit card, 5 dynamic codes. Paid plans start at $9/month, and live dynamic codes need an active plan.