SmartQRCode
Pricing
  1. Home
  2. /Blog
  3. /How to run a QR code campaign
campaign strategy

How to run a QR code campaign

SmartQRCode editorial · Updated October 2026

How to run a QR code campaign starts with encoding class, not colour. Hosted versus static first decides whether you can retarget after ink and whether anyone can count scans. Then pick one destination per placement, print large enough, and keep a control card in a drawer. Test-scan the first batch before the rest of the run.

How to run a QR code campaign without reprinting the brief

This job is a print campaign that must still work on Tuesday when the landing page changes, or a one-shot poster that should never touch a server. Those are different generators. URL, WhatsApp, Google review, and location redirect through a 302. Landing-page types serve a page. Wi-Fi is static, not trackable, not editable after printing.

If you need product-launch URLs to move after cartons ship, use a hosted website or tracked hop. If you need a guest network join, print Wi-Fi and plan a reprint when the passphrase rotates.

Do not start in Canva and then "add tracking later." Static modules cannot grow a server hop. Do not start hosted for a single party poster you will never open analytics on. A free static generator is the right one-off there.

Scan totals show device type and country from headers. They cannot see a name or email. They are not people.

Build the campaign in this order

  1. Write the destination URL you want on day one and the URL you might need on day thirty. If those differ, you need hosted.
  2. Create one hosted code per placement you must measure separately. Two flyer designs that share one short URL cannot tell you which design won.
  3. Put UTM query strings on the hosted destination, not in a static payload. Hosted density stays on the short URL.
  4. Export SVG or a 300 dpi PNG of the final millimetres. Do not plate the on-screen preview; it encodes /qr-preview.
  5. Print a 2 cm or larger proof for table distance, larger for windows and roll-ups, and scan it on iOS Camera and Android Camera at the real standing distance.
  6. Keep one control card in a drawer. After you change a destination, scan that card on a phone with no old 301 cache.
  7. Decide pause versus archive before go-live. Pause can stop a hop. User-archived codes keep scanning.
  8. Brief staff that two tent cards in one camera frame return one symbol, not an average.

Skip a step and you reprint, or you trust a dashboard that cannot split the run.

Which destinations belong on hosted codes versus static files

Hosted belongs on anything that will change: a dynamic product page, a seasonal offer, a PDF menu, a review form that might get a new Place ID. The printed pattern stays. The 302 target moves. The trade is provider resolution: an unpaid invoice or a pause can stop a physically perfect print.

Static belongs on Wi-Fi and on throwaway URLs that will never be counted. Encoding a long UTM string into static modules raises version and shrinks each module inside the same box. That is how a "tracked" flyer becomes unread.

Do not mix a Wi-Fi join and a hosted menu on a 10 cm tent unless you accept mixed behaviour and mixed failure modes.

How scan counts differ from people who scanned

A public counter increments once per successful hop. The same person scanning twice is two scans. Country is header-level, not GPS. If your KPI is "unique humans," you need another system. QR analytics will not invent identity.

Print-run A/B tests need different hosted destinations or different codes. Two stylings of the same static URL cannot count which design was scanned.

Use the control card when a number looks impossible. A paused code and a dead destination both under-count. A second code in frame over-counts the neighbour.

Failure modes of a printed campaign week

The destination 404s after a CMS publish. A mixed-vendor 301 still caches last week's page on some iPhones. Someone archives leftover codes and is surprised they still hop. Someone pauses the live window cling. Thermal receipts fade. Gloss flares under a downlighter. Staff photograph a tent and reprint the photo.

None of those are colour problems. Walk the control card every morning of the campaign week. Type the URL as well as scanning it.

If you used 301 anywhere in the chain, later edits will not reach every phone. Keep this product's 302 path; do not put a CDN 301 in front of it.

Who owns the control card during campaign week

Campaign week failure modes cluster around ownership. If nobody owns the drawer card, destination edits happen in Slack and nobody scans. Assign a name. That person scans the control card after every save, on a phone that is not the office Wi-Fi iPad that already cached a 301 from a prior vendor.

Print a tiny run first. Fifty flyers, not five thousand. Scan five of them from different boxes. If one box fails, the RIP changed mid-job. Hosted destination edits will not fix a bad box. Reprint that box from vector.

