Company prints 5,000 flyers, distributes through 3 channels (street handouts, magazine insert, freebies), and at the end of the month the classic question: "which channel converted?" Without tracking, nobody knows. Next campaign decision is a guess.

QR Code solves this — but only if you do it the right way. This article shows the strategy: how to instrument each channel with a different QR, connect with Google Analytics, and measure CPA (cost per acquisition) by source.

The problem QR solves in offline marketing

Digital media is natively traceable: every click on Google Ads is recorded with source, device, geo. Offline media has historically been blind. How much did each lead from a magazine insert cost? Hard to say.

Dynamic QR Code becomes that bridge. Each scan is captured with:

  • Exact time
  • IP/city
  • Device (Android/iOS, brand)
  • Browser
  • Source (which flyer/channel — you control)

With this you compare: magazine insert = $500, generated 87 scans → CPA = $5.75. Street flyer = $300, generated 23 scans → CPA = $13.04. Channel 1 wins. Next month, double investment in the insert.

The golden rule: one QR per channel

The biggest temptation is to use the same QR on all channels. Don't do it. You lose the ability to compare.

Create a separate dynamic QR for each channel/piece:

  • code2scan.com/q/flyer-street → handed-out flyer
  • code2scan.com/q/insert-magazine → NYT magazine insert
  • code2scan.com/q/freebie-fair → mug distributed at fair X
  • code2scan.com/q/billboard-highway → highway billboard

All point to the same landing page, but each QR has a different URL. Result: you see how many scans came from each channel.

In the Code2Scan dashboard you see it like this:

QR Scans this month CPA
flyer-street 23 $13.04
insert-magazine 87 $5.75
freebie-fair 12 $20
billboard-highway 156 $13

Immediate insight: insert is winning.

Plus: instrument with UTM for Google Analytics

For complete insight, the destination URL the QR redirects to should have UTM parameters. Example:

https://mysite.com/promo?utm_source=qr_flyer_street&utm_medium=offline&utm_campaign=launch_jun26

In Google Analytics you see not just scans, but:

  • Bounce rate by channel (does channel X bring traffic that leaves fast?)
  • Pages visited
  • Conversions (if you have checkout/form)

Combination Code2Scan (scans) + GA (traffic quality) gives you the complete picture.

Strategy by media type

📰 Magazine/newspaper insert

  • QR minimum 2.5cm (1in) (read at ~30cm)
  • Put a clear call: "📱 Scan to get 20% OFF"
  • Use unique coupon per QR to incentivize scan
  • Print on the half-page, not on the edge (some readers cut the edge)

🚶 Street-handed flyer

  • QR minimum 2cm (0.8in) (read at 30cm with person stopped at the corner)
  • Catchy text on the front. QR on the back (doesn't pollute design)
  • Clear incentive: coupon, freebie, limited offer
  • Distribute at strategic times (subway exit, lunch hour)

🛋️ Direct mail (envelope in mailbox)

  • QR minimum 3cm (1.2in) (customer reads at home, more relaxed)
  • Good for subscription services, plans, financial
  • Include recipient name (personalized printing) — elevates engagement

🚌 Billboard / bus ad / outdoor media

  • QR minimum: viewing distance ÷ 10
  • Avenue billboard (15m distance) → QR 1.5m
  • Bus ad (5m while stopped at light) → 50cm
  • Simple designs, high contrast — customer has ~3 seconds to scan

🎁 Physical freebie (pen, mug, notebook)

  • QR minimum 1.5cm (0.6in) (small objects)
  • Use vCard or short link to profile/landing
  • Laminated/UV material to last (mug goes through dishwasher)
  • Laser application or high-quality silk

Practical ROI calculation

For each channel:

ROI = (Channel revenue attributed - Channel cost) / Channel cost × 100

Attributed revenue: you count at checkout how many conversions came from that QR's utm_source. Multiply by average ticket.

Example:

  • Magazine insert cost: $500
  • Scans: 87
  • Conversions (purchases): 12
  • Average ticket: $90
  • Revenue: $1,080
  • ROI: (1,080 - 500) / 500 × 100 = 116%

Insert returned 2.16× the investment. Continues in next campaign.

Common mistakes in print marketing with QR

  1. Same QR on all channels → you lose comparison
  2. Generic QR pointing to homepage → very low conversion. Always point to dedicated landing
  3. No clear offer/CTA → customer scans, doesn't see value, leaves
  4. QR without testing → high fail rate, customer gives up
  5. Not comparing month over month → you don't learn which channel scales

Campaign checklist

Before printing:

  • 1 dynamic QR per channel/piece
  • Each QR points to dedicated landing (not homepage)
  • Destination URL with complete UTM
  • QR size adequate for reading distance
  • Visible CTA next to QR
  • Test on 3 phones + weak light
  • Monitoring dashboard active

After 30 days:

  • Compare scans by channel
  • Cross-reference with conversions in GA
  • Calculate CPA per channel
  • Calculate ROI per channel
  • Decide budget reallocation

Summary

Offline marketing with dynamic QR Code = data that traditional media never gave you. The rule is simple: 1 QR per channel, each with a unique URL, all pointing to dedicated landing with UTM.

In 60 days you know exactly which channel is worth scaling.

Create dynamic QRs for your campaign — dashboard shows scans per QR in real time.