nature, wooden, qr code, botany, growth, qr code, qr code, qr code, qr code, qr code. Track QR codes on printed materials: scan metrics
Photo by viarami on Pixabay

Guides

Track QR codes on printed materials: scan metrics

Track QR codes on printed materials with scan-rate math, response metrics and a fixed campaign window for deciding what to change next.

What to take away

  • Scan rate is the metric that earns a decisionunique scans divided by pieces delivered, inside a fixed window.
  • Below 0.5 percent after 1,000 pieces and 14 days, change the offer or the placement, not the medium.
  • A scan proves a device opened a link. It says nothing about reading, keeping or trusting the printed piece.
  • One campaign, one code, one destination. Extra codes split a small number into two useless numbers.
  • Stop crediting a printed piece after about 30 days. Later scans come from somewhere else.

Scan rate, defined

A QR code is a printed address. It encodes a URL, and each scan sends a request to a server you control. That is how a sheet of paper produces a countable event. The QR code article covers versions and error correction if you want the mechanics.

Four metrics to read

  • Scan rateunique scans divided by pieces delivered
  • First-time scan sharedevices new to this campaign
  • Destination completionscanners who reach the page
  • Redirect failure ratescans that never load

Scan rate and its inputs

  • Unique scanscountable events from printed codes
  • Pieces deliveredthe only honest denominator
  • Scan rateunique scans divided by pieces delivered
  • 14 daysread the rate after the drop

Scan rate is unique scans divided by pieces delivered, shown as a percentage. Count delivered pieces, not printed ones. Spoiled runs, returned mail and boxes still in a storeroom are not exposure. Folding them into the denominator hides a real result.

MetricDefinitionRead it at
Scan rateUnique scans divided by pieces delivered14 days after the drop
First-time scan shareDevices not seen in your previous campaign14 days after the drop
Destination completionScanners who reach the named page or form30 days
Redirect failure rateScans that never load the destinationAlert at 2 percent

How to read the numbers

Compare this drop with your own earlier drops before you compare it with anything published. Your list, your offer and your zip codes move the number more than the design does. For cold household distribution, a scan rate inside a rough 0.5 to 5 percent band is common. Treat that band as illustrative rather than as a target.

Cold household scan rate band

  • 0.5percentLow end
  • 5percentHigh end

A scan shows that a printed piece reached a hand and the offer survived the trip to a camera. It does not show that the offer was any good.

Warm lists and hand-delivered pieces behave differently, so keep the comparison inside one channel. Direct mail marketing covers the response windows around a drop, which helps when a code is one signal among several.

What the code cannot tell you

The metric counts devices, not people: one keen reader can scan twice, and a lobby poster collects scans from people who never touched your flyer. It misses those who typed the address, called the number, or walked into the store.

Whatever the landing page claims, the FTC's advertising and marketing guidance applies, and a printed promise needs substantiation behind it.

Attribution and its limits

UTM parameters for QR codes on flyers do the sorting. Source, medium, campaign and content let one analytics property separate a mailed flyer from a poster in the same month. The campaign URL builder builds the tagged link. Tag the code before it goes to the printer, because a live code cannot be retagged.

Cross-device behaviour defeats a fair share of this. A person scans on a phone and buys on a laptop, and the analytics tool credits the laptop session. Nothing in the code joins the two. A QR code also inherits the last-click problem: it takes credit as the final touch and none when it started the search.

When to stop measuring and decide

Set the decision date before the drop. Fourteen days works for a household mailing. At that point, a scan rate below 0.5 percent on a run of 1,000 pieces or more points at the call to action or the placement. Change one of those on the next wave rather than adding a second code to the same sheet.

Above the band, add pieces in the same channel and hold the offer fixed. Keep counting until day 30, then close the campaign.

A scan in month three came from a pinboard, a waiting room or a reprint. If you weigh QR scans against coupons, calls and door codes, the offline campaign measurement guide sets out the other signals and their trade-offs.

Example: 62 scans on 10,000 flyers

A 10,000 piece apartment drop returned 62 unique scans in 14 days. Scan rate: 0.62 percent. First-time share: 88 percent. Destination completion: 34 percent. Redirect failures stayed under 1 percent.

The reading was narrow. The code and placement worked because people scanned, but the offer did not: two thirds of scanners left the landing page without filling the form.

The next wave changed the offer and reprinted the same artwork. Before a reprint, check that artwork against the marketing collateral checklist, since a reprint fixes print faults and never fixes an offer.

Common questions

What counts as a unique scan?
One scan per device per campaign window, as recorded by your redirect service or analytics property. Fix the rule before the drop and apply it to every wave, or the trend line becomes noise.
Do codes on posters behave like codes on mail?
No. A poster is a shared surface with no addressee, so one code can collect scans from strangers. The outdoor advertising overview explains how placement and size shape who walks past.
Does a text message code change the rules?
Yes. If the code opens an SMS signup, marketing texts need prior express written consent under FCC rules, plus a clear way to stop. Keep that language beside the code.
How long should a code stay live?
Keep it live for the campaign window plus 30 days, then retire it. Dead codes in the wild create redirect failures you cannot explain later.

More in Guides

Latest from Method Desk