Guide

The complete QR code campaign guide

Everything between “let's put a QR code on it” and a campaign you can actually judge: choosing the right kind of code, building a destination worth scanning, printing it properly, and reading the numbers without fooling yourself.

9 min read

  • Plan → print → measure
  • No jargon
On this page
  1. Chapter 1: Static or dynamic — settle it first
  2. Chapter 2: Pick the code type that matches the job
  3. Chapter 3: Build a destination that converts
  4. Chapter 4: Placement, size, and the words next to the code
  5. Chapter 5: Measure with scan analytics — honestly
  6. Chapter 6: Maintain the campaign after launch
  7. A campaign workflow that holds up
  8. Pre-launch checklist

Chapter 1: Static or dynamic — settle it first

The first decision shapes every other one: does the code carry the destination itself, or a redirect you control? A static code bakes the link directly into the pattern. It is free, it works forever, and it can never be changed — if the URL moves, every printed piece is waste. A dynamic code encodes a short redirect instead, so you can edit the destination at any point after printing, and every scan can be counted because it passes through the redirect.

For a campaign, that difference is rarely a close call. Campaigns change: the offer ends, the landing page moves, a typo surfaces after the posters are up. Campaigns also need to be judged, and only a dynamic code produces scan analytics — a static code is invisible once it leaves the printer. Reserve static codes for things that genuinely never change and never need measuring, such as a Wi-Fi code taped to a router. For anything with a budget, a deadline, or a boss who will ask “did it work?”, use dynamic. The full trade-off, including cost and ownership questions, is covered in our static vs dynamic guide.

Chapter 2: Pick the code type that matches the job

A QR code type is just a preset for what happens after the scan, so pick it by the action you want people to take. If the goal is a page visit, a website code is the default. If the asset is a document — a brochure, a price list, a manual — a PDF code serves the file directly without you building a page for it. Restaurants get a purpose-built menu code; promotions can run on a coupon code with a redeemable offer; a feedback code collects ratings at the moment of the experience, which is when people are actually willing to give them.

Two types deserve special mention for campaigns. An app code routes each scanner to the right store for their device, so one printed code works for both iOS and Android. And if you have no destination page at all, a hosted landing page code gives you a simple mobile page without involving a developer. The wrong type is not fatal — most of them resolve to a link in the end — but the right one removes steps between the scan and the action, and every removed step is fewer people lost.

Chapter 3: Build a destination that converts

Most “the QR campaign failed” stories are really “the destination failed” stories. The scan happens on a phone, often outdoors, often on mobile data — so the page must be mobile-first, fast, and immediately recognisable as the thing the print promised. If the poster says “scan for the menu”, the scan must land on the menu: not the homepage, not a cookie wall with the menu three taps away.

Give the page one job. A campaign destination with a single clear action — book, order, download, follow — will beat a general-purpose page every time, because the scanner already showed intent by pulling out their phone. Purpose-built mobile landing pages exist for exactly this: one screen, one action, no navigation to wander off into. Whatever you use, keep the printed promise, the page headline, and the button label telling the same story.

Finally, remember that the scan is not the conversion. The form submission, order, or booking happens on the destination, and that system — your shop, your booking tool, your CRM — remains the source of truth for results. Test the whole path end to end before printing: scan, land, act, confirm.

Chapter 4: Placement, size, and the words next to the code

A code earns scans when three things line up: people can reach it, people have time for it, and people know why they would bother. Placement covers the first two. Codes at eye level in places where people wait — table tents, queue areas, posters by the lift — outperform codes people walk past. Packaging works because the product is already in someone's hands. Moving placements are the hardest: a code on a vehicle is only scannable when the vehicle is parked.

Size follows distance. The working rule is minimum width ≈ farthest scan distance ÷ 10 — about 2 cm on a business card, 10 cm in a shop window. Our size guide has a placement-by-placement table; when in doubt, round up and keep the quiet zone clear.

The third condition is the one most campaigns skip: the printed instruction. A bare code is a puzzle; a code with “Scan to get 10% off” is an offer. Write one short line with a verb and a benefit, specific to the destination. A call-to-action frame around the code does the same work visually. Never make people guess what a scan buys them.

Chapter 5: Measure with scan analytics — honestly

Scan analytics answer a narrow question well: which placements got attention, when, and roughly where. A dynamic code records total and unique scans, daily trends, country-level location, and device type — aggregate signals, not identities. You will never see who scanned, and any vendor implying otherwise is overselling.

The structure of your codes decides whether the numbers mean anything. Create one code per placement — one for the flyer, one for the poster, one for the magazine ad — because a single code reused everywhere can tell you activity happened but never where. Name each code for its placement, and add consistent UTM parameters so scans arrive in your web analytics labelled like any other channel. This per-piece setup is the whole trick behind tracking print campaigns.

Then read the numbers honestly. A scan proves attention, not a sale — pair scan counts with conversions from the destination system before declaring victory. Be careful with small numbers: a placement with 9 scans is not “80% better” than one with 5. And export the data you care about (CSV works everywhere) so your record outlives any retention window on your plan.

Chapter 6: Maintain the campaign after launch

A campaign does not end at launch; printed codes stay in the world long after the marketing calendar moves on. Three habits keep them from becoming liabilities.

Ownership. Write down who owns each code, what it points to, and where it is printed — outside the design file, somewhere the team can find it. Codes organised with folders and tags by campaign are much easier to hand over when people change roles.

Reviews. Put a recurring reminder in the calendar to scan your own live codes and confirm each one still lands where it should. Destinations rot: pages get moved, offers expire, domains lapse. A quarterly ten-minute check costs nothing; a poster pointing at a dead page for six months costs trust. While you are at it, check the physical print for the sticker-over-the-code tampering described in our security guide.

Retirement. When a campaign ends, decide deliberately what old codes should do. Re-point them to a current page, set an expiration with a graceful fallback, or archive them — anything but silently letting them 404. Whether codes “expire” on their own is a common worry; the short answer (covered here) is that the pattern never expires, but destinations do.

QR code campaign FAQ

Do I really need dynamic codes for a campaign?

Almost always. A campaign needs two things a static code cannot give you: the ability to change the destination after printing, and scan analytics to judge results. Static codes suit permanent, unmeasured uses — a Wi-Fi code on the wall — not campaigns.

How many codes should one campaign use?

One per placement you want to compare — each flyer run, poster site, or ad gets its own. A single code reused everywhere can only tell you that scans happened, never which placement earned them.

What is a good scan rate?

There is no honest universal benchmark — scan rates depend on placement, dwell time, offer, and audience. Compare your own placements against each other and against your own past campaigns; that comparison is the number that supports a decision.

Should I reuse a code for the next campaign?

You can re-point a dynamic code any time, but its scan history then mixes both campaigns. When clean comparison matters, retire the old code gracefully and create a fresh one — codes are cheap, muddled data is not.

What should the text next to the code say?

A verb and a benefit, specific to the destination: “Scan to see the menu”, “Scan for 10% off”, “Scan to book a demo”. A bare code with no explanation asks people to gamble their attention on a mystery.

What happens to printed codes when the campaign ends?

They keep getting scanned, so decide their fate deliberately: re-point them to a current page, set an expiration with a friendly fallback, or archive them. The one wrong answer is letting them quietly point at a dead page.

Run your next campaign on codes you can change

Create dynamic QR codes with per-placement analytics, edit destinations after printing, and see which pieces actually pull.