Wi-Fi, if the campaign needs a join, is a parallel static workstream with its own reprint rule. Do not put it on the same brief line as the hosted offer. Two encodings, two owners, two test phones.

Keep scan redirects on 302 for the whole flight. If a tag manager or CDN injects a 301 in front of the landing page, some phones will freeze the first offer they saw. Type the destination after a save and look at the status. Then scan the control card on a fresh phone. If those disagree, the cache is in the chain, not in the ink. Fix the chain before you print the rest of the run.

One destination per placement still allows many copies. Eight thousand stickers can share a hop if you do not need to know which shop door they sat on. The moment you need that split, you need another hop. Create it before the second door's print file is packed. Test-scan both doors' control stickers so the files did not get swapped.

Export formats are PNG, JPG, SVG, and PDF. Commercial printers want SVG or a high-resolution PDF of the millimetre size that will ship. A phone screenshot of the dashboard is none of those. If the first box of flyers is already in a van, scan one before the rest of the drop. A single unread box is cheaper than a full recall. Hosted destination edits will not repair a plated screenshot. They will repair a live URL on a sharp plate. Know which problem you have before you send a second truck.

When a single Canva poster is the whole job

One event, one URL, no scan report, no edit. Export a high-contrast static square at real millimetres from Canva or iOS and put a line of type next to it. Do not open a hosted account to feel professional.

If that poster might become a 5,000-piece reprint with a new offer, start hosted now. The modules you print this afternoon are the ones you live with. Test-scan the first box before the rest of the run.

Questions this raises

When the destination will move, or you need scan totals. A URL that never changes and will never be counted can be a Canva or iOS static file.

Put query strings on the hosted destination. A hosted symbol density is the short URL. Encoding UTM into a static payload densifies the pattern.

A 301 from a mixed vendor caching the old landing page, a paused hop, two codes in one camera frame, or counting the same person twice as two people.

One poster, one URL that will not change, no scan report required. Hosting that throwaway is a subscription for a dashboard you will not open.

No. Scan counts measure scans, not people. The same person scanning twice is two scans on most public counters.

Keep going

The tools and playbooks this post refers to, one click away.

Generator

website generator

Open it
Generator

tracking generator

Open it
Generator

dynamic generator

Open it
Use case

product launches

Read the playbook
Guide

qr code campaign checklist

Read it
Guide

qr code campaign utm tags

Read it

Make the code this post is about

$1.99 for 7 days, then a paid plan. Pick a type, brand it, and edit the destination whenever you like, even after it is printed.

Create a QR codeSee pricing
SmartQRCode

Dynamic QR codes you can edit after printing, with scan analytics on every one. From a single table tent to a warehouse of asset tags. Pay once or subscribe.

Create a QR codeTalk about Business

QR code types

  • Website QR code
  • Menu QR code
  • WiFi QR code
  • PDF QR code
  • Business card QR code
  • WhatsApp QR code
  • Google review QR code
  • Event QR code
  • Location QR code

More QR codes

  • Text QR code
  • Image QR code
  • Video QR code
  • Social media QR code
  • App download QR code
  • Google Form QR code
  • Business profile QR code
  • All QR code types

Features

  • Dynamic QR codes
  • QR codes with tracking
  • QR code with logo
  • Custom QR code design
  • QR codes that never expire
  • One-time payment QR code
  • No-subscription QR codes
  • Unlimited-scan QR codes

Business

  • QR codes for business
  • Bulk QR code generator
  • QR code API
  • QR code webhooks
  • Custom scan domains
  • White label QR codes
  • Team accounts and roles
  • QR code management platform

Solutions

  • Restaurants
  • Retail
  • Events
  • Healthcare
  • Real estate
  • Hotels
  • All use cases

Resources

  • Guides
  • Compare QR generators
  • Static vs dynamic
  • QR code cost
  • Buy a QR code
  • Cheap QR codes
  • Pricing
  • Help centre
  • About us
  • Contact us
GDPR compliantSSL securedPrivacy first
Terms of servicePrivacy policySecurity·© 2026 SmartQRCode

QR Code is a registered trademark of DENSO WAVE INCORPORATED.